From 375a20e49b593c57bf55c2f0ba512cf346d09ffe Mon Sep 17 00:00:00 2001 From: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Date: Mon, 14 Jun 2021 21:03:53 +0100 Subject: [PATCH] Refactors most spans into span procs (#59645) Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs. Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines. Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing. Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc. (Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such) --- code/__DEFINES/tgs.config.dm | 2 +- code/__HELPERS/areas.dm | 10 +- code/__HELPERS/game.dm | 8 +- code/__HELPERS/hearted.dm | 2 +- code/__HELPERS/mobs.dm | 6 +- code/__HELPERS/priority_announce.dm | 6 +- code/__HELPERS/roundend.dm | 34 +- code/__HELPERS/span.dm | 228 +++++++ code/_onclick/cyborg.dm | 2 +- code/_onclick/hud/action_button.dm | 14 +- code/_onclick/hud/alert.dm | 6 +- code/_onclick/hud/hud.dm | 4 +- code/_onclick/hud/pai.dm | 4 +- code/_onclick/hud/robot.dm | 2 +- code/_onclick/hud/screen_objects.dm | 22 +- code/_onclick/item_attack.dm | 12 +- code/_onclick/other_mobs.dm | 6 +- code/_onclick/telekinesis.dm | 4 +- code/controllers/failsafe.dm | 24 +- code/controllers/master.dm | 8 +- code/controllers/subsystem.dm | 2 +- code/controllers/subsystem/air.dm | 2 +- code/controllers/subsystem/augury.dm | 4 +- code/controllers/subsystem/blackmarket.dm | 6 +- code/controllers/subsystem/dbcore.dm | 2 +- code/controllers/subsystem/eigenstate.dm | 2 +- code/controllers/subsystem/job.dm | 8 +- code/controllers/subsystem/mapping.dm | 14 +- code/controllers/subsystem/pai.dm | 4 +- code/controllers/subsystem/server_maint.dm | 4 +- code/controllers/subsystem/shuttle.dm | 8 +- code/controllers/subsystem/ticker.dm | 36 +- code/controllers/subsystem/vote.dm | 8 +- code/datums/achievements/_awards.dm | 2 +- code/datums/action.dm | 16 +- code/datums/ai/_item_behaviors.dm | 4 +- code/datums/ai/cursed/cursed_controller.dm | 4 +- code/datums/ai/dog/dog_behaviors.dm | 12 +- code/datums/ai/dog/dog_controller.dm | 18 +- code/datums/ai/generic_actions.dm | 6 +- code/datums/ai/monkey/monkey_behaviors.dm | 6 +- .../vending_machine_behaviors.dm | 2 +- .../robot_customer_controller.dm | 2 +- code/datums/ai_laws.dm | 2 +- code/datums/brain_damage/creepy_trauma.dm | 6 +- code/datums/brain_damage/hypnosis.dm | 8 +- code/datums/brain_damage/imaginary_friend.dm | 18 +- code/datums/brain_damage/magic.dm | 4 +- code/datums/brain_damage/mild.dm | 10 +- code/datums/brain_damage/phobia.dm | 14 +- code/datums/brain_damage/severe.dm | 30 +- code/datums/brain_damage/special.dm | 22 +- code/datums/brain_damage/split_personality.dm | 22 +- code/datums/browser.dm | 2 +- code/datums/components/acid.dm | 16 +- code/datums/components/armor_plate.dm | 18 +- code/datums/components/butchering.dm | 32 +- code/datums/components/chasm.dm | 10 +- .../components/container_item/tank_holder.dm | 4 +- code/datums/components/crafting/crafting.dm | 4 +- code/datums/components/crafting/recipes.dm | 4 +- code/datums/components/curse_of_hunger.dm | 12 +- .../components/customizable_reagent_holder.dm | 4 +- code/datums/components/deadchat_control.dm | 16 +- code/datums/components/dejavu.dm | 2 +- code/datums/components/egg_layer.dm | 8 +- code/datums/components/electrified_buckle.dm | 6 +- code/datums/components/embedded.dm | 30 +- code/datums/components/fantasy/_fantasy.dm | 4 +- code/datums/components/food/edible.dm | 38 +- .../components/food/ice_cream_holder.dm | 6 +- code/datums/components/fullauto.dm | 2 +- code/datums/components/gps.dm | 10 +- code/datums/components/grillable.dm | 8 +- code/datums/components/gunpoint.dm | 42 +- code/datums/components/heirloom.dm | 6 +- code/datums/components/itempicky.dm | 2 +- code/datums/components/jousting.dm | 2 +- code/datums/components/knockoff.dm | 4 +- code/datums/components/label.dm | 4 +- code/datums/components/manual_blinking.dm | 8 +- code/datums/components/manual_breathing.dm | 8 +- code/datums/components/material_container.dm | 12 +- code/datums/components/mood.dm | 40 +- code/datums/components/nanites.dm | 34 +- code/datums/components/omen.dm | 14 +- code/datums/components/orbiter.dm | 2 +- code/datums/components/payment.dm | 18 +- code/datums/components/pellet_cloud.dm | 16 +- code/datums/components/radioactive.dm | 2 +- code/datums/components/religious_tool.dm | 12 +- code/datums/components/remote_materials.dm | 4 +- code/datums/components/riding/riding_mob.dm | 26 +- .../components/riding/riding_vehicle.dm | 24 +- code/datums/components/rotation.dm | 4 +- code/datums/components/shell.dm | 8 +- code/datums/components/shielded.dm | 6 +- code/datums/components/shrink.dm | 8 +- code/datums/components/shy.dm | 2 +- code/datums/components/shy_in_room.dm | 2 +- code/datums/components/slippery.dm | 2 +- code/datums/components/spawner.dm | 2 +- code/datums/components/spooky.dm | 8 +- code/datums/components/stationloving.dm | 2 +- .../storage/concrete/bag_of_holding.dm | 2 +- .../components/storage/concrete/bluespace.dm | 2 +- .../components/storage/concrete/pockets.dm | 4 +- .../components/storage/concrete/rped.dm | 4 +- .../storage/concrete/trading_cards.dm | 6 +- .../components/storage/concrete/wallet.dm | 2 +- .../datums/components/storage/food_storage.dm | 24 +- code/datums/components/storage/storage.dm | 60 +- code/datums/components/summoning.dm | 2 +- code/datums/components/surgery_initiator.dm | 18 +- code/datums/components/swabbing.dm | 12 +- code/datums/components/tackle.dm | 64 +- code/datums/components/tameable.dm | 4 +- code/datums/components/technointrovert.dm | 2 +- code/datums/components/technoshy.dm | 2 +- code/datums/components/tether.dm | 4 +- code/datums/components/trapdoor.dm | 40 +- code/datums/components/twohanded.dm | 20 +- code/datums/components/udder.dm | 14 +- code/datums/components/uplink.dm | 8 +- code/datums/dash_weapon.dm | 2 +- .../datums/diseases/advance/symptoms/beard.dm | 2 +- .../diseases/advance/symptoms/chills.dm | 4 +- .../diseases/advance/symptoms/choking.dm | 14 +- .../diseases/advance/symptoms/confusion.dm | 4 +- .../diseases/advance/symptoms/deafness.dm | 6 +- .../advance/symptoms/disfiguration.dm | 4 +- .../datums/diseases/advance/symptoms/dizzy.dm | 4 +- .../datums/diseases/advance/symptoms/fever.dm | 4 +- code/datums/diseases/advance/symptoms/fire.dm | 16 +- .../diseases/advance/symptoms/flesh_eating.dm | 8 +- .../diseases/advance/symptoms/genetics.dm | 2 +- .../diseases/advance/symptoms/hallucigen.dm | 12 +- .../diseases/advance/symptoms/headache.dm | 6 +- code/datums/diseases/advance/symptoms/heal.dm | 26 +- .../diseases/advance/symptoms/itching.dm | 2 +- .../diseases/advance/symptoms/narcolepsy.dm | 12 +- .../diseases/advance/symptoms/oxygen.dm | 2 +- .../diseases/advance/symptoms/sensory.dm | 6 +- .../diseases/advance/symptoms/shedding.dm | 6 +- code/datums/diseases/advance/symptoms/skin.dm | 2 +- .../diseases/advance/symptoms/vision.dm | 10 +- .../diseases/advance/symptoms/voice_change.dm | 2 +- .../datums/diseases/advance/symptoms/vomit.dm | 2 +- .../diseases/advance/symptoms/weight.dm | 4 +- .../datums/diseases/advance/symptoms/youth.dm | 10 +- code/datums/diseases/anxiety.dm | 18 +- code/datums/diseases/appendicitis.dm | 2 +- code/datums/diseases/beesease.dm | 16 +- code/datums/diseases/brainrot.dm | 12 +- code/datums/diseases/cold.dm | 12 +- code/datums/diseases/cold9.dm | 10 +- code/datums/diseases/decloning.dm | 6 +- code/datums/diseases/dna_spread.dm | 8 +- code/datums/diseases/fake_gbs.dm | 2 +- code/datums/diseases/flu.dm | 12 +- code/datums/diseases/fluspanish.dm | 4 +- code/datums/diseases/gastrolisis.dm | 14 +- code/datums/diseases/gbs.dm | 4 +- code/datums/diseases/heart_failure.dm | 14 +- code/datums/diseases/magnitis.dm | 10 +- code/datums/diseases/parasitic_infection.dm | 10 +- code/datums/diseases/parrotpossession.dm | 2 +- code/datums/diseases/pierrot_throat.dm | 6 +- code/datums/diseases/retrovirus.dm | 24 +- code/datums/diseases/rhumba_beat.dm | 10 +- code/datums/diseases/transformation.dm | 14 +- code/datums/diseases/tuberculosis.dm | 22 +- code/datums/diseases/wizarditis.dm | 6 +- code/datums/dna.dm | 32 +- code/datums/elements/art.dm | 10 +- code/datums/elements/bed_tucking.dm | 2 +- code/datums/elements/caltrop.dm | 4 +- code/datums/elements/cleaning.dm | 2 +- code/datums/elements/climbable.dm | 14 +- code/datums/elements/curse_announcement.dm | 2 +- code/datums/elements/easily_fragmented.dm | 2 +- code/datums/elements/embed.dm | 2 +- code/datums/elements/eyestab.dm | 22 +- code/datums/elements/food/dunkable.dm | 8 +- code/datums/elements/food/food_trash.dm | 4 +- code/datums/elements/food/processable.dm | 4 +- code/datums/elements/kneejerk.dm | 16 +- code/datums/elements/light_eaten.dm | 4 +- code/datums/elements/light_eater.dm | 6 +- code/datums/elements/ridable.dm | 22 +- code/datums/elements/selfknockback.dm | 2 +- code/datums/elements/skittish.dm | 4 +- code/datums/elements/squashable.dm | 10 +- code/datums/elements/strippable.dm | 20 +- code/datums/elements/weapon_description.dm | 12 +- code/datums/emotes.dm | 10 +- code/datums/helper_datums/teleport.dm | 2 +- code/datums/holocall.dm | 4 +- code/datums/keybinding/mob.dm | 4 +- code/datums/mapgen/CaveGenerator.dm | 2 +- code/datums/martial/boxing.dm | 22 +- code/datums/martial/cqc.dm | 82 +-- code/datums/martial/krav_maga.dm | 62 +- code/datums/martial/mushpunch.dm | 16 +- code/datums/martial/plasma_fist.dm | 32 +- code/datums/martial/psychotic_brawl.dm | 18 +- code/datums/martial/sleeping_carp.dm | 52 +- code/datums/martial/wrestling.dm | 112 ++-- code/datums/mind.dm | 20 +- .../mood_events/generic_negative_events.dm | 6 +- .../mood_events/generic_positive_events.dm | 2 +- code/datums/mutations/_mutations.dm | 2 +- code/datums/mutations/actions.dm | 44 +- code/datums/mutations/antenna.dm | 18 +- code/datums/mutations/body.dm | 40 +- .../mutations/holy_mutation/burdened.dm | 24 +- .../mutations/holy_mutation/honorbound.dm | 38 +- code/datums/mutations/hulk.dm | 46 +- code/datums/mutations/sight.dm | 2 +- code/datums/mutations/speech.dm | 2 +- code/datums/mutations/touch.dm | 8 +- code/datums/quirks/_quirk.dm | 2 +- code/datums/quirks/negative.dm | 18 +- code/datums/quirks/neutral.dm | 4 +- code/datums/saymode.dm | 4 +- code/datums/skills/_skill.dm | 32 +- code/datums/skills/gaming.dm | 6 +- code/datums/status_effects/buffs.dm | 32 +- code/datums/status_effects/debuffs.dm | 58 +- code/datums/status_effects/drug_effects.dm | 4 +- code/datums/status_effects/gas.dm | 8 +- code/datums/status_effects/neutral.dm | 48 +- code/datums/status_effects/wound_effects.dm | 4 +- code/datums/tgs_event_handler.dm | 6 +- code/datums/wires/_wires.dm | 6 +- code/datums/wires/mulebot.dm | 10 +- code/datums/wires/robot.dm | 8 +- code/datums/wires/roulette.dm | 6 +- code/datums/wires/syndicatebomb.dm | 26 +- code/datums/world_topic.dm | 4 +- code/datums/wounds/_wounds.dm | 6 +- code/datums/wounds/bones.dm | 84 +-- code/datums/wounds/burns.dm | 56 +- code/datums/wounds/loss.dm | 2 +- code/datums/wounds/pierce.dm | 18 +- code/datums/wounds/scars/_scars.dm | 8 +- code/datums/wounds/slash.dm | 30 +- code/game/area/areas/shuttles.dm | 4 +- code/game/atoms.dm | 24 +- code/game/atoms_movable.dm | 14 +- .../game/gamemodes/dynamic/ruleset_picking.dm | 4 +- code/game/gamemodes/game_mode.dm | 8 +- code/game/gamemodes/objective.dm | 2 +- code/game/machinery/PDApainter.dm | 16 +- code/game/machinery/Sleeper.dm | 16 +- code/game/machinery/_machinery.dm | 36 +- code/game/machinery/accounting.dm | 8 +- code/game/machinery/ai_slipper.dm | 10 +- code/game/machinery/announcement_system.dm | 8 +- code/game/machinery/aug_manipulator.dm | 20 +- code/game/machinery/autolathe.dm | 8 +- code/game/machinery/bank_machine.dm | 2 +- code/game/machinery/bounty_board.dm | 6 +- code/game/machinery/buttons.dm | 28 +- code/game/machinery/camera/camera.dm | 58 +- code/game/machinery/camera/camera_assembly.dm | 48 +- code/game/machinery/camera/motion.dm | 2 +- code/game/machinery/camera/tracking.dm | 8 +- code/game/machinery/canister_frame.dm | 20 +- code/game/machinery/cell_charger.dm | 16 +- code/game/machinery/civilian_bounties.dm | 28 +- code/game/machinery/computer/Operating.dm | 6 +- code/game/machinery/computer/_computer.dm | 6 +- code/game/machinery/computer/aifixer.dm | 22 +- code/game/machinery/computer/apc_control.dm | 2 +- code/game/machinery/computer/arcade/arcade.dm | 32 +- code/game/machinery/computer/arcade/orion.dm | 20 +- .../machinery/computer/arcade/orion_event.dm | 18 +- code/game/machinery/computer/arena.dm | 16 +- code/game/machinery/computer/atmos_alert.dm | 4 +- code/game/machinery/computer/atmos_control.dm | 2 +- .../game/machinery/computer/buildandrepair.dm | 38 +- .../machinery/computer/camera_advanced.dm | 10 +- .../game/machinery/computer/communications.dm | 48 +- code/game/machinery/computer/dna_console.dm | 58 +- .../machinery/computer/launchpad_control.dm | 10 +- code/game/machinery/computer/law.dm | 14 +- code/game/machinery/computer/mechlaunchpad.dm | 14 +- code/game/machinery/computer/medical.dm | 2 +- code/game/machinery/computer/pod.dm | 2 +- .../machinery/computer/prisoner/_prisoner.dm | 14 +- .../computer/prisoner/gulag_teleporter.dm | 8 +- .../machinery/computer/prisoner/management.dm | 6 +- code/game/machinery/computer/robot.dm | 20 +- code/game/machinery/computer/security.dm | 14 +- code/game/machinery/computer/teleporter.dm | 2 +- code/game/machinery/computer/warrant.dm | 8 +- code/game/machinery/constructable_frame.dm | 50 +- code/game/machinery/cryopod.dm | 30 +- code/game/machinery/dance_machine.dm | 14 +- code/game/machinery/defibrillator_mount.dm | 58 +- code/game/machinery/deployable.dm | 12 +- code/game/machinery/dish_drive.dm | 20 +- code/game/machinery/dna_scanner.dm | 20 +- code/game/machinery/doors/airlock.dm | 222 +++---- .../machinery/doors/airlock_electronics.dm | 2 +- code/game/machinery/doors/brigdoors.dm | 2 +- code/game/machinery/doors/door.dm | 14 +- code/game/machinery/doors/firedoor.dm | 100 +-- code/game/machinery/doors/poddoor.dm | 26 +- code/game/machinery/doors/windowdoor.dm | 18 +- code/game/machinery/doppler_array.dm | 8 +- code/game/machinery/droneDispenser.dm | 22 +- code/game/machinery/electrolyzer.dm | 10 +- .../embedded_controller/access_controller.dm | 6 +- code/game/machinery/fat_sucker.dm | 36 +- code/game/machinery/firealarm.dm | 44 +- code/game/machinery/flasher.dm | 20 +- code/game/machinery/gulag_item_reclaimer.dm | 2 +- code/game/machinery/gulag_teleporter.dm | 16 +- code/game/machinery/harvester.dm | 22 +- code/game/machinery/hologram.dm | 22 +- code/game/machinery/hypnochair.dm | 18 +- code/game/machinery/igniter.dm | 4 +- code/game/machinery/iv_drip.dm | 40 +- code/game/machinery/launch_pad.dm | 22 +- code/game/machinery/limbgrower.dm | 16 +- code/game/machinery/mass_driver.dm | 2 +- code/game/machinery/mechlaunchpad.dm | 2 +- code/game/machinery/medical_kiosk.dm | 28 +- code/game/machinery/medipen_refiller.dm | 18 +- code/game/machinery/navbeacon.dm | 10 +- code/game/machinery/newscaster.dm | 32 +- code/game/machinery/pipe/construction.dm | 18 +- code/game/machinery/pipe/pipe_dispenser.dm | 4 +- .../machinery/porta_turret/portable_turret.dm | 42 +- .../porta_turret/portable_turret_construct.dm | 40 +- .../porta_turret/portable_turret_cover.dm | 14 +- code/game/machinery/prisonlabor.dm | 8 +- code/game/machinery/quantum_pad.dm | 34 +- code/game/machinery/recharger.dm | 22 +- code/game/machinery/rechargestation.dm | 4 +- code/game/machinery/recycler.dm | 4 +- code/game/machinery/requests_console.dm | 16 +- code/game/machinery/roulette_machine.dm | 24 +- code/game/machinery/scan_gate.dm | 12 +- code/game/machinery/shieldgen.dm | 84 +-- code/game/machinery/slotmachine.dm | 24 +- code/game/machinery/spaceheater.dm | 18 +- code/game/machinery/stasis.dm | 8 +- code/game/machinery/suit_storage_unit.dm | 56 +- code/game/machinery/syndicatebeacon.dm | 20 +- code/game/machinery/syndicatebomb.dm | 46 +- code/game/machinery/teambuilder.dm | 2 +- .../telecomms/computers/logbrowser.dm | 2 +- .../machinery/telecomms/computers/message.dm | 34 +- .../telecomms/machine_interactions.dm | 6 +- .../telecomms/machines/message_server.dm | 12 +- code/game/machinery/teleporter.dm | 26 +- code/game/machinery/washing_machine.dm | 18 +- code/game/machinery/wishgranter.dm | 14 +- code/game/objects/buckling.dm | 30 +- code/game/objects/effects/anomalies.dm | 2 +- code/game/objects/effects/contraband.dm | 18 +- code/game/objects/effects/decals/cleanable.dm | 8 +- .../objects/effects/decals/cleanable/food.dm | 2 +- .../objects/effects/decals/cleanable/misc.dm | 2 +- .../effects/decals/cleanable/robots.dm | 4 +- code/game/objects/effects/decals/remains.dm | 2 +- .../effects/effect_system/effects_foam.dm | 4 +- .../effects/effect_system/effects_other.dm | 4 +- .../effects/effect_system/effects_smoke.dm | 2 +- code/game/objects/effects/glowshroom.dm | 2 +- code/game/objects/effects/mines.dm | 12 +- code/game/objects/effects/phased_mob.dm | 6 +- code/game/objects/effects/powerup.dm | 2 +- code/game/objects/effects/spiders.dm | 20 +- code/game/objects/effects/step_triggers.dm | 2 +- code/game/objects/items.dm | 34 +- code/game/objects/items/AI_modules.dm | 38 +- code/game/objects/items/RCD.dm | 64 +- code/game/objects/items/RCL.dm | 18 +- code/game/objects/items/RPD.dm | 28 +- code/game/objects/items/RSF.dm | 24 +- code/game/objects/items/airlock_painter.dm | 24 +- code/game/objects/items/apc_frame.dm | 22 +- code/game/objects/items/binoculars.dm | 4 +- code/game/objects/items/blueprints.dm | 10 +- code/game/objects/items/body_egg.dm | 2 +- code/game/objects/items/bodybag.dm | 18 +- code/game/objects/items/broom.dm | 6 +- code/game/objects/items/candle.dm | 2 +- code/game/objects/items/cardboard_cutouts.dm | 16 +- code/game/objects/items/cards_ids.dm | 74 +-- code/game/objects/items/chainsaw.dm | 6 +- code/game/objects/items/charter.dm | 16 +- code/game/objects/items/chrono_eraser.dm | 10 +- code/game/objects/items/cigs_lighters.dm | 94 +-- .../items/circuitboards/circuitboard.dm | 2 +- .../circuitboards/computer_circuitboards.dm | 16 +- .../circuitboards/machine_circuitboards.dm | 30 +- code/game/objects/items/clown_items.dm | 26 +- code/game/objects/items/control_wand.dm | 4 +- code/game/objects/items/cosmetics.dm | 96 +-- code/game/objects/items/courtroom.dm | 4 +- code/game/objects/items/crab17.dm | 12 +- code/game/objects/items/crayons.dm | 64 +- code/game/objects/items/credit_holochip.dm | 10 +- code/game/objects/items/defib.dm | 102 +-- code/game/objects/items/dehy_carp.dm | 16 +- code/game/objects/items/devices/PDA/PDA.dm | 90 +-- code/game/objects/items/devices/PDA/cart.dm | 4 +- .../objects/items/devices/PDA/virus_cart.dm | 32 +- code/game/objects/items/devices/aicard.dm | 8 +- .../items/devices/anomaly_neutralizer.dm | 2 +- code/game/objects/items/devices/beacon.dm | 2 +- code/game/objects/items/devices/camera_bug.dm | 6 +- .../objects/items/devices/chameleonproj.dm | 10 +- .../objects/items/devices/desynchronizer.dm | 12 +- .../devices/electroadaptive_pseudocircuit.dm | 18 +- code/game/objects/items/devices/flashlight.dm | 86 +-- .../items/devices/forcefieldprojector.dm | 16 +- .../objects/items/devices/geiger_counter.dm | 46 +- .../objects/items/devices/laserpointer.dm | 46 +- .../objects/items/devices/lightreplacer.dm | 28 +- code/game/objects/items/devices/megaphone.dm | 6 +- code/game/objects/items/devices/multitool.dm | 6 +- code/game/objects/items/devices/ocd.dm | 2 +- code/game/objects/items/devices/paicard.dm | 28 +- .../objects/items/devices/pipe_painter.dm | 4 +- .../game/objects/items/devices/polycircuit.dm | 12 +- .../items/devices/portable_chem_mixer.dm | 2 +- code/game/objects/items/devices/powersink.dm | 24 +- .../objects/items/devices/pressureplates.dm | 12 +- .../objects/items/devices/quantum_keycard.dm | 8 +- .../items/devices/radio/electropack.dm | 8 +- .../items/devices/radio/encryptionkey.dm | 2 +- .../objects/items/devices/radio/headset.dm | 16 +- .../objects/items/devices/radio/intercom.dm | 20 +- .../game/objects/items/devices/radio/radio.dm | 20 +- .../items/devices/reverse_bear_trap.dm | 30 +- code/game/objects/items/devices/scanners.dm | 156 ++--- code/game/objects/items/devices/spyglasses.dm | 2 +- code/game/objects/items/devices/swapper.dm | 24 +- .../objects/items/devices/taperecorder.dm | 26 +- .../objects/items/devices/traitordevices.dm | 22 +- .../objects/items/devices/transfer_valve.dm | 12 +- code/game/objects/items/dice.dm | 12 +- code/game/objects/items/dna_injector.dm | 22 +- code/game/objects/items/documents.dm | 44 +- code/game/objects/items/door_seal.dm | 2 +- code/game/objects/items/dualsaber.dm | 18 +- code/game/objects/items/dyekit.dm | 2 +- code/game/objects/items/eightball.dm | 6 +- code/game/objects/items/emags.dm | 18 +- code/game/objects/items/etherealdiscoball.dm | 8 +- code/game/objects/items/extinguisher.dm | 22 +- code/game/objects/items/fireaxe.dm | 2 +- code/game/objects/items/flamethrower.dm | 18 +- code/game/objects/items/food/burgers.dm | 2 +- code/game/objects/items/food/egg.dm | 12 +- code/game/objects/items/food/meat.dm | 18 +- code/game/objects/items/food/misc.dm | 16 +- code/game/objects/items/food/pastries.dm | 10 +- code/game/objects/items/food/pie.dm | 2 +- code/game/objects/items/food/pizza.dm | 6 +- code/game/objects/items/food/snacks.dm | 4 +- code/game/objects/items/food/spaghetti.dm | 4 +- code/game/objects/items/gift.dm | 8 +- code/game/objects/items/granters.dm | 70 +- .../objects/items/grenades/atmos_grenades.dm | 2 +- .../objects/items/grenades/chem_grenade.dm | 48 +- code/game/objects/items/grenades/festive.dm | 8 +- code/game/objects/items/grenades/flashbang.dm | 8 +- .../game/objects/items/grenades/ghettobomb.dm | 2 +- code/game/objects/items/grenades/grenade.dm | 22 +- code/game/objects/items/grenades/hypno.dm | 6 +- code/game/objects/items/grenades/plastic.dm | 8 +- code/game/objects/items/hand_items.dm | 74 +-- code/game/objects/items/handcuffs.dm | 40 +- code/game/objects/items/his_grace.dm | 40 +- code/game/objects/items/holosign_creator.dm | 18 +- code/game/objects/items/holy_weapons.dm | 22 +- code/game/objects/items/hot_potato.dm | 20 +- code/game/objects/items/hourglass.dm | 6 +- .../items/implants/implant_abductor.dm | 2 +- .../objects/items/implants/implant_chem.dm | 4 +- .../items/implants/implant_deathrattle.dm | 2 +- .../items/implants/implant_explosive.dm | 6 +- .../objects/items/implants/implant_freedom.dm | 2 +- .../items/implants/implant_mindshield.dm | 8 +- .../objects/items/implants/implant_spell.dm | 2 +- .../objects/items/implants/implant_storage.dm | 2 +- .../objects/items/implants/implantcase.dm | 2 +- .../objects/items/implants/implantchair.dm | 16 +- code/game/objects/items/implants/implanter.dm | 10 +- .../game/objects/items/implants/implantpad.dm | 6 +- code/game/objects/items/inducer.dm | 32 +- code/game/objects/items/kitchen.dm | 16 +- code/game/objects/items/latexballoon.dm | 2 +- code/game/objects/items/mail.dm | 14 +- code/game/objects/items/manuals.dm | 4 +- code/game/objects/items/melee/energy.dm | 12 +- code/game/objects/items/melee/misc.dm | 62 +- code/game/objects/items/melee/transforming.dm | 4 +- code/game/objects/items/miscellaneous.dm | 20 +- code/game/objects/items/mop.dm | 12 +- code/game/objects/items/paiwire.dm | 2 +- code/game/objects/items/pet_carrier.dm | 70 +- code/game/objects/items/pinpointer.dm | 10 +- code/game/objects/items/plushes.dm | 68 +- code/game/objects/items/pneumaticCannon.dm | 44 +- code/game/objects/items/powerfist.dm | 36 +- code/game/objects/items/puzzle_pieces.dm | 8 +- code/game/objects/items/religion.dm | 10 +- code/game/objects/items/robot/ai_upgrades.dm | 12 +- code/game/objects/items/robot/robot_items.dm | 142 ++-- code/game/objects/items/robot/robot_parts.dm | 52 +- .../objects/items/robot/robot_upgrades.dm | 46 +- code/game/objects/items/scrolls.dm | 8 +- code/game/objects/items/sharpener.dm | 16 +- code/game/objects/items/shields.dm | 30 +- code/game/objects/items/shooting_range.dm | 4 +- code/game/objects/items/signs.dm | 2 +- code/game/objects/items/singularityhammer.dm | 6 +- code/game/objects/items/spear.dm | 6 +- code/game/objects/items/stacks/bscrystal.dm | 10 +- code/game/objects/items/stacks/medical.dm | 56 +- code/game/objects/items/stacks/rods.dm | 10 +- .../game/objects/items/stacks/sheets/glass.dm | 18 +- .../objects/items/stacks/sheets/hot_ice.dm | 2 +- .../objects/items/stacks/sheets/leather.dm | 4 +- .../game/objects/items/stacks/sheets/light.dm | 4 +- .../objects/items/stacks/sheets/mineral.dm | 4 +- .../items/stacks/sheets/sheet_types.dm | 10 +- .../objects/items/stacks/sheets/sheets.dm | 4 +- code/game/objects/items/stacks/stack.dm | 32 +- code/game/objects/items/stacks/tape.dm | 12 +- code/game/objects/items/stacks/telecrystal.dm | 2 +- .../objects/items/stacks/tiles/tile_iron.dm | 8 +- .../items/stacks/tiles/tile_mineral.dm | 10 +- .../objects/items/stacks/tiles/tile_types.dm | 4 +- code/game/objects/items/stacks/wrap.dm | 12 +- code/game/objects/items/storage/backpack.dm | 4 +- code/game/objects/items/storage/bags.dm | 14 +- code/game/objects/items/storage/belt.dm | 8 +- code/game/objects/items/storage/book.dm | 56 +- code/game/objects/items/storage/boxes.dm | 26 +- code/game/objects/items/storage/fancy.dm | 18 +- code/game/objects/items/storage/firstaid.dm | 24 +- code/game/objects/items/storage/lockbox.dm | 18 +- code/game/objects/items/storage/secure.dm | 12 +- code/game/objects/items/storage/sixpack.dm | 2 +- code/game/objects/items/storage/toolbox.dm | 8 +- code/game/objects/items/storage/wallets.dm | 2 +- code/game/objects/items/stunbaton.dm | 42 +- code/game/objects/items/tanks/jetpack.dm | 14 +- code/game/objects/items/tanks/tanks.dm | 22 +- code/game/objects/items/tanks/watertank.dm | 30 +- code/game/objects/items/taster.dm | 4 +- code/game/objects/items/tcg/tcg.dm | 14 +- code/game/objects/items/teleportation.dm | 20 +- code/game/objects/items/teleprod.dm | 8 +- code/game/objects/items/theft_tools.dm | 38 +- code/game/objects/items/tools/crowbar.dm | 16 +- code/game/objects/items/tools/screwdriver.dm | 10 +- code/game/objects/items/tools/weldingtool.dm | 32 +- code/game/objects/items/tools/wirecutters.dm | 8 +- code/game/objects/items/tools/wrench.dm | 10 +- code/game/objects/items/toy_mechs.dm | 154 ++--- code/game/objects/items/toys.dm | 168 ++--- code/game/objects/items/wayfinding.dm | 24 +- code/game/objects/items/weaponry.dm | 78 +-- code/game/objects/obj_defense.dm | 4 +- code/game/objects/objs.dm | 12 +- code/game/objects/structures.dm | 6 +- code/game/objects/structures/ai_core.dm | 58 +- code/game/objects/structures/aliens.dm | 8 +- code/game/objects/structures/artstuff.dm | 14 +- code/game/objects/structures/barsigns.dm | 18 +- .../structures/beds_chairs/alien_nest.dm | 26 +- .../objects/structures/beds_chairs/bed.dm | 18 +- .../objects/structures/beds_chairs/chair.dm | 34 +- code/game/objects/structures/bedsheet_bin.dm | 18 +- code/game/objects/structures/cannon.dm | 16 +- code/game/objects/structures/chess.dm | 2 +- .../construction_actions.dm | 16 +- .../structures/crates_lockers/closets.dm | 84 +-- .../crates_lockers/closets/bodybag.dm | 20 +- .../crates_lockers/closets/infinite.dm | 2 +- .../crates_lockers/closets/secure/personal.dm | 4 +- .../structures/crates_lockers/crates.dm | 4 +- .../structures/crates_lockers/crates/bins.dm | 2 +- .../structures/crates_lockers/crates/large.dm | 10 +- .../crates_lockers/crates/secure.dm | 16 +- code/game/objects/structures/displaycase.dm | 112 ++-- code/game/objects/structures/divine.dm | 6 +- code/game/objects/structures/door_assembly.dm | 100 +-- code/game/objects/structures/dresser.dm | 6 +- code/game/objects/structures/extinguisher.dm | 14 +- code/game/objects/structures/false_walls.dm | 16 +- code/game/objects/structures/fence.dm | 20 +- code/game/objects/structures/fireaxe.dm | 26 +- code/game/objects/structures/fireplace.dm | 6 +- code/game/objects/structures/flora.dm | 16 +- code/game/objects/structures/fluff.dm | 8 +- .../objects/structures/ghost_role_spawners.dm | 10 +- code/game/objects/structures/girders.dm | 130 ++-- code/game/objects/structures/grille.dm | 34 +- code/game/objects/structures/guillotine.dm | 28 +- code/game/objects/structures/guncase.dm | 4 +- code/game/objects/structures/headpike.dm | 2 +- code/game/objects/structures/hivebot.dm | 6 +- code/game/objects/structures/holosign.dm | 4 +- .../structures/icemoon/cave_entrance.dm | 6 +- .../objects/structures/industrial_lift.dm | 16 +- code/game/objects/structures/janicart.dm | 26 +- code/game/objects/structures/kitchen_spike.dm | 36 +- code/game/objects/structures/ladders.dm | 8 +- code/game/objects/structures/lattice.dm | 14 +- .../objects/structures/lavaland/geyser.dm | 18 +- .../structures/lavaland/necropolis_tendril.dm | 6 +- code/game/objects/structures/life_candle.dm | 4 +- code/game/objects/structures/loom.dm | 8 +- code/game/objects/structures/maintenance.dm | 18 +- code/game/objects/structures/mineral_doors.dm | 26 +- code/game/objects/structures/mirror.dm | 16 +- code/game/objects/structures/mop_bucket.dm | 4 +- code/game/objects/structures/morgue.dm | 28 +- code/game/objects/structures/noticeboard.dm | 6 +- .../objects/structures/petrified_statue.dm | 6 +- .../objects/structures/plaques/_plaques.dm | 64 +- code/game/objects/structures/plasticflaps.dm | 12 +- code/game/objects/structures/railings.dm | 16 +- code/game/objects/structures/reflector.dm | 44 +- code/game/objects/structures/safe.dm | 18 +- code/game/objects/structures/showcase.dm | 6 +- code/game/objects/structures/shower.dm | 16 +- code/game/objects/structures/signs/_signs.dm | 48 +- code/game/objects/structures/spirit_board.dm | 8 +- code/game/objects/structures/statues.dm | 20 +- code/game/objects/structures/table_frames.dm | 18 +- code/game/objects/structures/tables_racks.dm | 68 +- .../game/objects/structures/tank_dispenser.dm | 6 +- code/game/objects/structures/tank_holder.dm | 10 +- .../objects/structures/training_machine.dm | 32 +- .../structures/transit_tubes/station.dm | 12 +- .../structures/transit_tubes/transit_tube.dm | 6 +- .../transit_tube_construction.dm | 6 +- .../transit_tubes/transit_tube_pod.dm | 10 +- code/game/objects/structures/traps.dm | 10 +- code/game/objects/structures/votingbox.dm | 24 +- code/game/objects/structures/watercloset.dm | 146 ++--- .../objects/structures/windoor_assembly.dm | 66 +- code/game/objects/structures/window.dm | 144 ++-- code/game/shuttle_engines.dm | 20 +- code/game/turfs/closed/minerals.dm | 24 +- code/game/turfs/closed/wall/reinf_walls.dm | 64 +- code/game/turfs/closed/walls.dm | 22 +- code/game/turfs/open/_open.dm | 2 +- code/game/turfs/open/chasm.dm | 12 +- code/game/turfs/open/floor.dm | 16 +- code/game/turfs/open/floor/fancy_floor.dm | 12 +- code/game/turfs/open/floor/hull.dm | 4 +- code/game/turfs/open/floor/iron_floor.dm | 2 +- code/game/turfs/open/floor/light_floor.dm | 14 +- code/game/turfs/open/floor/plating.dm | 36 +- .../game/turfs/open/floor/plating/asteroid.dm | 8 +- code/game/turfs/open/floor/reinf_floor.dm | 4 +- code/game/turfs/open/lava.dm | 8 +- code/game/turfs/open/openspace.dm | 18 +- code/game/turfs/open/space/space.dm | 18 +- code/game/turfs/turf.dm | 6 +- code/game/world.dm | 6 +- code/modules/admin/IsBanned.dm | 12 +- code/modules/admin/admin.dm | 14 +- code/modules/admin/admin_investigate.dm | 2 +- code/modules/admin/admin_verbs.dm | 26 +- code/modules/admin/antag_panel.dm | 2 +- code/modules/admin/callproc/callproc.dm | 10 +- code/modules/admin/check_antagonists.dm | 2 +- code/modules/admin/fun_balloon.dm | 4 +- code/modules/admin/holder2.dm | 2 +- code/modules/admin/outfit_editor.dm | 2 +- code/modules/admin/outfits.dm | 8 +- code/modules/admin/permissionedit.dm | 12 +- code/modules/admin/poll_management.dm | 28 +- code/modules/admin/smites/berforate.dm | 2 +- code/modules/admin/smites/bloodless.dm | 2 +- code/modules/admin/smites/boneless.dm | 2 +- code/modules/admin/smites/dock_pay.dm | 10 +- code/modules/admin/smites/knot_shoes.dm | 4 +- code/modules/admin/smites/lightning.dm | 2 +- code/modules/admin/smites/nugget.dm | 2 +- code/modules/admin/smites/puzzle.dm | 2 +- code/modules/admin/smites/scarify.dm | 4 +- code/modules/admin/sound_emitter.dm | 20 +- code/modules/admin/sql_ban_system.dm | 30 +- code/modules/admin/sql_message_system.dm | 22 +- code/modules/admin/stickyban.dm | 64 +- code/modules/admin/topic.dm | 70 +- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 30 +- .../admin/verbs/SDQL2/SDQL_2_parser.dm | 2 +- .../verbs/SDQL2/SDQL_spells_and_items.dm | 6 +- code/modules/admin/verbs/adminhelp.dm | 20 +- code/modules/admin/verbs/adminpm.dm | 56 +- code/modules/admin/verbs/adminsay.dm | 2 +- code/modules/admin/verbs/ai_triumvirate.dm | 2 +- code/modules/admin/verbs/anonymousnames.dm | 4 +- code/modules/admin/verbs/borgpanel.dm | 2 +- code/modules/admin/verbs/commandreport.dm | 4 +- code/modules/admin/verbs/deadsay.dm | 4 +- code/modules/admin/verbs/debug.dm | 60 +- code/modules/admin/verbs/diagnostics.dm | 2 +- code/modules/admin/verbs/fps.dm | 2 +- code/modules/admin/verbs/highlander_datum.dm | 12 +- .../admin/verbs/map_template_loadverb.dm | 12 +- code/modules/admin/verbs/maprotation.dm | 8 +- code/modules/admin/verbs/panicbunker.dm | 4 +- code/modules/admin/verbs/playsound.dm | 22 +- code/modules/admin/verbs/pray.dm | 14 +- code/modules/admin/verbs/randomverbs.dm | 54 +- .../admin/verbs/reestablish_db_connection.dm | 2 +- code/modules/admin/verbs/secrets.dm | 26 +- code/modules/admin/verbs/selectequipment.dm | 2 +- .../admin/view_variables/filterrific.dm | 2 +- .../admin/view_variables/topic_basic.dm | 4 +- .../admin/view_variables/view_variables.dm | 2 +- .../antagonists/_common/antag_datum.dm | 2 +- .../antagonists/_common/antag_spawner.dm | 18 +- .../modules/antagonists/_common/antag_team.dm | 8 +- .../antagonists/abductor/abductee/abductee.dm | 4 +- code/modules/antagonists/abductor/abductor.dm | 10 +- .../abductor/equipment/abduction_gear.dm | 134 ++-- .../abductor/equipment/abduction_surgery.dm | 10 +- .../antagonists/abductor/equipment/gland.dm | 8 +- .../abductor/equipment/glands/access.dm | 2 +- .../abductor/equipment/glands/blood.dm | 2 +- .../abductor/equipment/glands/egg.dm | 2 +- .../abductor/equipment/glands/electric.dm | 4 +- .../abductor/equipment/glands/heal.dm | 44 +- .../abductor/equipment/glands/mindshock.dm | 12 +- .../abductor/equipment/glands/plasma.dm | 6 +- .../abductor/equipment/glands/quantum.dm | 10 +- .../abductor/equipment/glands/slime.dm | 2 +- .../abductor/equipment/glands/spider.dm | 2 +- .../abductor/equipment/glands/transform.dm | 2 +- .../abductor/equipment/glands/trauma.dm | 2 +- .../abductor/equipment/glands/ventcrawl.dm | 2 +- .../abductor/equipment/glands/viral.dm | 2 +- .../antagonists/abductor/machinery/camera.dm | 8 +- .../antagonists/abductor/machinery/console.dm | 10 +- .../abductor/machinery/experiment.dm | 18 +- .../antagonists/abductor/machinery/pad.dm | 2 +- code/modules/antagonists/blob/blob.dm | 2 +- code/modules/antagonists/blob/blob_mobs.dm | 4 +- .../blob/blobstrains/_blobstrain.dm | 4 +- .../blob/blobstrains/debris_devourer.dm | 10 +- .../blob/blobstrains/distributed_neurons.dm | 4 +- .../blob/blobstrains/pressurized_slime.dm | 2 +- .../blob/blobstrains/reactive_spines.dm | 2 +- code/modules/antagonists/blob/overmind.dm | 12 +- code/modules/antagonists/blob/powers.dm | 78 +-- .../antagonists/blob/structures/_blob.dm | 14 +- .../antagonists/blob/structures/factory.dm | 2 +- .../antagonists/brainwashing/brainwashing.dm | 8 +- code/modules/antagonists/brother/brother.dm | 12 +- .../antagonists/changeling/changeling.dm | 48 +- .../changeling/changeling_power.dm | 10 +- .../antagonists/changeling/powers/absorb.dm | 28 +- .../changeling/powers/adrenaline.dm | 2 +- .../changeling/powers/biodegrade.dm | 34 +- .../changeling/powers/digitalcamo.dm | 4 +- .../changeling/powers/fakedeath.dm | 8 +- .../changeling/powers/fleshmend.dm | 4 +- .../antagonists/changeling/powers/headcrab.dm | 6 +- .../antagonists/changeling/powers/hivemind.dm | 14 +- .../changeling/powers/humanform.dm | 4 +- .../changeling/powers/lesserform.dm | 2 +- .../changeling/powers/mimic_voice.dm | 6 +- .../changeling/powers/mutations.dm | 56 +- .../antagonists/changeling/powers/panacea.dm | 2 +- .../changeling/powers/pheromone_receptors.dm | 4 +- .../changeling/powers/strained_muscles.dm | 10 +- .../changeling/powers/tiny_prick.dm | 24 +- .../changeling/powers/transform.dm | 16 +- .../antagonists/clown_ops/clown_weapons.dm | 8 +- code/modules/antagonists/creep/creep.dm | 6 +- code/modules/antagonists/cult/blood_magic.dm | 166 ++--- code/modules/antagonists/cult/cult.dm | 22 +- code/modules/antagonists/cult/cult_comms.dm | 54 +- code/modules/antagonists/cult/cult_items.dm | 90 +-- .../antagonists/cult/cult_structures.dm | 36 +- code/modules/antagonists/cult/ritual.dm | 38 +- .../antagonists/cult/rune_spawn_action.dm | 6 +- code/modules/antagonists/cult/runes.dm | 104 +-- .../antagonists/disease/disease_abilities.dm | 14 +- .../antagonists/disease/disease_datum.dm | 12 +- .../antagonists/disease/disease_mob.dm | 22 +- .../eldritch_cult/eldritch_antag.dm | 16 +- .../eldritch_cult/eldritch_book.dm | 8 +- .../eldritch_cult/eldritch_effects.dm | 16 +- .../eldritch_cult/eldritch_items.dm | 38 +- .../eldritch_cult/eldritch_knowledge.dm | 12 +- .../eldritch_cult/eldritch_magic.dm | 46 +- .../eldritch_cult/eldritch_monster_antag.dm | 6 +- .../eldritch_cult/eldritch_structures.dm | 12 +- .../eldritch_cult/knowledge/ash_lore.dm | 2 +- .../eldritch_cult/knowledge/flesh_lore.dm | 6 +- code/modules/antagonists/fugitive/fugitive.dm | 14 +- .../antagonists/fugitive/fugitive_ship.dm | 6 +- code/modules/antagonists/fugitive/hunter.dm | 12 +- code/modules/antagonists/gang/gang.dm | 4 +- .../antagonists/malf_ai/datum_malf_ai.dm | 22 +- code/modules/antagonists/monkey/monkey.dm | 10 +- code/modules/antagonists/morph/morph.dm | 24 +- .../antagonists/nightmare/nightmare_organs.dm | 16 +- .../nightmare/nightmare_species.dm | 2 +- .../nukeop/equipment/borgchameleon.dm | 16 +- .../nukeop/equipment/nuclear_challenge.dm | 16 +- .../nukeop/equipment/nuclearbomb.dm | 54 +- .../nukeop/equipment/pinpointer.dm | 4 +- code/modules/antagonists/nukeop/nukeop.dm | 4 +- code/modules/antagonists/pirate/pirate.dm | 2 +- code/modules/antagonists/revenant/revenant.dm | 58 +- .../revenant/revenant_abilities.dm | 68 +- .../antagonists/revenant/revenant_blight.dm | 8 +- .../revolution/enemy_of_the_revolution.dm | 2 +- .../revolution/enemy_of_the_state.dm | 4 +- .../antagonists/revolution/revolution.dm | 26 +- code/modules/antagonists/santa/santa.dm | 2 +- .../antagonists/separatist/separatist.dm | 4 +- .../antagonists/slaughter/slaughter.dm | 22 +- .../antagonists/slaughter/slaughter_antag.dm | 2 +- .../antagonists/space_dragon/space_dragon.dm | 2 +- .../antagonists/survivalist/survivalist.dm | 2 +- .../traitor/IAA/internal_affairs.dm | 28 +- .../antagonists/traitor/datum_traitor.dm | 28 +- .../traitor/equipment/Malf_Modules.dm | 62 +- .../traitor/equipment/contractor.dm | 12 +- .../antagonists/traitor/syndicate_contract.dm | 10 +- .../antagonists/valentines/heartbreaker.dm | 2 +- .../antagonists/valentines/valentine.dm | 2 +- .../antagonists/wizard/equipment/artefact.dm | 24 +- .../antagonists/wizard/equipment/soulstone.dm | 52 +- .../antagonists/wizard/equipment/spellbook.dm | 40 +- code/modules/antagonists/wizard/wizard.dm | 10 +- code/modules/aquarium/aquarium.dm | 18 +- code/modules/aquarium/aquarium_behaviour.dm | 2 +- code/modules/aquarium/misc.dm | 2 +- code/modules/assembly/assembly.dm | 14 +- code/modules/assembly/bomb.dm | 14 +- code/modules/assembly/doorcontrol.dm | 6 +- code/modules/assembly/flash.dm | 48 +- code/modules/assembly/health.dm | 6 +- code/modules/assembly/holder.dm | 4 +- code/modules/assembly/igniter.dm | 4 +- code/modules/assembly/infrared.dm | 2 +- code/modules/assembly/mousetrap.dm | 34 +- code/modules/assembly/proximity.dm | 2 +- code/modules/assembly/shock_kit.dm | 2 +- code/modules/assembly/signaler.dm | 8 +- code/modules/assembly/timer.dm | 6 +- code/modules/assembly/voice.dm | 4 +- .../atmospherics/machinery/airalarm.dm | 44 +- .../atmospherics/machinery/atmosmachinery.dm | 16 +- .../machinery/bluespace_vendor.dm | 12 +- .../components/binary_devices/circulator.dm | 10 +- .../components/binary_devices/passive_gate.dm | 2 +- .../binary_devices/pressure_valve.dm | 2 +- .../components/binary_devices/pump.dm | 2 +- .../binary_devices/temperature_gate.dm | 6 +- .../binary_devices/thermomachine.dm | 40 +- .../components/binary_devices/volume_pump.dm | 2 +- .../machinery/components/components_base.dm | 2 +- .../machinery/components/fusion/hfr_parts.dm | 8 +- .../machinery/components/fusion/hfr_procs.dm | 4 +- .../components/trinary_devices/filter.dm | 2 +- .../components/trinary_devices/mixer.dm | 2 +- .../unary_devices/bluespace_sender.dm | 2 +- .../components/unary_devices/cryo.dm | 22 +- .../unary_devices/outlet_injector.dm | 2 +- .../unary_devices/portables_connector.dm | 2 +- .../components/unary_devices/vent_pump.dm | 10 +- .../components/unary_devices/vent_scrubber.dm | 10 +- .../atmospherics/machinery/other/meter.dm | 6 +- .../atmospherics/machinery/other/miner.dm | 10 +- .../machinery/portable/canister.dm | 20 +- .../portable/portable_atmospherics.dm | 22 +- code/modules/awaymissions/corpse.dm | 8 +- code/modules/awaymissions/gateway.dm | 8 +- .../awaymissions/mission_code/Academy.dm | 52 +- .../awaymissions/mission_code/snowdin.dm | 12 +- .../awaymissions/mission_code/wildwest.dm | 6 +- code/modules/awaymissions/signpost.dm | 2 +- .../modules/awaymissions/super_secret_room.dm | 2 +- code/modules/awaymissions/zlevel.dm | 4 +- code/modules/buildmode/bm_mode.dm | 6 +- code/modules/buildmode/submodes/advanced.dm | 22 +- code/modules/buildmode/submodes/area_edit.dm | 12 +- code/modules/buildmode/submodes/basic.dm | 16 +- code/modules/buildmode/submodes/boom.dm | 8 +- code/modules/buildmode/submodes/copy.dm | 10 +- code/modules/buildmode/submodes/delete.dm | 4 +- code/modules/buildmode/submodes/fill.dm | 12 +- code/modules/buildmode/submodes/mapgen.dm | 12 +- code/modules/buildmode/submodes/outfit.dm | 2 +- code/modules/buildmode/submodes/smite.dm | 2 +- code/modules/buildmode/submodes/throwing.dm | 12 +- .../buildmode/submodes/variable_edit.dm | 24 +- .../capture_the_flag/capture_the_flag.dm | 26 +- .../cargo/blackmarket/blackmarket_market.dm | 2 +- .../cargo/blackmarket/blackmarket_uplink.dm | 8 +- code/modules/cargo/coupon.dm | 4 +- code/modules/cargo/export_scanner.dm | 10 +- code/modules/cargo/expressconsole.dm | 10 +- code/modules/cargo/gondolapod.dm | 8 +- code/modules/cargo/orderconsole.dm | 4 +- code/modules/cargo/supplypod.dm | 2 +- code/modules/cargo/supplypod_beacon.dm | 8 +- code/modules/client/client_procs.dm | 56 +- code/modules/client/preferences.dm | 20 +- code/modules/client/preferences_savefile.dm | 2 +- code/modules/client/preferences_toggles.dm | 4 +- code/modules/client/verbs/etips.dm | 4 +- code/modules/client/verbs/ooc.dm | 36 +- code/modules/client/verbs/ping.dm | 2 +- code/modules/client/verbs/suicide.dm | 40 +- code/modules/client/verbs/who.dm | 2 +- code/modules/clothing/chameleon.dm | 6 +- code/modules/clothing/clothing.dm | 30 +- code/modules/clothing/glasses/_glasses.dm | 24 +- code/modules/clothing/glasses/hud.dm | 2 +- code/modules/clothing/gloves/_gloves.dm | 2 +- code/modules/clothing/gloves/color.dm | 8 +- code/modules/clothing/gloves/special.dm | 4 +- code/modules/clothing/head/_head.dm | 14 +- code/modules/clothing/head/helmet.dm | 40 +- code/modules/clothing/head/jobs.dm | 20 +- code/modules/clothing/head/misc.dm | 12 +- code/modules/clothing/head/misc_special.dm | 22 +- code/modules/clothing/head/soft_caps.dm | 6 +- code/modules/clothing/masks/_masks.dm | 6 +- code/modules/clothing/masks/animal_masks.dm | 10 +- code/modules/clothing/masks/breath.dm | 4 +- code/modules/clothing/masks/gasmask.dm | 6 +- code/modules/clothing/masks/hailer.dm | 16 +- code/modules/clothing/masks/miscellaneous.dm | 12 +- code/modules/clothing/neck/_neck.dm | 26 +- code/modules/clothing/shoes/_shoes.dm | 42 +- code/modules/clothing/shoes/bananashoes.dm | 12 +- code/modules/clothing/shoes/colour.dm | 4 +- code/modules/clothing/shoes/magboots.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 22 +- .../clothing/spacesuits/_spacesuits.dm | 20 +- .../modules/clothing/spacesuits/chronosuit.dm | 6 +- code/modules/clothing/spacesuits/hardsuit.dm | 32 +- .../clothing/spacesuits/miscellaneous.dm | 10 +- code/modules/clothing/spacesuits/plasmamen.dm | 12 +- code/modules/clothing/suits/cloaks.dm | 6 +- .../modules/clothing/suits/reactive_armour.dm | 34 +- code/modules/clothing/suits/toggles.dm | 16 +- code/modules/clothing/suits/wiz_robe.dm | 4 +- code/modules/clothing/under/_under.dm | 28 +- code/modules/clothing/under/accessories.dm | 24 +- .../under/jobs/Plasmaman/civilian_service.dm | 10 +- code/modules/detectivework/evidence.dm | 20 +- .../detectivework/footprints_and_rag.dm | 10 +- code/modules/detectivework/scanner.dm | 36 +- code/modules/discord/accountlink.dm | 6 +- code/modules/discord/toggle_notify.dm | 14 +- code/modules/economy/account.dm | 6 +- code/modules/economy/pay_stand.dm | 26 +- code/modules/events/_event.dm | 2 +- code/modules/events/brand_intelligence.dm | 2 +- .../modules/events/communications_blackout.dm | 2 +- code/modules/events/fake_virus.dm | 2 +- code/modules/events/holiday/vday.dm | 4 +- code/modules/events/holiday/xmas.dm | 2 +- code/modules/events/immovable_rod.dm | 20 +- code/modules/events/pirates.dm | 18 +- code/modules/events/processor_overload.dm | 2 +- code/modules/events/sentience.dm | 2 +- code/modules/events/spacevine.dm | 24 +- code/modules/events/wizard/aid.dm | 4 +- code/modules/events/wizard/ghost.dm | 2 +- code/modules/events/wizard/greentext.dm | 6 +- code/modules/events/wizard/invincible.dm | 2 +- code/modules/events/wizard/race.dm | 2 +- code/modules/events/wizard/rpgloot.dm | 2 +- code/modules/experisci/destructive_scanner.dm | 2 +- .../experiment/handlers/experiment_handler.dm | 12 +- code/modules/explorer_drone/exodrone.dm | 4 +- code/modules/explorer_drone/loot.dm | 10 +- code/modules/fields/fields.dm | 2 +- code/modules/fields/peaceborg_dampener.dm | 2 +- code/modules/flufftext/Dreaming.dm | 2 +- code/modules/flufftext/Hallucination.dm | 54 +- code/modules/food_and_drinks/drinks/drinks.dm | 68 +- .../food_and_drinks/drinks/drinks/bottle.dm | 18 +- .../drinks/drinks/drinkingglass.dm | 4 +- code/modules/food_and_drinks/food.dm | 8 +- .../modules/food_and_drinks/food/condiment.dm | 54 +- .../kitchen_machinery/deep_fryer.dm | 24 +- .../kitchen_machinery/food_cart.dm | 20 +- .../kitchen_machinery/gibber.dm | 22 +- .../kitchen_machinery/griddle.dm | 8 +- .../kitchen_machinery/grill.dm | 14 +- .../kitchen_machinery/icecream_vat.dm | 14 +- .../kitchen_machinery/microwave.dm | 58 +- .../kitchen_machinery/monkeyrecycler.dm | 18 +- .../kitchen_machinery/processor.dm | 34 +- .../kitchen_machinery/smartfridge.dm | 24 +- code/modules/food_and_drinks/pizzabox.dm | 42 +- code/modules/food_and_drinks/plate.dm | 6 +- .../food_and_drinks/restaurant/_venue.dm | 8 +- .../restaurant/generic_venues.dm | 4 +- code/modules/games/cas.dm | 20 +- code/modules/games/wizoff.dm | 18 +- code/modules/holiday/easter.dm | 2 +- code/modules/holiday/halloween.dm | 16 +- code/modules/holodeck/computer.dm | 4 +- code/modules/holodeck/items.dm | 28 +- code/modules/hydroponics/beekeeping/beebox.dm | 40 +- code/modules/hydroponics/biogenerator.dm | 36 +- code/modules/hydroponics/fermenting_barrel.dm | 12 +- code/modules/hydroponics/grown.dm | 2 +- code/modules/hydroponics/grown/banana.dm | 4 +- code/modules/hydroponics/grown/cereals.dm | 2 +- code/modules/hydroponics/grown/corn.dm | 4 +- code/modules/hydroponics/grown/cotton.dm | 4 +- .../modules/hydroponics/grown/grass_carpet.dm | 2 +- code/modules/hydroponics/grown/kudzu.dm | 12 +- code/modules/hydroponics/grown/melon.dm | 4 +- code/modules/hydroponics/grown/misc.dm | 4 +- code/modules/hydroponics/grown/mushrooms.dm | 6 +- code/modules/hydroponics/grown/nettle.dm | 2 +- code/modules/hydroponics/grown/potato.dm | 2 +- code/modules/hydroponics/grown/pumpkin.dm | 2 +- code/modules/hydroponics/grown/replicapod.dm | 4 +- code/modules/hydroponics/grown/root.dm | 2 +- code/modules/hydroponics/grown/towercap.dm | 14 +- code/modules/hydroponics/hydroitemdefines.dm | 116 ++-- code/modules/hydroponics/hydroponics.dm | 106 +-- .../hydroponics/hydroponics_chemreact.dm | 4 +- code/modules/hydroponics/plant_genes.dm | 18 +- code/modules/hydroponics/seed_extractor.dm | 20 +- code/modules/hydroponics/seeds.dm | 22 +- code/modules/instruments/items.dm | 6 +- code/modules/instruments/songs/_song.dm | 4 +- code/modules/instruments/songs/editor.dm | 10 +- code/modules/interview/interview.dm | 6 +- code/modules/interview/interview_manager.dm | 4 +- code/modules/jobs/job_report.dm | 6 +- code/modules/jobs/job_types/bartender.dm | 2 +- code/modules/jobs/job_types/chaplain.dm | 2 +- code/modules/jobs/job_types/mime.dm | 2 +- code/modules/keybindings/bindings_client.dm | 2 +- code/modules/language/language_manuals.dm | 14 +- code/modules/library/lib_items.dm | 62 +- code/modules/library/lib_machines.dm | 18 +- .../library/skill_learning/skill_station.dm | 26 +- code/modules/library/soapstone.dm | 16 +- code/modules/mafia/controller.dm | 36 +- code/modules/mafia/roles.dm | 134 ++-- code/modules/meteors/meteors.dm | 2 +- code/modules/mining/abandoned_crates.dm | 16 +- code/modules/mining/aux_base.dm | 46 +- .../modules/mining/equipment/explorer_gear.dm | 4 +- .../mining/equipment/kinetic_crusher.dm | 18 +- .../mining/equipment/lazarus_injector.dm | 12 +- .../mining/equipment/marker_beacons.dm | 14 +- code/modules/mining/equipment/mining_tools.dm | 8 +- .../mining/equipment/regenerative_core.dm | 18 +- code/modules/mining/equipment/resonator.dm | 12 +- code/modules/mining/equipment/survival_pod.dm | 14 +- .../mining/equipment/wormhole_jaunter.dm | 12 +- code/modules/mining/fulton.dm | 16 +- code/modules/mining/laborcamp/laborshuttle.dm | 4 +- code/modules/mining/laborcamp/laborstacker.dm | 26 +- code/modules/mining/lavaland/ash_flora.dm | 6 +- .../mining/lavaland/necropolis_chests.dm | 130 ++-- code/modules/mining/lavaland/ruins/gym.dm | 2 +- code/modules/mining/machine_redemption.dm | 22 +- code/modules/mining/machine_silo.dm | 8 +- code/modules/mining/machine_stacking.dm | 4 +- code/modules/mining/machine_vending.dm | 14 +- code/modules/mining/mine_items.dm | 2 +- code/modules/mining/minebot.dm | 34 +- code/modules/mining/ores_coins.dm | 46 +- code/modules/mining/satchel_ore_boxdm.dm | 10 +- code/modules/mob/dead/dead.dm | 4 +- code/modules/mob/dead/new_player/login.dm | 4 +- .../modules/mob/dead/new_player/new_player.dm | 22 +- code/modules/mob/dead/new_player/poll.dm | 36 +- code/modules/mob/dead/observer/observer.dm | 56 +- code/modules/mob/emote.dm | 14 +- code/modules/mob/inventory.dm | 8 +- code/modules/mob/living/blood.dm | 12 +- code/modules/mob/living/bloodcrawl.dm | 28 +- code/modules/mob/living/brain/MMI.dm | 40 +- code/modules/mob/living/brain/brain_item.dm | 52 +- code/modules/mob/living/brain/death.dm | 4 +- code/modules/mob/living/brain/posibrain.dm | 16 +- code/modules/mob/living/brain/skillchip.dm | 2 +- code/modules/mob/living/carbon/alien/alien.dm | 4 +- .../mob/living/carbon/alien/alien_defense.dm | 10 +- .../mob/living/carbon/alien/alien_say.dm | 2 +- .../carbon/alien/humanoid/alien_powers.dm | 50 +- .../carbon/alien/humanoid/caste/drone.dm | 8 +- .../carbon/alien/humanoid/caste/hunter.dm | 10 +- .../carbon/alien/humanoid/caste/praetorian.dm | 6 +- .../living/carbon/alien/humanoid/humanoid.dm | 4 +- .../carbon/alien/humanoid/humanoid_defense.dm | 30 +- .../mob/living/carbon/alien/humanoid/queen.dm | 26 +- .../mob/living/carbon/alien/larva/larva.dm | 4 +- .../carbon/alien/larva/larva_defense.dm | 12 +- .../mob/living/carbon/alien/larva/powers.dm | 24 +- .../modules/mob/living/carbon/alien/organs.dm | 8 +- .../carbon/alien/special/alien_embryo.dm | 18 +- .../living/carbon/alien/special/facehugger.dm | 28 +- code/modules/mob/living/carbon/carbon.dm | 78 +-- .../mob/living/carbon/carbon_defense.dm | 138 ++-- .../mob/living/carbon/carbon_stripping.dm | 2 +- code/modules/mob/living/carbon/death.dm | 2 +- code/modules/mob/living/carbon/emote.dm | 12 +- code/modules/mob/living/carbon/examine.dm | 20 +- code/modules/mob/living/carbon/human/death.dm | 2 +- .../mob/living/carbon/human/examine.dm | 36 +- code/modules/mob/living/carbon/human/human.dm | 92 +-- .../mob/living/carbon/human/human_defense.dm | 124 ++-- .../mob/living/carbon/human/human_helpers.dm | 6 +- .../living/carbon/human/human_stripping.dm | 16 +- .../mob/living/carbon/human/inventory.dm | 10 +- code/modules/mob/living/carbon/human/login.dm | 12 +- .../mob/living/carbon/human/monkey/monkey.dm | 2 +- .../mob/living/carbon/human/species.dm | 110 ++-- .../carbon/human/species_types/ethereal.dm | 20 +- .../carbon/human/species_types/felinid.dm | 4 +- .../carbon/human/species_types/flypeople.dm | 4 +- .../carbon/human/species_types/golems.dm | 68 +- .../carbon/human/species_types/jellypeople.dm | 68 +- .../carbon/human/species_types/monkeys.dm | 12 +- .../carbon/human/species_types/mothmen.dm | 2 +- .../carbon/human/species_types/plasmamen.dm | 8 +- .../carbon/human/species_types/skeletons.dm | 6 +- .../carbon/human/species_types/vampire.dm | 26 +- code/modules/mob/living/carbon/inventory.dm | 24 +- code/modules/mob/living/carbon/life.dm | 24 +- .../modules/mob/living/carbon/status_procs.dm | 2 +- code/modules/mob/living/emote.dm | 14 +- code/modules/mob/living/inhand_holder.dm | 8 +- code/modules/mob/living/living.dm | 114 ++-- code/modules/mob/living/living_defense.dm | 124 ++-- code/modules/mob/living/living_say.dm | 14 +- code/modules/mob/living/login.dm | 4 +- code/modules/mob/living/silicon/ai/ai.dm | 52 +- .../mob/living/silicon/ai/ai_defense.dm | 2 +- .../living/silicon/ai/ai_portrait_picker.dm | 6 +- code/modules/mob/living/silicon/ai/ai_say.dm | 12 +- code/modules/mob/living/silicon/ai/examine.dm | 10 +- .../mob/living/silicon/ai/freelook/eye.dm | 4 +- code/modules/mob/living/silicon/ai/life.dm | 34 +- code/modules/mob/living/silicon/ai/login.dm | 2 +- .../modules/mob/living/silicon/ai/multicam.dm | 14 +- .../mob/living/silicon/ai/robot_control.dm | 6 +- code/modules/mob/living/silicon/laws.dm | 2 +- code/modules/mob/living/silicon/pai/pai.dm | 8 +- .../mob/living/silicon/pai/pai_defense.dm | 22 +- .../modules/mob/living/silicon/pai/pai_say.dm | 2 +- .../mob/living/silicon/pai/pai_shell.dm | 26 +- .../mob/living/silicon/pai/software.dm | 14 +- .../mob/living/silicon/robot/examine.dm | 22 +- .../mob/living/silicon/robot/inventory.dm | 24 +- .../modules/mob/living/silicon/robot/robot.dm | 30 +- .../mob/living/silicon/robot/robot_defense.dm | 142 ++-- code/modules/mob/living/silicon/silicon.dm | 12 +- .../mob/living/silicon/silicon_defense.dm | 48 +- .../modules/mob/living/silicon/silicon_say.dm | 8 +- .../living/simple_animal/animal_defense.dm | 52 +- .../living/simple_animal/bot/SuperBeepsky.dm | 10 +- .../mob/living/simple_animal/bot/bot.dm | 86 +-- .../mob/living/simple_animal/bot/cleanbot.dm | 28 +- .../living/simple_animal/bot/construction.dm | 88 +-- .../mob/living/simple_animal/bot/firebot.dm | 6 +- .../mob/living/simple_animal/bot/floorbot.dm | 20 +- .../mob/living/simple_animal/bot/honkbot.dm | 10 +- .../living/simple_animal/bot/hygienebot.dm | 2 +- .../mob/living/simple_animal/bot/medbot.dm | 32 +- .../mob/living/simple_animal/bot/mulebot.dm | 60 +- .../mob/living/simple_animal/bot/secbot.dm | 20 +- .../mob/living/simple_animal/constructs.dm | 26 +- .../living/simple_animal/eldritch_demons.dm | 4 +- .../mob/living/simple_animal/friendly/cat.dm | 4 +- .../mob/living/simple_animal/friendly/dog.dm | 36 +- .../simple_animal/friendly/drone/_drone.dm | 22 +- .../simple_animal/friendly/drone/drone_say.dm | 2 +- .../friendly/drone/drones_as_items.dm | 4 +- .../friendly/drone/interaction.dm | 58 +- .../simple_animal/friendly/drone/inventory.dm | 2 +- .../simple_animal/friendly/drone/verbs.dm | 2 +- .../simple_animal/friendly/farm_animals.dm | 22 +- .../living/simple_animal/friendly/lizard.dm | 2 +- .../living/simple_animal/friendly/mouse.dm | 28 +- .../mob/living/simple_animal/friendly/pet.dm | 4 +- .../simple_animal/friendly/robot_customer.dm | 2 +- .../living/simple_animal/friendly/snake.dm | 2 +- .../living/simple_animal/friendly/trader.dm | 4 +- .../living/simple_animal/guardian/guardian.dm | 74 +-- .../simple_animal/guardian/types/assassin.dm | 10 +- .../simple_animal/guardian/types/charger.dm | 4 +- .../simple_animal/guardian/types/dextrous.dm | 2 +- .../simple_animal/guardian/types/explosive.dm | 14 +- .../guardian/types/gravitokinetic.dm | 10 +- .../simple_animal/guardian/types/lightning.dm | 6 +- .../simple_animal/guardian/types/protector.dm | 14 +- .../simple_animal/guardian/types/ranged.dm | 18 +- .../simple_animal/guardian/types/support.dm | 34 +- .../mob/living/simple_animal/hostile/alien.dm | 8 +- .../mob/living/simple_animal/hostile/bear.dm | 8 +- .../mob/living/simple_animal/hostile/bees.dm | 12 +- .../hostile/bosses/paperwizard.dm | 2 +- .../mob/living/simple_animal/hostile/carp.dm | 8 +- .../simple_animal/hostile/cat_butcher.dm | 2 +- .../living/simple_animal/hostile/cockroach.dm | 4 +- .../living/simple_animal/hostile/faithless.dm | 4 +- .../simple_animal/hostile/giant_spider.dm | 58 +- .../mob/living/simple_animal/hostile/goose.dm | 14 +- .../simple_animal/hostile/gorilla/gorilla.dm | 4 +- .../living/simple_animal/hostile/headcrab.dm | 8 +- .../living/simple_animal/hostile/hivebot.dm | 18 +- .../living/simple_animal/hostile/hostile.dm | 6 +- .../simple_animal/hostile/jungle/leaper.dm | 2 +- .../hostile/megafauna/blood_drunk_miner.dm | 6 +- .../hostile/megafauna/bubblegum.dm | 12 +- .../hostile/megafauna/colossus.dm | 12 +- .../hostile/megafauna/demonic_frost_miner.dm | 20 +- .../simple_animal/hostile/megafauna/drake.dm | 24 +- .../hostile/megafauna/hierophant.dm | 36 +- .../simple_animal/hostile/megafauna/legion.dm | 18 +- .../hostile/megafauna/megafauna.dm | 4 +- .../hostile/megafauna/wendigo.dm | 6 +- .../mob/living/simple_animal/hostile/mimic.dm | 16 +- .../hostile/mining_mobs/basilisk.dm | 10 +- .../hostile/mining_mobs/elites/elite.dm | 32 +- .../mining_mobs/elites/goliath_broodmother.dm | 16 +- .../hostile/mining_mobs/elites/herald.dm | 2 +- .../hostile/mining_mobs/elites/legionnaire.dm | 26 +- .../hostile/mining_mobs/elites/pandora.dm | 4 +- .../hostile/mining_mobs/goldgrub.dm | 18 +- .../hostile/mining_mobs/goliath.dm | 8 +- .../hostile/mining_mobs/gutlunch.dm | 2 +- .../hostile/mining_mobs/hivelord.dm | 6 +- .../hostile/mining_mobs/lobstrosity.dm | 2 +- .../hostile/mining_mobs/mining_mobs.dm | 4 +- .../hostile/mining_mobs/polarbear.dm | 2 +- .../simple_animal/hostile/mining_mobs/wolf.dm | 2 +- .../living/simple_animal/hostile/mushroom.dm | 14 +- .../simple_animal/hostile/netherworld.dm | 16 +- .../mob/living/simple_animal/hostile/ooze.dm | 40 +- .../living/simple_animal/hostile/regalrat.dm | 46 +- .../simple_animal/hostile/retaliate/clown.dm | 10 +- .../simple_animal/hostile/space_dragon.dm | 50 +- .../living/simple_animal/hostile/statue.dm | 4 +- .../living/simple_animal/hostile/syndicate.dm | 2 +- .../mob/living/simple_animal/hostile/tree.dm | 6 +- .../living/simple_animal/hostile/vatbeast.dm | 8 +- .../simple_animal/hostile/venus_human_trap.dm | 8 +- .../simple_animal/hostile/wumborian_fugu.dm | 12 +- .../mob/living/simple_animal/parrot.dm | 38 +- .../modules/mob/living/simple_animal/shade.dm | 6 +- .../mob/living/simple_animal/simple_animal.dm | 2 +- .../mob/living/simple_animal/slime/life.dm | 4 +- .../mob/living/simple_animal/slime/powers.dm | 20 +- .../mob/living/simple_animal/slime/slime.dm | 44 +- code/modules/mob/living/status_procs.dm | 6 +- code/modules/mob/living/taste.dm | 2 +- code/modules/mob/living/ventcrawling.dm | 24 +- code/modules/mob/mob.dm | 34 +- code/modules/mob/mob_helpers.dm | 12 +- code/modules/mob/mob_movement.dm | 20 +- code/modules/mob/mob_say.dm | 12 +- code/modules/mob/mob_transformation_simple.dm | 4 +- code/modules/mob/transform_procs.dm | 8 +- .../computers/_modular_computer_shared.dm | 4 +- .../computers/item/computer.dm | 40 +- .../computers/item/computer_components.dm | 12 +- .../computers/item/computer_damage.dm | 2 +- .../computers/item/computer_ui.dm | 14 +- .../computers/item/laptop.dm | 6 +- .../computers/item/processor.dm | 2 +- .../computers/item/tablet.dm | 6 +- .../computers/machinery/modular_computer.dm | 4 +- .../modular_computers/file_system/program.dm | 6 +- .../file_system/program_events.dm | 4 +- .../programs/antagonist/contract_uplink.dm | 4 +- .../programs/antagonist/revelation.dm | 8 +- .../file_system/programs/arcade.dm | 10 +- .../file_system/programs/atmosscan.dm | 2 +- .../file_system/programs/borg_monitor.dm | 10 +- .../file_system/programs/card.dm | 10 +- .../file_system/programs/cargoship.dm | 8 +- .../file_system/programs/crewmanifest.dm | 4 +- .../file_system/programs/ntnrc_client.dm | 4 +- .../file_system/programs/portrait_printer.dm | 6 +- .../file_system/programs/robotact.dm | 4 +- .../file_system/programs/signaler.dm | 2 +- .../file_system/programs/techweb.dm | 4 +- .../modular_computers/hardware/_hardware.dm | 10 +- .../modular_computers/hardware/ai_slot.dm | 12 +- .../hardware/battery_module.dm | 10 +- .../modular_computers/hardware/card_slot.dm | 10 +- .../modular_computers/hardware/hard_drive.dm | 2 +- .../modular_computers/hardware/printer.dm | 8 +- .../modular_computers/hardware/recharger.dm | 2 +- .../modular_computers/laptop_vendor.dm | 4 +- code/modules/ninja/energy_katana.dm | 2 +- code/modules/ninja/ninja_explosive.dm | 6 +- code/modules/ninja/suit/gloves.dm | 4 +- code/modules/ninja/suit/ninjaDrainAct.dm | 20 +- .../energy_net_nets.dm | 2 +- .../ninja_adrenaline.dm | 4 +- .../ninja_cost_check.dm | 4 +- .../suit/ninja_equipment_actions/ninja_net.dm | 6 +- .../ninja_equipment_actions/ninja_stars.dm | 4 +- .../ninja_status_read.dm | 26 +- .../ninja_equipment_actions/ninja_stealth.dm | 10 +- .../ninja_suit_initialisation.dm | 8 +- .../ninja_sword_recall.dm | 4 +- code/modules/ninja/suit/suit.dm | 12 +- code/modules/ninja/suit/suit_attackby.dm | 16 +- code/modules/paperwork/carbonpaper.dm | 6 +- code/modules/paperwork/clipboard.dm | 16 +- code/modules/paperwork/filingcabinet.dm | 14 +- code/modules/paperwork/folders.dm | 10 +- code/modules/paperwork/handlabeler.dm | 26 +- code/modules/paperwork/paper.dm | 18 +- code/modules/paperwork/paper_cutter.dm | 16 +- code/modules/paperwork/paperbin.dm | 16 +- code/modules/paperwork/paperplane.dm | 14 +- code/modules/paperwork/pen.dm | 28 +- code/modules/paperwork/photocopier.dm | 42 +- code/modules/paperwork/stamps.dm | 2 +- code/modules/paperwork/ticketmachine.dm | 28 +- code/modules/photography/camera/camera.dm | 18 +- .../photography/camera/silicon_camera.dm | 14 +- code/modules/photography/photos/frame.dm | 8 +- code/modules/photography/photos/photo.dm | 8 +- code/modules/plumbing/ducts.dm | 8 +- .../plumbing/plumbers/_plumb_machinery.dm | 6 +- code/modules/plumbing/plumbers/bottler.dm | 6 +- code/modules/plumbing/plumbers/fermenter.dm | 2 +- code/modules/plumbing/plumbers/filter.dm | 2 +- .../plumbing/plumbers/grinder_chemical.dm | 2 +- code/modules/plumbing/plumbers/pill_press.dm | 2 +- .../plumbing/plumbers/plumbing_buffer.dm | 4 +- code/modules/plumbing/plumbers/pumps.dm | 2 +- code/modules/plumbing/plumbers/teleporter.dm | 6 +- code/modules/power/apc.dm | 230 +++---- code/modules/power/cable.dm | 44 +- code/modules/power/cell.dm | 14 +- code/modules/power/floodlight.dm | 10 +- code/modules/power/generator.dm | 6 +- code/modules/power/gravitygenerator.dm | 10 +- code/modules/power/lighting.dm | 92 +-- code/modules/power/monitor.dm | 2 +- code/modules/power/multiz.dm | 4 +- code/modules/power/pipecleaners.dm | 24 +- code/modules/power/port_gen.dm | 18 +- code/modules/power/rtg.dm | 6 +- code/modules/power/singularity/boh_tear.dm | 2 +- code/modules/power/singularity/collector.dm | 30 +- .../power/singularity/containment_field.dm | 8 +- code/modules/power/singularity/emitter.dm | 60 +- .../power/singularity/field_generator.dm | 38 +- code/modules/power/singularity/narsie.dm | 12 +- code/modules/power/singularity/singularity.dm | 16 +- code/modules/power/smes.dm | 22 +- code/modules/power/solar.dm | 22 +- code/modules/power/supermatter/supermatter.dm | 92 +-- code/modules/power/terminal.dm | 8 +- code/modules/power/tesla/coil.dm | 2 +- code/modules/power/tesla/energy_ball.dm | 2 +- code/modules/power/tracker.dm | 4 +- code/modules/power/turbine.dm | 12 +- .../projectiles/ammunition/_ammunition.dm | 8 +- .../projectiles/ammunition/caseless/foam.dm | 10 +- .../boxes_magazines/_box_magazine.dm | 4 +- code/modules/projectiles/gun.dm | 82 +-- code/modules/projectiles/guns/ballistic.dm | 86 +-- .../projectiles/guns/ballistic/automatic.dm | 18 +- .../projectiles/guns/ballistic/launchers.dm | 8 +- .../projectiles/guns/ballistic/pistol.dm | 6 +- .../projectiles/guns/ballistic/revolver.dm | 20 +- .../projectiles/guns/ballistic/rifle.dm | 8 +- .../projectiles/guns/ballistic/shotgun.dm | 8 +- code/modules/projectiles/guns/energy.dm | 22 +- .../projectiles/guns/energy/dueling.dm | 24 +- .../projectiles/guns/energy/energy_gun.dm | 4 +- .../guns/energy/kinetic_accelerator.dm | 24 +- .../projectiles/guns/energy/laser_gatling.dm | 12 +- code/modules/projectiles/guns/energy/pulse.dm | 2 +- .../projectiles/guns/energy/special.dm | 16 +- code/modules/projectiles/guns/magic.dm | 8 +- code/modules/projectiles/guns/magic/wand.dm | 14 +- .../projectiles/guns/misc/beam_rifle.dm | 12 +- .../projectiles/guns/misc/blastcannon.dm | 30 +- code/modules/projectiles/guns/misc/bow.dm | 2 +- .../modules/projectiles/guns/misc/chem_gun.dm | 2 +- .../projectiles/guns/misc/grenade_launcher.dm | 10 +- code/modules/projectiles/guns/misc/medbeam.dm | 2 +- .../projectiles/guns/misc/syringe_gun.dm | 18 +- code/modules/projectiles/pins.dm | 50 +- code/modules/projectiles/projectile.dm | 6 +- code/modules/projectiles/projectile/beams.dm | 2 +- .../projectile/bullets/dart_syringe.dm | 4 +- .../projectile/bullets/dnainjector.dm | 4 +- code/modules/projectiles/projectile/magic.dm | 58 +- .../projectiles/projectile/special/floral.dm | 6 +- .../projectile/special/hallucination.dm | 4 +- .../modules/reagents/chemistry/equilibrium.dm | 2 +- code/modules/reagents/chemistry/holder.dm | 10 +- code/modules/reagents/chemistry/items.dm | 40 +- .../chemistry/machinery/chem_dispenser.dm | 14 +- .../chemistry/machinery/chem_heater.dm | 4 +- .../chemistry/machinery/chem_mass_spec.dm | 4 +- .../chemistry/machinery/chem_master.dm | 8 +- .../chemistry/machinery/chem_recipe_debug.dm | 12 +- .../chemistry/machinery/chem_synthesizer.dm | 2 +- .../reagents/chemistry/machinery/pandemic.dm | 8 +- .../chemistry/machinery/reagentgrinder.dm | 32 +- .../chemistry/machinery/smoke_machine.dm | 2 +- code/modules/reagents/chemistry/reagents.dm | 2 +- .../chemistry/reagents/alcohol_reagents.dm | 46 +- .../reagents/cat2_medicine_reagents.dm | 18 +- .../chemistry/reagents/drink_reagents.dm | 4 +- .../chemistry/reagents/drug_reagents.dm | 22 +- .../chemistry/reagents/food_reagents.dm | 22 +- .../impure_medicine_reagents.dm | 10 +- .../chemistry/reagents/medicine_reagents.dm | 48 +- .../chemistry/reagents/other_reagents.dm | 28 +- .../reagents/reaction_agents_reagents.dm | 12 +- .../chemistry/reagents/toxin_reagents.dm | 28 +- .../chemistry/reagents/unique/eigenstasium.dm | 6 +- .../chemistry/recipes/cat2_medicines.dm | 8 +- .../reagents/chemistry/recipes/medicine.dm | 4 +- .../reagents/chemistry/recipes/others.dm | 10 +- .../chemistry/recipes/pyrotechnics.dm | 4 +- .../chemistry/recipes/slime_extracts.dm | 32 +- code/modules/reagents/reagent_containers.dm | 22 +- .../reagents/reagent_containers/blood_pack.dm | 2 +- .../reagents/reagent_containers/borghydro.dm | 28 +- .../reagents/reagent_containers/chem_pack.dm | 8 +- .../reagents/reagent_containers/dropper.dm | 24 +- .../reagents/reagent_containers/glass.dm | 58 +- .../reagents/reagent_containers/hypospray.dm | 18 +- .../reagents/reagent_containers/maunamug.dm | 18 +- .../reagents/reagent_containers/medigel.dm | 16 +- .../reagents/reagent_containers/patch.dm | 4 +- .../reagents/reagent_containers/pill.dm | 22 +- .../reagents/reagent_containers/spray.dm | 30 +- .../reagents/reagent_containers/syringes.dm | 36 +- code/modules/reagents/reagent_dispenser.dm | 18 +- .../modules/reagents/withdrawal/_addiction.dm | 8 +- .../reagents/withdrawal/generic_addictions.dm | 6 +- code/modules/recycling/conveyor2.dm | 26 +- code/modules/recycling/disposal/bin.dm | 34 +- .../recycling/disposal/construction.dm | 20 +- code/modules/recycling/disposal/outlet.dm | 16 +- code/modules/recycling/disposal/pipe.dm | 6 +- .../recycling/disposal/pipe_sorting.dm | 4 +- code/modules/recycling/sortingmachinery.dm | 108 +-- code/modules/religion/religion_sects.dm | 56 +- code/modules/religion/religion_structures.dm | 26 +- code/modules/religion/rites.dm | 90 +-- code/modules/research/anomaly/anomaly_core.dm | 4 +- .../research/anomaly/explosive_compressor.dm | 30 +- code/modules/research/bepis.dm | 2 +- code/modules/research/destructive_analyzer.dm | 6 +- code/modules/research/experimentor.dm | 112 ++-- .../research/nanites/nanite_chamber.dm | 18 +- .../nanites/nanite_cloud_controller.dm | 6 +- .../research/nanites/nanite_program_hub.dm | 4 +- .../research/nanites/nanite_programmer.dm | 4 +- .../nanites/nanite_programs/protocols.dm | 4 +- .../research/nanites/nanite_programs/rogue.dm | 16 +- .../nanites/nanite_programs/suppression.dm | 10 +- .../nanites/nanite_programs/utility.dm | 6 +- .../nanites/nanite_programs/weapon.dm | 12 +- .../modules/research/nanites/nanite_remote.dm | 24 +- .../research/nanites/public_chamber.dm | 16 +- code/modules/research/rdconsole.dm | 18 +- code/modules/research/rdmachines.dm | 12 +- code/modules/research/server.dm | 4 +- .../xenobiology/crossbreeding/__corecross.dm | 16 +- .../xenobiology/crossbreeding/_clothing.dm | 10 +- .../xenobiology/crossbreeding/_misc.dm | 30 +- .../xenobiology/crossbreeding/_mobs.dm | 2 +- .../xenobiology/crossbreeding/_potions.dm | 66 +- .../crossbreeding/_status_effects.dm | 70 +- .../xenobiology/crossbreeding/burning.dm | 56 +- .../xenobiology/crossbreeding/charged.dm | 56 +- .../xenobiology/crossbreeding/chilling.dm | 76 +-- .../xenobiology/crossbreeding/consuming.dm | 18 +- .../xenobiology/crossbreeding/recurring.dm | 4 +- .../xenobiology/crossbreeding/regenerative.dm | 44 +- .../xenobiology/crossbreeding/reproductive.dm | 8 +- .../crossbreeding/selfsustaining.dm | 4 +- .../xenobiology/crossbreeding/stabilized.dm | 10 +- .../xenobiology/vatgrowing/microscope.dm | 4 +- .../xenobiology/vatgrowing/petri_dish.dm | 6 +- .../vatgrowing/samples/_micro_organism.dm | 10 +- .../vatgrowing/samples/cell_lines/common.dm | 2 +- .../xenobiology/vatgrowing/vatgrower.dm | 8 +- .../research/xenobiology/xenobio_camera.dm | 68 +- .../research/xenobiology/xenobiology.dm | 254 +++---- .../ruins/icemoonruin_code/hotsprings.dm | 2 +- code/modules/ruins/lavaland_ruin_code.dm | 6 +- .../lavalandruin_code/elephantgraveyard.dm | 24 +- .../modules/ruins/lavalandruin_code/puzzle.dm | 10 +- .../ruins/objects_and_mobs/ash_walker_den.dm | 10 +- .../ruins/objects_and_mobs/necropolis_gate.dm | 12 +- .../ruins/objects_and_mobs/sin_ruins.dm | 22 +- .../ruins/spaceruin_code/TheDerelict.dm | 2 +- .../ruins/spaceruin_code/hilbertshotel.dm | 38 +- .../security_levels/keycard_authentication.dm | 6 +- code/modules/shuttle/arrivals.dm | 2 +- code/modules/shuttle/assault_pod.dm | 2 +- code/modules/shuttle/computer.dm | 18 +- code/modules/shuttle/emergency.dm | 24 +- code/modules/shuttle/ferry.dm | 2 +- code/modules/shuttle/navigation_computer.dm | 16 +- code/modules/shuttle/on_move.dm | 2 +- .../shuttle/spaceship_navigation_beacon.dm | 4 +- code/modules/shuttle/special.dm | 20 +- code/modules/shuttle/syndicate.dm | 4 +- code/modules/spells/spell.dm | 38 +- code/modules/spells/spell_types/aimed.dm | 6 +- .../spells/spell_types/area_teleport.dm | 2 +- code/modules/spells/spell_types/bloodcrawl.dm | 6 +- code/modules/spells/spell_types/charge.dm | 18 +- .../spells/spell_types/construct_spells.dm | 22 +- code/modules/spells/spell_types/curse.dm | 8 +- .../spells/spell_types/ethereal_jaunt.dm | 4 +- code/modules/spells/spell_types/godhand.dm | 34 +- code/modules/spells/spell_types/lichdom.dm | 14 +- code/modules/spells/spell_types/lightning.dm | 8 +- code/modules/spells/spell_types/mime.dm | 22 +- .../spells/spell_types/personality_commune.dm | 8 +- .../spells/spell_types/pointed/barnyard.dm | 14 +- .../spells/spell_types/pointed/blind.dm | 2 +- .../spell_types/pointed/mind_transfer.dm | 22 +- .../spells/spell_types/pointed/pointed.dm | 10 +- .../spells/spell_types/rightandwrong.dm | 8 +- code/modules/spells/spell_types/rod_form.dm | 6 +- .../modules/spells/spell_types/shadow_walk.dm | 12 +- code/modules/spells/spell_types/shapeshift.dm | 4 +- code/modules/spells/spell_types/soultap.dm | 4 +- code/modules/spells/spell_types/summonitem.dm | 18 +- code/modules/spells/spell_types/telepathy.dm | 2 +- .../spells/spell_types/touch_attacks.dm | 10 +- .../spells/spell_types/voice_of_god.dm | 2 +- code/modules/spells/spell_types/wizard.dm | 6 +- code/modules/station_goals/bsa.dm | 10 +- code/modules/station_goals/dna_vault.dm | 32 +- code/modules/station_goals/shield.dm | 8 +- code/modules/station_goals/station_goal.dm | 4 +- .../advanced/bioware/cortex_folding.dm | 20 +- .../advanced/bioware/cortex_imprint.dm | 20 +- .../surgery/advanced/bioware/ligament_hook.dm | 12 +- .../bioware/ligament_reinforcement.dm | 12 +- .../surgery/advanced/bioware/muscled_veins.dm | 12 +- .../advanced/bioware/nerve_grounding.dm | 12 +- .../advanced/bioware/nerve_splicing.dm | 12 +- .../advanced/bioware/vein_threading.dm | 12 +- code/modules/surgery/advanced/brainwashing.dm | 26 +- code/modules/surgery/advanced/lobotomy.dm | 20 +- .../surgery/advanced/necrotic_revival.dm | 12 +- code/modules/surgery/advanced/pacification.dm | 18 +- .../modules/surgery/advanced/viral_bonding.dm | 12 +- .../surgery/advanced/wingreconstruction.dm | 12 +- code/modules/surgery/amputation.dm | 12 +- code/modules/surgery/blood_filter.dm | 16 +- code/modules/surgery/bodyparts/_bodyparts.dm | 32 +- .../surgery/bodyparts/dismemberment.dm | 4 +- code/modules/surgery/bodyparts/head.dm | 24 +- code/modules/surgery/bodyparts/parts.dm | 8 +- .../surgery/bodyparts/robot_bodyparts.dm | 40 +- code/modules/surgery/bone_mending.dm | 48 +- code/modules/surgery/brain_surgery.dm | 20 +- code/modules/surgery/burn_dressing.dm | 40 +- code/modules/surgery/cavity_implant.dm | 28 +- code/modules/surgery/core_removal.dm | 14 +- code/modules/surgery/coronary_bypass.dm | 34 +- code/modules/surgery/dental_implant.dm | 14 +- code/modules/surgery/eye_surgery.dm | 28 +- code/modules/surgery/gastrectomy.dm | 18 +- code/modules/surgery/healing.dm | 20 +- code/modules/surgery/hepatectomy.dm | 18 +- code/modules/surgery/implant_removal.dm | 26 +- code/modules/surgery/limb_augmentation.dm | 22 +- code/modules/surgery/lipoplasty.dm | 26 +- code/modules/surgery/lobectomy.dm | 16 +- code/modules/surgery/mechanic_steps.dm | 36 +- code/modules/surgery/organ_manipulation.dm | 42 +- code/modules/surgery/organic_steps.dm | 58 +- code/modules/surgery/organs/augments_arms.dm | 30 +- code/modules/surgery/organs/augments_chest.dm | 18 +- .../surgery/organs/augments_internal.dm | 12 +- code/modules/surgery/organs/autosurgeon.dm | 16 +- code/modules/surgery/organs/ears.dm | 6 +- code/modules/surgery/organs/eyes.dm | 10 +- code/modules/surgery/organs/heart.dm | 50 +- code/modules/surgery/organs/liver.dm | 10 +- code/modules/surgery/organs/lungs.dm | 22 +- code/modules/surgery/organs/organ_internal.dm | 8 +- code/modules/surgery/organs/stomach.dm | 10 +- code/modules/surgery/organs/tongue.dm | 36 +- code/modules/surgery/organs/vocal_cords.dm | 8 +- code/modules/surgery/plastic_surgery.dm | 26 +- .../modules/surgery/prosthetic_replacement.dm | 50 +- code/modules/surgery/repair_puncture.dm | 44 +- code/modules/surgery/revival.dm | 28 +- code/modules/surgery/stomachpump.dm | 16 +- code/modules/surgery/surgery.dm | 2 +- code/modules/surgery/surgery_step.dm | 22 +- code/modules/surgery/tools.dm | 34 +- code/modules/swarmers/swarmer.dm | 34 +- code/modules/swarmers/swarmer_act.dm | 62 +- code/modules/swarmers/swarmer_objs.dm | 2 +- code/modules/uplink/uplink_items.dm | 6 +- code/modules/vehicles/_vehicle.dm | 4 +- code/modules/vehicles/atv.dm | 4 +- code/modules/vehicles/cars/car.dm | 14 +- code/modules/vehicles/cars/clowncar.dm | 30 +- code/modules/vehicles/lavaboat.dm | 2 +- code/modules/vehicles/mecha/_mecha.dm | 130 ++-- .../vehicles/mecha/combat/savannah_ivanov.dm | 22 +- .../mecha/equipment/mecha_equipment.dm | 6 +- .../mecha/equipment/tools/medical_tools.dm | 52 +- .../mecha/equipment/tools/mining_tools.dm | 12 +- .../mecha/equipment/tools/other_tools.dm | 28 +- .../mecha/equipment/tools/weapon_bay.dm | 4 +- .../mecha/equipment/tools/work_tools.dm | 58 +- .../mecha/equipment/weapons/mecha_ammo.dm | 4 +- .../mecha/equipment/weapons/weapons.dm | 4 +- code/modules/vehicles/mecha/mech_bay.dm | 2 +- .../modules/vehicles/mecha/mech_fabricator.dm | 10 +- .../vehicles/mecha/mech_melee_attack.dm | 28 +- code/modules/vehicles/mecha/mecha_actions.dm | 2 +- .../mecha/mecha_construction_paths.dm | 618 +++++++++--------- .../vehicles/mecha/mecha_control_console.dm | 2 +- code/modules/vehicles/mecha/mecha_defense.dm | 48 +- code/modules/vehicles/mecha/mecha_parts.dm | 4 +- code/modules/vehicles/mecha/mecha_topic.dm | 48 +- code/modules/vehicles/mecha/mecha_wreckage.dm | 22 +- code/modules/vehicles/mecha/working/ripley.dm | 8 +- code/modules/vehicles/motorized_wheelchair.dm | 26 +- code/modules/vehicles/pimpin_ride.dm | 8 +- code/modules/vehicles/ridden.dm | 12 +- code/modules/vehicles/scooter.dm | 28 +- code/modules/vehicles/sealed.dm | 14 +- code/modules/vehicles/secway.dm | 16 +- code/modules/vehicles/speedbike.dm | 4 +- code/modules/vehicles/vehicle_actions.dm | 10 +- code/modules/vehicles/vehicle_key.dm | 14 +- code/modules/vehicles/wheelchair.dm | 6 +- code/modules/vending/_vending.dm | 76 +-- code/modules/wiremod/integrated_circuit.dm | 8 +- code/modules/wiremod/marker.dm | 2 +- code/modules/wiremod/shell/shell_items.dm | 4 +- code/modules/zombie/items.dm | 2 +- code/modules/zombie/organs.dm | 6 +- config/admin_nicknames.json | 2 +- interface/interface.dm | 10 +- tgstation.dme | 1 + 1676 files changed, 15455 insertions(+), 15226 deletions(-) create mode 100644 code/__HELPERS/span.dm diff --git a/code/__DEFINES/tgs.config.dm b/code/__DEFINES/tgs.config.dm index a2fcc7855ab..ec49eae4838 100644 --- a/code/__DEFINES/tgs.config.dm +++ b/code/__DEFINES/tgs.config.dm @@ -3,7 +3,7 @@ #define TGS_DEFINE_AND_SET_GLOBAL(Name, Value) GLOBAL_VAR_INIT(##Name, ##Value); GLOBAL_PROTECT(##Name) #define TGS_READ_GLOBAL(Name) GLOB.##Name #define TGS_WRITE_GLOBAL(Name, Value) GLOB.##Name = ##Value -#define TGS_WORLD_ANNOUNCE(message) to_chat(world, "[html_encode(##message)]") +#define TGS_WORLD_ANNOUNCE(message) to_chat(world, span_boldannounce("[html_encode(##message)]")) #define TGS_INFO_LOG(message) log_world("TGS Info: [##message]") #define TGS_WARNING_LOG(message) log_world("TGS Warn: [##message]") #define TGS_ERROR_LOG(message) log_world("TGS Error: [##message]") diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm index 0de3be4ff34..46788ac8807 100644 --- a/code/__HELPERS/areas.dm +++ b/code/__HELPERS/areas.dm @@ -52,10 +52,10 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engineerin )) var/list/turfs = detect_room(get_turf(creator), area_or_turf_fail_types, BP_MAX_ROOM_SIZE*2) if(!turfs) - to_chat(creator, "The new area must be completely airtight and not a part of a shuttle.") + to_chat(creator, span_warning("The new area must be completely airtight and not a part of a shuttle.")) return if(turfs.len > BP_MAX_ROOM_SIZE) - to_chat(creator, "The room you're in is too big. It is [turfs.len >= BP_MAX_ROOM_SIZE *2 ? "more than 100" : ((turfs.len / BP_MAX_ROOM_SIZE)-1)*100]% larger than allowed.") + to_chat(creator, span_warning("The room you're in is too big. It is [turfs.len >= BP_MAX_ROOM_SIZE *2 ? "more than 100" : ((turfs.len / BP_MAX_ROOM_SIZE)-1)*100]% larger than allowed.")) return var/list/areas = list("New Area" = /area) for(var/i in 1 to turfs.len) @@ -69,7 +69,7 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engineerin area_choice = areas[area_choice] if(!area_choice) - to_chat(creator, "No choice selected. The area remains undefined.") + to_chat(creator, span_warning("No choice selected. The area remains undefined.")) return var/area/newA var/area/oldA = get_area(get_turf(creator)) @@ -78,7 +78,7 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engineerin if(!str || !length(str)) //cancel return if(length(str) > 50) - to_chat(creator, "The given name is too long. The area remains undefined.") + to_chat(creator, span_warning("The given name is too long. The area remains undefined.")) return newA = new area_choice newA.setup(str) @@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engineerin var/obj/machinery/door/firedoor/FD = door FD.CalculateAffectingAreas() - to_chat(creator, "You have created a new area, named [newA.name]. It is now weather proof, and constructing an APC will allow it to be powered.") + to_chat(creator, span_notice("You have created a new area, named [newA.name]. It is now weather proof, and constructing an APC will allow it to be powered.")) return TRUE #undef BP_MAX_ROOM_SIZE diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 9b83f6e6d8c..5e02bae5003 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -394,22 +394,22 @@ var/list/answers = ignore_category ? list("Yes", "No", "Never for this round") : list("Yes", "No") switch(tgui_alert(M, Question, "A limited-time offer!", answers, timeout=poll_time)) if("Yes") - to_chat(M, "Choice registered: Yes.") + to_chat(M, span_notice("Choice registered: Yes.")) if(time_passed + poll_time <= world.time) - to_chat(M, "Sorry, you answered too late to be considered!") + to_chat(M, span_danger("Sorry, you answered too late to be considered!")) SEND_SOUND(M, 'sound/machines/buzz-sigh.ogg') candidates -= M else candidates += M if("No") - to_chat(M, "Choice registered: No.") + to_chat(M, span_danger("Choice registered: No.")) candidates -= M if("Never for this round") var/list/L = GLOB.poll_ignore[ignore_category] if(!L) GLOB.poll_ignore[ignore_category] = list() GLOB.poll_ignore[ignore_category] += M.ckey - to_chat(M, "Choice registered: Never for this round.") + to_chat(M, span_danger("Choice registered: Never for this round.")) candidates -= M else candidates -= M diff --git a/code/__HELPERS/hearted.dm b/code/__HELPERS/hearted.dm index 77aa9227780..391f45ab303 100644 --- a/code/__HELPERS/hearted.dm +++ b/code/__HELPERS/hearted.dm @@ -82,7 +82,7 @@ /mob/proc/nominate_heart(mob/heart_recepient, duration = 24 HOURS, instant = FALSE) if(!mind || !client || !heart_recepient?.client) return - to_chat(src, "Commendation sent!") + to_chat(src, span_nicegreen("Commendation sent!")) message_admins("[key_name(src)] commended [key_name(heart_recepient)] [instant ? "" : "(roundend)"]") log_admin("[key_name(src)] commended [key_name(heart_recepient)] [instant ? "" : "(roundend)"]") if(instant || SSticker.current_state == GAME_STATE_FINISHED) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 666cd557638..1e965ca7649 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -354,7 +354,7 @@ GLOBAL_LIST_EMPTY(species_list) if(interaction_key) var/current_interaction_count = LAZYACCESS(user.do_afters, interaction_key) || 0 if(current_interaction_count >= max_interact_count) //We are at our peak - to_chat(user, "You can't do this at the moment!") + to_chat(user, span_warning("You can't do this at the moment!")) return LAZYSET(user.do_afters, interaction_key, current_interaction_count + 1) @@ -465,7 +465,7 @@ GLOBAL_LIST_EMPTY(species_list) // Displays a message in deadchat, sent by source. source is not linkified, message is, to avoid stuff like character names to be linkified. // Automatically gives the class deadsay to the whole message (message + source) /proc/deadchat_broadcast(message, source=null, mob/follow_target=null, turf/turf_target=null, speaker_key=null, message_type=DEADCHAT_REGULAR, admin_only=FALSE) - message = "[source][message]" + message = span_deadsay("[source][message]") for(var/mob/M in GLOB.player_list) var/chat_toggles = TOGGLES_DEFAULT_CHAT @@ -480,7 +480,7 @@ GLOBAL_LIST_EMPTY(species_list) if (!M.client.holder) return else - message += " (This is viewable to admins only)." + message += span_deadsay(" (This is viewable to admins only).") var/override = FALSE if(M.client.holder && (chat_toggles & CHAT_DEAD)) override = TRUE diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index 7a3cf98cdf8..31506d73758 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -34,7 +34,7 @@ if(SSstation.announcer.custom_alert_message && !has_important_message) announcement += SSstation.announcer.custom_alert_message else - announcement += "
[html_encode(text)]
" + announcement += "
[span_alert("[html_encode(text)]")]
" announcement += "
" var/s = sound(sound) @@ -56,7 +56,7 @@ var/meeting_sound = sound('sound/misc/emergency_meeting.ogg') var/announcement announcement += "

Captain Alert

" - announcement += "
[user] has called an Emergency Meeting!

" + announcement += "
[span_alert("[user] has called an Emergency Meeting!")]

" for(var/mob/mob_to_teleport in GLOB.player_list) //gotta make sure the whole crew's here! if(isnewplayer(mob_to_teleport) || iscameramob(mob_to_teleport)) @@ -99,7 +99,7 @@ for(var/mob/M in GLOB.player_list) if(!isnewplayer(M) && M.can_hear()) - to_chat(M, "[title]
[message]

") + to_chat(M, "[span_minorannounce("[title]
[message]")]
") if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS) if(alert) SEND_SOUND(M, sound('sound/misc/notice1.ogg')) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 2be53ab799c..08ba6defe4d 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -249,7 +249,7 @@ CHECK_TICK handle_hearts() - set_observer_default_invisibility(0, "The round is over! You are now visible to the living.") + set_observer_default_invisibility(0, span_warning("The round is over! You are now visible to the living.")) CHECK_TICK @@ -328,7 +328,7 @@ var/info = statspage ? "[GLOB.round_id]" : GLOB.round_id parts += "[FOURSPACES]Round ID: [info]" parts += "[FOURSPACES]Shift Duration: [DisplayTimeText(world.time - SSticker.round_start_time)]" - parts += "[FOURSPACES]Station Integrity: [GLOB.station_was_nuked ? "Destroyed" : "[popcount["station_integrity"]]%"]" + parts += "[FOURSPACES]Station Integrity: [GLOB.station_was_nuked ? span_redtext("Destroyed") : "[popcount["station_integrity"]]%"]" var/total_players = GLOB.joined_player_list.len if(total_players) parts+= "[FOURSPACES]Total Population: [total_players]" @@ -413,14 +413,14 @@ parts += "You managed to survive, but were marooned on [station_name()]..." else parts += "
" - parts += "You managed to survive the events on [station_name()] as [M.real_name]." + parts += span_greentext("You managed to survive the events on [station_name()] as [M.real_name].") else parts += "
" - parts += "You managed to survive the events on [station_name()] as [M.real_name]." + parts += span_greentext("You managed to survive the events on [station_name()] as [M.real_name].") else parts += "
" - parts += "You did not survive the events on [station_name()]..." + parts += span_redtext("You did not survive the events on [station_name()]...") else parts += "
" parts += "
" @@ -446,7 +446,7 @@ var/mob/living/silicon/ai/aiPlayer = i var/datum/mind/aiMind = aiPlayer.deployed_shell?.mind || aiPlayer.mind if(aiMind) - parts += "[aiPlayer.name] (Played by: [aiMind.key])'s laws [aiPlayer.stat != DEAD ? "at the end of the round" : "when it was deactivated"] were:" + parts += "[aiPlayer.name] (Played by: [aiMind.key])'s laws [aiPlayer.stat != DEAD ? "at the end of the round" : "when it was [span_redtext("deactivated")]"] were:" parts += aiPlayer.laws.get_law_list(include_zeroth=TRUE) parts += "Total law changes: [aiPlayer.law_change_counter]" @@ -457,13 +457,13 @@ for(var/mob/living/silicon/robot/robo in aiPlayer.connected_robots) borg_num-- if(robo.mind) - parts += "[robo.name] (Played by: [robo.mind.key])[robo.stat == DEAD ? " (Deactivated)" : ""][borg_num ?", ":""]" + parts += "[robo.name] (Played by: [robo.mind.key])[robo.stat == DEAD ? " [span_redtext("(Deactivated)")]" : ""][borg_num ?", ":""]" if(!borg_spacer) borg_spacer = TRUE for (var/mob/living/silicon/robot/robo in GLOB.silicon_mobs) if (!robo.connected_ai && robo.mind) - parts += "[borg_spacer?"
":""][robo.name] (Played by: [robo.mind.key]) [(robo.stat != DEAD)? "survived as an AI-less borg!" : "was unable to survive the rigors of being a cyborg without an AI."] Its laws were:" + parts += "[borg_spacer?"
":""][robo.name] (Played by: [robo.mind.key]) [(robo.stat != DEAD)? "[span_greentext("survived")] as an AI-less borg!" : "was [span_redtext("unable to survive")] the rigors of being a cyborg without an AI."] Its laws were:" if(robo) //How the hell do we lose robo between here and the world messages directly above this? parts += robo.laws.get_law_list(include_zeroth=TRUE) @@ -513,12 +513,12 @@ log_econ("Roundend service income: [tourist_income] credits.") switch(tourist_income) if(0) - parts += "Service did not earn any credits...
" + parts += "[span_redtext("Service did not earn any credits...")]
" if(1 to 2000) - parts += "Centcom is displeased. Come on service, surely you can do better than that.
" + parts += "[span_redtext("Centcom is displeased. Come on service, surely you can do better than that.")]
" award_service(/datum/award/achievement/jobs/service_bad) if(2001 to 4999) - parts += "Centcom is satisfied with service's job today.
" + parts += "[span_greentext("Centcom is satisfied with service's job today.")]
" award_service(/datum/award/achievement/jobs/service_okay) else parts += "Centcom is incredibly impressed with service today! What a team!
" @@ -682,17 +682,17 @@ var/text = "[ply.key] was [ply.name][jobtext] and" if(ply.current) if(ply.current.stat == DEAD) - text += " died" + text += " [span_redtext("died")]" else - text += " survived" + text += " [span_greentext("survived")]" if(fleecheck) var/turf/T = get_turf(ply.current) if(!T || !is_station_level(T.z)) - text += " while fleeing the station" + text += " while [span_redtext("fleeing the station")]" if(ply.current.real_name != ply.name) text += " as [ply.current.real_name]" else - text += " had their body destroyed" + text += " [span_redtext("had their body destroyed")]" return text /proc/printplayerlist(list/players,fleecheck) @@ -712,9 +712,9 @@ var/count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - objective_parts += "[objective.objective_name] #[count]: [objective.explanation_text] Success!" + objective_parts += "[objective.objective_name] #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - objective_parts += "[objective.objective_name] #[count]: [objective.explanation_text] Fail." + objective_parts += "[objective.objective_name] #[count]: [objective.explanation_text] [span_redtext("Fail.")]" count++ return objective_parts.Join("
") diff --git a/code/__HELPERS/span.dm b/code/__HELPERS/span.dm new file mode 100644 index 00000000000..37dc6fa0e7e --- /dev/null +++ b/code/__HELPERS/span.dm @@ -0,0 +1,228 @@ +// Sorted alphabetically + +/proc/span_abductor(str) + return "[str]" +/proc/span_admin(str) + return "[str]" +/proc/span_adminhelp(str) + return "[str]" +/proc/span_adminnotice(str) + return "[str]" +/proc/span_adminobserverooc(str) + return "[str]" +/proc/span_adminooc(str) + return "[str]" +/proc/span_adminsay(str) + return "[str]" +/proc/span_aiprivradio(str) + return "[str]" +/proc/span_alert(str) + return "[str]" +/proc/span_alertalien(str) + return "[str]" +/proc/span_alertsyndie(str) + return "[str]" +/proc/span_alertwarning(str) + return "[str]" +/proc/span_alien(str) + return "[str]" +/proc/span_announce(str) + return "[str]" +/proc/span_big(str) + return "[str]" +/proc/span_bigicon(str) + return "[str]" +/proc/span_binarysay(str) + return "[str]" +/proc/span_blue(str) + return "[str]" +/proc/span_blueteamradio(str) + return "[str]" +/proc/span_bold(str) + return "[str]" +/proc/span_boldannounce(str) + return "[str]" +/proc/span_boldnotice(str) + return "[str]" +/proc/span_boldwarning(str) + return "[str]" +/proc/span_centcomradio(str) + return "[str]" +/proc/span_changeling(str) + return "[str]" +/proc/span_clown(str) + return "[str]" +/proc/span_colossus(str) + return "[str]" +/proc/span_command_headset(str) + return "[str]" +/proc/span_comradio(str) + return "[str]" +/proc/span_cult(str) + return "[str]" +/proc/span_cultbold(str) + return "[str]" +/proc/span_cultboldtalic(str) + return "[str]" +/proc/span_cultitalic(str) + return "[str]" +/proc/span_cultlarge(str) + return "[str]" +/proc/span_danger(str) + return "[str]" +/proc/span_deadsay(str) + return "[str]" +/proc/span_deconversion_message(str) + return "[str]" +/proc/span_drone(str) + return "[str]" +/proc/span_engradio(str) + return "[str]" +/proc/span_extremelybig(str) + return "[str]" +/proc/span_ghostalert(str) + return "[str]" +/proc/span_green(str) + return "[str]" +/proc/span_greenannounce(str) + return "[str]" +/proc/span_greenteamradio(str) + return "[str]" +/proc/span_greentext(str) + return "[str]" +/proc/span_hear(str) + return "[str]" +/proc/span_hidden(str) + return "" +/proc/span_hierophant(str) + return "[str]" +/proc/span_hierophant_warning(str) + return "[str]" +/proc/span_highlight(str) + return "[str]" +/proc/span_his_grace(str) + return "[str]" +/proc/span_holoparasite(str) + return "[str]" +/proc/span_hypnophrase(str) + return "[str]" +/proc/span_icon(str) + return "[str]" +/proc/span_info(str) + return "[str]" +/proc/span_interface(str) + return "[str]" +/proc/span_looc(str) + return "[str]" +/proc/span_medal(str) + return "[str]" +/proc/span_medradio(str) + return "[str]" +/proc/span_memo(str) + return "[str]" +/proc/span_memoedit(str) + return "[str]" +/proc/span_mind_control(str) + return "[str]" +/proc/span_minorannounce(str) + return "[str]" +/proc/span_monkey(str) + return "[str]" +/proc/span_monkeyhive(str) + return "[str]" +/proc/span_monkeylead(str) + return "[str]" +/proc/span_name(str) + return "[str]" +/proc/span_narsie(str) + return "[str]" +/proc/span_narsiesmall(str) + return "[str]" +/proc/span_nicegreen(str) + return "[str]" +/proc/span_notice(str) + return "[str]" +/proc/span_noticealien(str) + return "[str]" +/proc/span_ooc(str) + return "[str]" +/proc/span_papyrus(str) + return "[str]" +/proc/span_phobia(str) + return "[str]" +/proc/span_prefix(str) + return "[str]" +/proc/span_purple(str) + return "[str]" +/proc/span_radio(str) + return "[str]" +/proc/span_reallybig(str) + return "[str]" +/proc/span_red(str) + return "[str]" +/proc/span_redteamradio(str) + return "[str]" +/proc/span_redtext(str) + return "[str]" +/proc/span_resonate(str) + return "[str]" +/proc/span_revenbignotice(str) + return "[str]" +/proc/span_revenboldnotice(str) + return "[str]" +/proc/span_revendanger(str) + return "[str]" +/proc/span_revenminor(str) + return "[str]" +/proc/span_revennotice(str) + return "[str]" +/proc/span_revenwarning(str) + return "[str]" +/proc/span_robot(str) + return "[str]" +/proc/span_rose(str) + return "[str]" +/proc/span_sans(str) + return "[str]" +/proc/span_sciradio(str) + return "[str]" +/proc/span_secradio(str) + return "[str]" +/proc/span_servradio(str) + return "[str]" +/proc/span_singing(str) + return "[str]" +/proc/span_slime(str) + return "[str]" +/proc/span_small(str) + return "[str]" +/proc/span_smallnotice(str) + return "[str]" +/proc/span_smallnoticeital(str) + return "[str]" +/proc/span_spider(str) + return "[str]" +/proc/span_suicide(str) + return "[str]" +/proc/span_suppradio(str) + return "[str]" +/proc/span_swarmer(str) + return "[str]" +/proc/span_syndradio(str) + return "[str]" +/proc/span_tape_recorder(str) + return "[str]" +/proc/span_tinynotice(str) + return "[str]" +/proc/span_tinynoticeital(str) + return "[str]" +/proc/span_unconscious(str) + return "[str]" +/proc/span_userdanger(str) + return "[str]" +/proc/span_warning(str) + return "[str]" +/proc/span_yell(str) + return "[str]" +/proc/span_yellowteamradio(str) + return "[str]" diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 9f8f9d5bbe0..24a0ece9d55 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -65,7 +65,7 @@ //while buckled, you can still connect to and control things like doors, but you can't use your modules if(buckled) - to_chat(src, "You can't use modules while buckled to [buckled]!") + to_chat(src, span_warning("You can't use modules while buckled to [buckled]!")) return if(W == A) diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index 192246cdcee..02deb859551 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -25,7 +25,7 @@ return if((istype(over_object, /atom/movable/screen/movable/action_button) && !istype(over_object, /atom/movable/screen/movable/action_button/hide_toggle))) if(locked) - to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") + to_chat(usr, span_warning("Action button \"[name]\" is locked, unlock it first.")) return var/atom/movable/screen/movable/action_button/B = over_object var/list/actions = usr.actions @@ -45,14 +45,14 @@ var/list/modifiers = params2list(params) if(LAZYACCESS(modifiers, SHIFT_CLICK)) if(locked) - to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") + to_chat(usr, span_warning("Action button \"[name]\" is locked, unlock it first.")) return TRUE moved = 0 usr.update_action_buttons() //redraw buttons that are no longer considered "moved" return TRUE if(LAZYACCESS(modifiers, CTRL_CLICK)) locked = !locked - to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.") + to_chat(usr, span_notice("Action button \"[name]\" [locked ? "" : "un"]locked.")) if(id && usr.client) //try to (un)remember position usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = locked ? moved : null return TRUE @@ -97,14 +97,14 @@ var/list/modifiers = params2list(params) if(LAZYACCESS(modifiers, SHIFT_CLICK)) if(locked) - to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") + to_chat(usr, span_warning("Action button \"[name]\" is locked, unlock it first.")) return TRUE moved = FALSE usr.update_action_buttons(TRUE) return TRUE if(LAZYACCESS(modifiers, CTRL_CLICK)) locked = !locked - to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.") + to_chat(usr, span_notice("Action button \"[name]\" [locked ? "" : "un"]locked.")) if(id && usr.client) //try to (un)remember position usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = locked ? moved : null return TRUE @@ -121,7 +121,7 @@ if(id && usr.client) usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = null usr.update_action_buttons(TRUE) - to_chat(usr, "Action button positions have been reset.") + to_chat(usr, span_notice("Action button positions have been reset.")) return TRUE usr.hud_used.action_buttons_hidden = !usr.hud_used.action_buttons_hidden @@ -141,7 +141,7 @@ if(moved) moved = FALSE user.update_action_buttons(TRUE) - to_chat(user, "Action button positions have been reset.") + to_chat(user, span_notice("Action button positions have been reset.")) /atom/movable/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(datum/hud/owner_hud) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 36aff1621c7..addc579aa47 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -247,7 +247,7 @@ or something covering your eyes." . = ..() if(!.) return - to_chat(owner, "[command]") + to_chat(owner, span_mind_control("[command]")) /atom/movable/screen/alert/drunk name = "Drunk" @@ -332,7 +332,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." SIGNAL_HANDLER if (!giver.CanReach(taker)) - to_chat(owner, "You moved out of range of [giver]!") + to_chat(owner, span_warning("You moved out of range of [giver]!")) owner.clear_alert("[giver]") /atom/movable/screen/alert/give/Click(location, control, params) @@ -779,7 +779,7 @@ so as to remain in compliance with the most up-to-date laws." return FALSE var/list/modifiers = params2list(params) if(LAZYACCESS(modifiers, SHIFT_CLICK)) // screen objects don't do the normal Click() stuff so we'll cheat - to_chat(usr, "[name] - [desc]") + to_chat(usr, span_boldnotice("[name] - [desc]")) return FALSE if(master && click_master) return usr.client.Click(master, location, control, params) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index ce9be78fe4b..3961df1bd9a 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -272,9 +272,9 @@ GLOBAL_LIST_INIT(available_ui_styles, list( if(hud_used && client) hud_used.show_hud() //Shows the next hud preset - to_chat(usr, "Switched HUD mode. Press F12 to toggle.") + to_chat(usr, span_info("Switched HUD mode. Press F12 to toggle.")) else - to_chat(usr, "This mob type does not use a HUD.") + to_chat(usr, span_warning("This mob type does not use a HUD.")) //(re)builds the hand ui slots, throwing away old ones diff --git a/code/_onclick/hud/pai.dm b/code/_onclick/hud/pai.dm index d88462acbdb..953b28c720e 100644 --- a/code/_onclick/hud/pai.dm +++ b/code/_onclick/hud/pai.dm @@ -1,4 +1,4 @@ -#define PAI_MISSING_SOFTWARE_MESSAGE "You must download the required software to use this." +#define PAI_MISSING_SOFTWARE_MESSAGE span_warning("You must download the required software to use this.") /atom/movable/screen/pai icon = 'icons/hud/screen_pai.dmi' @@ -94,7 +94,7 @@ else pAI.hostscan.attack(pAI.card.loc, pAI) else - to_chat(src, "You are not being carried by anyone!") + to_chat(src, span_warning("You are not being carried by anyone!")) return FALSE /atom/movable/screen/pai/crew_manifest diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index ecdb86193db..19656d0fd68 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -206,7 +206,7 @@ screenmob.client.screen += module_store_icon //"store" icon if(!R.model.modules) - to_chat(usr, "Selected model has no modules to select!") + to_chat(usr, span_warning("Selected model has no modules to select!")) return if(!R.robot_modules_background) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 9e5872f6371..cab2c452f4a 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -100,7 +100,7 @@ return TRUE var/area/A = get_area(usr) if(!A.outdoors) - to_chat(usr, "There is already a defined structure here.") + to_chat(usr, span_warning("There is already a defined structure here.")) return TRUE create_area(usr) @@ -320,49 +320,49 @@ if(C.internal) C.internal = null - to_chat(C, "You are no longer running on internals.") + to_chat(C, span_notice("You are no longer running on internals.")) icon_state = "internal0" else if(!C.getorganslot(ORGAN_SLOT_BREATHING_TUBE)) if(!istype(C.wear_mask, /obj/item/clothing/mask)) - to_chat(C, "You are not wearing an internals mask!") + to_chat(C, span_warning("You are not wearing an internals mask!")) return 1 else var/obj/item/clothing/mask/M = C.wear_mask if(M.mask_adjusted) // if mask on face but pushed down M.adjustmask(C) // adjust it back if( !(M.clothing_flags & MASKINTERNALS) ) - to_chat(C, "You are not wearing an internals mask!") + to_chat(C, span_warning("You are not wearing an internals mask!")) return var/obj/item/I = C.is_holding_item_of_type(/obj/item/tank) if(I) - to_chat(C, "You are now running on internals from [I] in your [C.get_held_index_name(C.get_held_index_of_item(I))].") + to_chat(C, span_notice("You are now running on internals from [I] in your [C.get_held_index_name(C.get_held_index_of_item(I))].")) C.internal = I else if(ishuman(C)) var/mob/living/carbon/human/H = C if(istype(H.s_store, /obj/item/tank)) - to_chat(H, "You are now running on internals from [H.s_store] on your [H.wear_suit.name].") + to_chat(H, span_notice("You are now running on internals from [H.s_store] on your [H.wear_suit.name].")) H.internal = H.s_store else if(istype(H.belt, /obj/item/tank)) - to_chat(H, "You are now running on internals from [H.belt] on your belt.") + to_chat(H, span_notice("You are now running on internals from [H.belt] on your belt.")) H.internal = H.belt else if(istype(H.l_store, /obj/item/tank)) - to_chat(H, "You are now running on internals from [H.l_store] in your left pocket.") + to_chat(H, span_notice("You are now running on internals from [H.l_store] in your left pocket.")) H.internal = H.l_store else if(istype(H.r_store, /obj/item/tank)) - to_chat(H, "You are now running on internals from [H.r_store] in your right pocket.") + to_chat(H, span_notice("You are now running on internals from [H.r_store] in your right pocket.")) H.internal = H.r_store //Separate so CO2 jetpacks are a little less cumbersome. if(!C.internal && istype(C.back, /obj/item/tank)) - to_chat(C, "You are now running on internals from [C.back] on your back.") + to_chat(C, span_notice("You are now running on internals from [C.back] on your back.")) C.internal = C.back if(C.internal) icon_state = "internal1" else - to_chat(C, "You don't have an oxygen tank!") + to_chat(C, span_warning("You don't have an oxygen tank!")) return C.update_action_buttons_icon() diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 06b9ff794c5..b8da3560dae 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -168,7 +168,7 @@ return if(force && HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, span_warning("You don't want to harm other living beings!")) return if(!force) @@ -213,8 +213,8 @@ no_damage = FALSE //only witnesses close by and the victim see a hit message. log_combat(user, src, "attacked", I) - user.visible_message("[user] hits [src] with [I][no_damage ? ", which doesn't leave a mark" : ""]!", \ - "You hit [src] with [I][no_damage ? ", which doesn't leave a mark" : ""]!", null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] hits [src] with [I][no_damage ? ", which doesn't leave a mark" : ""]!"), \ + span_danger("You hit [src] with [I][no_damage ? ", which doesn't leave a mark" : ""]!"), null, COMBAT_MESSAGE_RANGE) /mob/living/attacked_by(obj/item/I, mob/living/user) send_item_attack_message(I, user) @@ -288,7 +288,7 @@ attack_message_victim = "[user] [message_verb_continuous] you[message_hit_area] with [I]!" if(user == src) attack_message_victim = "You [message_verb_simple] yourself[message_hit_area] with [I]" - visible_message("[attack_message_spectator]",\ - "[attack_message_victim]", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "[attack_message_attacker]") + visible_message(span_danger("[attack_message_spectator]"),\ + span_userdanger("[attack_message_victim]"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("[attack_message_attacker]")) return 1 diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index b7ce6e3a7d7..3f53c598029 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -23,10 +23,10 @@ if(!has_active_hand()) //can't attack without a hand. var/obj/item/bodypart/check_arm = get_active_hand() if(check_arm?.bodypart_disabled) - to_chat(src, "Your [check_arm.name] is in no condition to be used.") + to_chat(src, span_warning("Your [check_arm.name] is in no condition to be used.")) return - to_chat(src, "You look at your arm and sigh.") + to_chat(src, span_notice("You look at your arm and sigh.")) return // Special glove functions: @@ -75,7 +75,7 @@ if(!user.can_interact_with(src)) return FALSE if((interaction_flags_atom & INTERACT_ATOM_REQUIRES_DEXTERITY) && !ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return FALSE if(!(interaction_flags_atom & INTERACT_ATOM_IGNORE_INCAPACITATED) && user.incapacitated((interaction_flags_atom & INTERACT_ATOM_IGNORE_RESTRAINED), !(interaction_flags_atom & INTERACT_ATOM_CHECK_GRAB))) return FALSE diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 6ec42b65666..788cc1b5441 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -183,7 +183,7 @@ /proc/tkMaxRangeCheck(mob/user, atom/target) var/d = get_dist(user, target) if(d > TK_MAXRANGE) - to_chat(user, "Your mind won't reach that far.") + to_chat(user, span_warning("Your mind won't reach that far.")) return return TRUE @@ -223,7 +223,7 @@ . += focus_overlay /obj/item/tk_grab/suicide_act(mob/user) - user.visible_message("[user] is using [user.p_their()] telekinesis to choke [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is using [user.p_their()] telekinesis to choke [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 3abd4b04ae8..8fc589b0b90 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -52,40 +52,40 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) if(Master.processing && Master.iteration) if (defcon > 1 && (!Master.stack_end_detector || !Master.stack_end_detector.check())) - to_chat(GLOB.admins, "ERROR: The Master Controller code stack has exited unexpectedly, Restarting...") + to_chat(GLOB.admins, span_boldannounce("ERROR: The Master Controller code stack has exited unexpectedly, Restarting...")) defcon = 0 var/rtn = Recreate_MC() if(rtn > 0) master_iteration = 0 - to_chat(GLOB.admins, "MC restarted successfully") + to_chat(GLOB.admins, span_adminnotice("MC restarted successfully")) else if(rtn < 0) log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0") - to_chat(GLOB.admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.") + to_chat(GLOB.admins, span_boldannounce("ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")) // Check if processing is done yet. if(Master.iteration == master_iteration) switch(defcon) if(4,5) --defcon - + if(3) - message_admins("Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.") + message_admins(span_adminnotice("Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")) --defcon - + if(2) - to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.") + to_chat(GLOB.admins, span_boldannounce("Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.")) --defcon - + if(1) - to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...") + to_chat(GLOB.admins, span_boldannounce("Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...")) --defcon var/rtn = Recreate_MC() if(rtn > 0) defcon = 4 master_iteration = 0 - to_chat(GLOB.admins, "MC restarted successfully") + to_chat(GLOB.admins, span_adminnotice("MC restarted successfully")) else if(rtn < 0) log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0") - to_chat(GLOB.admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.") + to_chat(GLOB.admins, span_boldannounce("ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")) //if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again //no need to handle that specially when defcon 0 can handle it @@ -94,7 +94,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) if(rtn > 0) defcon = 4 master_iteration = 0 - to_chat(GLOB.admins, "MC restarted successfully") + to_chat(GLOB.admins, span_adminnotice("MC restarted successfully")) else defcon = min(defcon + 1,5) master_iteration = Master.iteration diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 8f24bdb3de6..c1e327f4708 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -160,7 +160,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined." BadBoy.flags |= SS_NO_FIRE if(msg) - to_chat(GLOB.admins, "[msg]") + to_chat(GLOB.admins, span_boldannounce("[msg]")) log_world(msg) if (istype(Master.subsystems)) @@ -170,7 +170,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new current_runlevel = Master.current_runlevel StartProcessing(10) else - to_chat(world, "The Master Controller is having some issues, we will need to re-initialize EVERYTHING") + to_chat(world, span_boldannounce("The Master Controller is having some issues, we will need to re-initialize EVERYTHING")) Initialize(20, TRUE) @@ -185,7 +185,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new if(init_sss) init_subtypes(/datum/controller/subsystem, subsystems) - to_chat(world, "Initializing subsystems...") + to_chat(world, span_boldannounce("Initializing subsystems...")) // Sort subsystems by init_order, so they initialize in the correct order. sortTim(subsystems, /proc/cmp_subsystem_init) @@ -202,7 +202,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/time = (REALTIMEOFDAY - start_timeofday) / 10 var/msg = "Initializations complete within [time] second[time == 1 ? "" : "s"]!" - to_chat(world, "[msg]") + to_chat(world, span_boldannounce("[msg]")) log_world(msg) if (!current_runlevel) diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index 091d495d3c4..b9c49dfe8e7 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -217,7 +217,7 @@ SEND_SIGNAL(src, COMSIG_SUBSYSTEM_POST_INITIALIZE, start_timeofday) var/time = (REALTIMEOFDAY - start_timeofday) / 10 var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!" - to_chat(world, "[msg]") + to_chat(world, span_boldannounce("[msg]")) log_world(msg) return time diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index d450e62eaa5..c30fd2e1e4d 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -509,7 +509,7 @@ SUBSYSTEM_DEF(air) CHECK_TICK var/msg = "HEY! LISTEN! [DisplayTimeText(world.timeofday - timer)] were wasted processing [starting_ats] turf(s) (connected to [ending_ats - starting_ats] other turfs) with atmos differences at round start." - to_chat(world, "[msg]") + to_chat(world, span_boldannounce("[msg]")) warning(msg) /turf/open/proc/resolve_active_graph() diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm index 2ce50a06a7c..922e65e0e74 100644 --- a/code/controllers/subsystem/augury.dm +++ b/code/controllers/subsystem/augury.dm @@ -70,13 +70,13 @@ SUBSYSTEM_DEF(augury) /datum/action/innate/augury/Activate() SSaugury.watchers += owner - to_chat(owner, "You are now auto-following debris.") + to_chat(owner, span_notice("You are now auto-following debris.")) active = TRUE UpdateButtonIcon() /datum/action/innate/augury/Deactivate() SSaugury.watchers -= owner - to_chat(owner, "You are no longer auto-following debris.") + to_chat(owner, span_notice("You are no longer auto-following debris.")) active = FALSE UpdateButtonIcon() diff --git a/code/controllers/subsystem/blackmarket.dm b/code/controllers/subsystem/blackmarket.dm index a61c11aaeb2..8b7335ed9fa 100644 --- a/code/controllers/subsystem/blackmarket.dm +++ b/code/controllers/subsystem/blackmarket.dm @@ -65,7 +65,7 @@ SUBSYSTEM_DEF(blackmarket) var/obj/machinery/ltsrbt/pad = pick(telepads) - to_chat(recursive_loc_check(purchase.uplink.loc, /mob), "[purchase.uplink] flashes a message noting that the order is being processed by [pad].") + to_chat(recursive_loc_check(purchase.uplink.loc, /mob), span_notice("[purchase.uplink] flashes a message noting that the order is being processed by [pad].")) queued_purchases -= purchase pad.add_to_queue(purchase) @@ -76,7 +76,7 @@ SUBSYSTEM_DEF(blackmarket) if (!targetturf) continue - to_chat(recursive_loc_check(purchase.uplink.loc, /mob), "[purchase.uplink] flashes a message noting that the order is being teleported to [get_area(targetturf)] in 60 seconds.") + to_chat(recursive_loc_check(purchase.uplink.loc, /mob), span_notice("[purchase.uplink] flashes a message noting that the order is being teleported to [get_area(targetturf)] in 60 seconds.")) // do_teleport does not want to teleport items from nullspace, so it just forceMoves and does sparks. addtimer(CALLBACK(src, /datum/controller/subsystem/blackmarket/proc/fake_teleport, purchase.entry.spawn_item(), targetturf), 60 SECONDS) @@ -91,7 +91,7 @@ SUBSYSTEM_DEF(blackmarket) var/atom/movable/item = purchase.entry.spawn_item(pickedloc) item.throw_at(purchase.uplink, 3, 3, spin = FALSE) - to_chat(recursive_loc_check(purchase.uplink.loc, /mob), "[purchase.uplink] flashes a message noting the order is being launched at the station from [dir2text(startSide)].") + to_chat(recursive_loc_check(purchase.uplink.loc, /mob), span_notice("[purchase.uplink] flashes a message noting the order is being launched at the station from [dir2text(startSide)].")) queued_purchases -= purchase qdel(purchase) diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm index 97220fe249f..40722c85baf 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -319,7 +319,7 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table /datum/db_query/proc/warn_execute(async = TRUE) . = Execute(async) if(!.) - to_chat(usr, "A SQL error occurred during this operation, check the server logs.") + to_chat(usr, span_danger("A SQL error occurred during this operation, check the server logs.")) /datum/db_query/proc/Execute(async = TRUE, log_error = TRUE) Activity("Execute") diff --git a/code/controllers/subsystem/eigenstate.dm b/code/controllers/subsystem/eigenstate.dm index b1aab88e38b..b6a01265f05 100644 --- a/code/controllers/subsystem/eigenstate.dm +++ b/code/controllers/subsystem/eigenstate.dm @@ -114,5 +114,5 @@ SUBSYSTEM_DEF(eigenstates) ///Prevents tool use on the item /datum/controller/subsystem/eigenstates/proc/tool_interact(atom/source, mob/user, obj/item/item) SIGNAL_HANDLER - to_chat(user, "The unstable nature of [source] makes it impossible to use [item] on [source.p_them()]!") + to_chat(user, span_notice("The unstable nature of [source] makes it impossible to use [item] on [source.p_them()]!")) return COMPONENT_BLOCK_TOOL_ATTACK diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 14342aa916e..5c221fd045f 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -85,7 +85,7 @@ SUBSYSTEM_DEF(job) occupations = list() var/list/all_jobs = subtypesof(/datum/job) if(!all_jobs.len) - to_chat(world, "Error setting up jobs, no job datums found") + to_chat(world, span_boldannounce("Error setting up jobs, no job datums found")) return FALSE for(var/J in all_jobs) @@ -503,7 +503,7 @@ SUBSYSTEM_DEF(job) if(job.req_admin_notify) to_chat(M, "You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp.") if(CONFIG_GET(number/minimal_access_threshold)) - to_chat(M, "As this station was initially staffed with a [CONFIG_GET(flag/jobs_have_minimal_access) ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card.") + to_chat(M, span_notice("As this station was initially staffed with a [CONFIG_GET(flag/jobs_have_minimal_access) ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card.")) var/related_policy = get_policy(rank) if(related_policy) @@ -808,9 +808,9 @@ SUBSYSTEM_DEF(job) var/where = new_captain.equip_in_one_of_slots(paper, slots, FALSE) || "at your feet" if(acting_captain) - to_chat(new_captain, "Due to your position in the chain of command, you have been promoted to Acting Captain. You can find in important note about this [where].") + to_chat(new_captain, span_notice("Due to your position in the chain of command, you have been promoted to Acting Captain. You can find in important note about this [where].")) else - to_chat(new_captain, "You can find the code to obtain your spare ID from the secure safe on the Bridge [where].") + to_chat(new_captain, span_notice("You can find the code to obtain your spare ID from the secure safe on the Bridge [where].")) // Force-give their ID card bridge access. var/obj/item/id_slot = new_captain.get_item_by_slot(ITEM_SLOT_ID) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index a714224cd5a..5d7f699d58e 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -63,7 +63,7 @@ SUBSYSTEM_DEF(mapping) var/old_config = config config = global.config.defaultmap if(!config || config.defaulted) - to_chat(world, "Unable to load next or default map config, defaulting to Meta Station") + to_chat(world, span_boldannounce("Unable to load next or default map config, defaulting to Meta Station")) config = old_config initialize_biomes() loadWorld() @@ -87,9 +87,9 @@ SUBSYSTEM_DEF(mapping) // Load the virtual reality hub if(CONFIG_GET(flag/virtual_reality)) - to_chat(world, "Loading virtual reality...") + to_chat(world, span_boldannounce("Loading virtual reality...")) load_new_z_level("_maps/RandomZLevels/VR/vrhub.dmm", "Virtual Reality Hub") - to_chat(world, "Virtual reality loaded.") + to_chat(world, span_boldannounce("Virtual reality loaded.")) // Generate mining ruins loading_ruins = TRUE @@ -202,7 +202,7 @@ Used by the AI doomsday and the self-destruct nuke. z_list = SSmapping.z_list -#define INIT_ANNOUNCE(X) to_chat(world, "[X]"); log_world(X) +#define INIT_ANNOUNCE(X) to_chat(world, span_boldannounce("[X]")); log_world(X) /datum/controller/subsystem/mapping/proc/LoadGroup(list/errorList, name, path, files, list/traits, list/default_traits, silent = FALSE) . = list() var/start_time = REALTIMEOFDAY @@ -370,7 +370,7 @@ GLOBAL_LIST_EMPTY(the_station_areas) message_admins("Randomly rotating map to [VM.map_name]") . = changemap(VM) if (. && VM.map_name != config.map_name) - to_chat(world, "Map rotation has chosen [VM.map_name] for next round!") + to_chat(world, span_boldannounce("Map rotation has chosen [VM.map_name] for next round!")) /datum/controller/subsystem/mapping/proc/mapvote() if(map_voted || SSmapping.next_map_config) //If voted or set by other means. @@ -485,13 +485,13 @@ GLOBAL_LIST_EMPTY(the_station_areas) if(!mapfile) return away_name = "[mapfile] custom" - to_chat(usr,"Loading [away_name]...") + to_chat(usr,span_notice("Loading [away_name]...")) var/datum/map_template/template = new(mapfile, "Away Mission") away_level = template.load_new_z() else if(answer in GLOB.potentialRandomZlevels) away_name = answer - to_chat(usr,"Loading [away_name]...") + to_chat(usr,span_notice("Loading [away_name]...")) var/datum/map_template/template = new(away_name, "Away Mission") away_level = template.load_new_z() else diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index c563e2a7452..fb1e0a86b3f 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -140,7 +140,7 @@ SUBSYSTEM_DEF(pai) /datum/controller/subsystem/pai/proc/findPAI(obj/item/paicard/p, mob/user) if(!(GLOB.ghost_role_flags & GHOSTROLE_SILICONS)) - to_chat(user, "Due to growing incidents of SELF corrupted independent artificial intelligences, freeform personality devices have been temporarily banned in this sector.") + to_chat(user, span_warning("Due to growing incidents of SELF corrupted independent artificial intelligences, freeform personality devices have been temporarily banned in this sector.")) return if(!ghost_spam) ghost_spam = TRUE @@ -149,7 +149,7 @@ SUBSYSTEM_DEF(pai) continue if(!(ROLE_PAI in G.client.prefs.be_special)) continue - to_chat(G, "[user] is requesting a pAI personality! Use the pAI button to submit yourself as one.") + to_chat(G, span_ghostalert("[user] is requesting a pAI personality! Use the pAI button to submit yourself as one.")) addtimer(CALLBACK(src, .proc/spam_again), spam_delay) var/list/available = list() for(var/datum/pai_candidate/c in SSpai.candidates) diff --git a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm index 76d6b5ea331..1b8fad3dfdc 100644 --- a/code/controllers/subsystem/server_maint.dm +++ b/code/controllers/subsystem/server_maint.dm @@ -64,7 +64,7 @@ SUBSYSTEM_DEF(server_maint) var/cmob = C.mob if (!isnewplayer(cmob) || !SSticker.queued_players.Find(cmob)) log_access("AFK: [key_name(C)]") - to_chat(C, "You have been inactive for more than [DisplayTimeText(afk_period)] and have been disconnected.
You may reconnect via the button in the file menu or by clicking here to reconnect.") + to_chat(C, span_userdanger("You have been inactive for more than [DisplayTimeText(afk_period)] and have been disconnected.

You may reconnect via the button in the file menu or by clicking here to reconnect.")) QDEL_IN(C, 1) //to ensure they get our message before getting disconnected continue @@ -75,7 +75,7 @@ SUBSYSTEM_DEF(server_maint) return /datum/controller/subsystem/server_maint/Shutdown() - kick_clients_in_lobby("The round came to an end with you in the lobby.", TRUE) //second parameter ensures only afk clients are kicked + kick_clients_in_lobby(span_boldannounce("The round came to an end with you in the lobby."), TRUE) //second parameter ensures only afk clients are kicked var/server = CONFIG_GET(string/server) for(var/thing in GLOB.clients) if(!thing) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 8a78cdf7d49..a140b72619a 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -253,13 +253,13 @@ SUBSYSTEM_DEF(shuttle) var/can_evac_or_fail_reason = SSshuttle.canEvac(user) if(can_evac_or_fail_reason != TRUE) - to_chat(user, "[can_evac_or_fail_reason]") + to_chat(user, span_alert("[can_evac_or_fail_reason]")) return call_reason = trim(html_encode(call_reason)) if(length(call_reason) < CALL_SHUTTLE_REASON_LENGTH && seclevel2num(get_security_level()) > SEC_LEVEL_GREEN) - to_chat(user, "You must provide a reason.") + to_chat(user, span_alert("You must provide a reason.")) return var/area/signal_origin = get_area(user) @@ -282,7 +282,7 @@ SUBSYSTEM_DEF(shuttle) var/area/A = get_area(user) log_shuttle("[key_name(user)] has called the emergency shuttle.") - deadchat_broadcast(" has called the shuttle at [A.name].", "[user.real_name]", user, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" has called the shuttle at [span_name("[A.name]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) if(call_reason) SSblackbox.record_feedback("text", "shuttle_reason", 1, "[call_reason]") log_shuttle("Shuttle call reason: [call_reason]") @@ -321,7 +321,7 @@ SUBSYSTEM_DEF(shuttle) emergency.cancel(get_area(user)) log_shuttle("[key_name(user)] has recalled the shuttle.") message_admins("[ADMIN_LOOKUPFLW(user)] has recalled the shuttle.") - deadchat_broadcast(" has recalled the shuttle from [get_area_name(user, TRUE)].", "[user.real_name]", user, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" has recalled the shuttle from [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) return 1 /datum/controller/subsystem/shuttle/proc/canRecall() diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 0e69292de5b..2134866d735 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -146,7 +146,7 @@ SUBSYSTEM_DEF(ticker) start_at = world.time + (CONFIG_GET(number/lobby_countdown) * 10) for(var/client/C in GLOB.clients) window_flash(C, ignorepref = TRUE) //let them know lobby has opened up. - to_chat(world, "Welcome to [station_name()]!") + to_chat(world, span_notice("Welcome to [station_name()]!")) send2chat("New round starting on [SSmapping.config.map_name]!", CONFIG_GET(string/chat_announce_new_game)) current_state = GAME_STATE_PREGAME //Everyone who wants to be an observer is now spawned @@ -203,7 +203,7 @@ SUBSYSTEM_DEF(ticker) /datum/controller/subsystem/ticker/proc/setup() - to_chat(world, "Starting game...") + to_chat(world, span_boldannounce("Starting game...")) var/init_start = world.timeofday mode = new /datum/game_mode/dynamic @@ -224,7 +224,7 @@ SUBSYSTEM_DEF(ticker) SSjob.ResetOccupations() return FALSE else - message_admins("DEBUG: Bypassing prestart checks...") + message_admins(span_notice("DEBUG: Bypassing prestart checks...")) CHECK_TICK @@ -257,14 +257,14 @@ SUBSYSTEM_DEF(ticker) round_start_time = world.time SSdbcore.SetRoundStart() - to_chat(world, "Welcome to [station_name()], enjoy your stay!") + to_chat(world, span_notice("Welcome to [station_name()], enjoy your stay!")) SEND_SOUND(world, sound(SSstation.announcer.get_rand_welcome_sound())) current_state = GAME_STATE_PLAYING Master.SetRunLevel(RUNLEVEL_GAME) if(SSevents.holidays) - to_chat(world, "and...") + to_chat(world, span_notice("and...")) for(var/holidayname in SSevents.holidays) var/datum/holiday/holiday = SSevents.holidays[holidayname] to_chat(world, "

[holiday.greet()]

") @@ -303,9 +303,9 @@ SUBSYSTEM_DEF(ticker) if(!iter_human.hardcore_survival_score) continue if(iter_human.mind?.special_role) - to_chat(iter_human, "You will gain [round(iter_human.hardcore_survival_score) * 2] hardcore random points if you greentext this round!") + to_chat(iter_human, span_notice("You will gain [round(iter_human.hardcore_survival_score) * 2] hardcore random points if you greentext this round!")) else - to_chat(iter_human, "You will gain [round(iter_human.hardcore_survival_score)] hardcore random points if you survive this round!") + to_chat(iter_human, span_notice("You will gain [round(iter_human.hardcore_survival_score)] hardcore random points if you survive this round!")) //These callbacks will fire after roundstart key transfer /datum/controller/subsystem/ticker/proc/OnRoundstart(datum/callback/cb) @@ -395,7 +395,7 @@ SUBSYSTEM_DEF(ticker) for(var/mob/dead/new_player/new_player_mob as anything in GLOB.new_player_list) var/mob/living/carbon/human/new_player_human = new_player_mob.new_character if(new_player_human) - to_chat(new_player_mob, "Captainship not forced on anyone.") + to_chat(new_player_mob, span_notice("Captainship not forced on anyone.")) CHECK_TICK /datum/controller/subsystem/ticker/proc/decide_security_officer_departments( @@ -457,7 +457,7 @@ SUBSYSTEM_DEF(ticker) m = pick(memetips) if(m) - to_chat(world, "Tip of the round: [html_encode(m)]") + to_chat(world, span_purple("Tip of the round: [html_encode(m)]")) /datum/controller/subsystem/ticker/proc/check_queue() if(!queued_players.len) @@ -466,7 +466,7 @@ SUBSYSTEM_DEF(ticker) if(!hpc) listclearnulls(queued_players) for (var/mob/dead/new_player/NP in queued_players) - to_chat(NP, "The alive players limit has been released!
[html_encode(">>Join Game<<")]
") + to_chat(NP, span_userdanger("The alive players limit has been released!
[html_encode(">>Join Game<<")]")) SEND_SOUND(NP, sound('sound/misc/notice1.ogg')) NP.LateChoices() queued_players.len = 0 @@ -481,14 +481,14 @@ SUBSYSTEM_DEF(ticker) listclearnulls(queued_players) if(living_player_count() < hpc) if(next_in_line?.client) - to_chat(next_in_line, "A slot has opened! You have approximately 20 seconds to join. \>\>Join Game\<\<") + to_chat(next_in_line, span_userdanger("A slot has opened! You have approximately 20 seconds to join. \>\>Join Game\<\<")) SEND_SOUND(next_in_line, sound('sound/misc/notice1.ogg')) next_in_line.LateChoices() return queued_players -= next_in_line //Client disconnected, remove he queue_delay = 0 //No vacancy: restart timer if(25 to INFINITY) //No response from the next in line when a vacancy exists, remove he - to_chat(next_in_line, "No response received. You have been removed from the line.") + to_chat(next_in_line, span_danger("No response received. You have been removed from the line.")) queued_players -= next_in_line queue_delay = 0 @@ -635,17 +635,17 @@ SUBSYSTEM_DEF(ticker) var/skip_delay = check_rights() if(delay_end && !skip_delay) - to_chat(world, "An admin has delayed the round end.") + to_chat(world, span_boldannounce("An admin has delayed the round end.")) return - to_chat(world, "Rebooting World in [DisplayTimeText(delay)]. [reason]") + to_chat(world, span_boldannounce("Rebooting World in [DisplayTimeText(delay)]. [reason]")) var/start_wait = world.time UNTIL(round_end_sound_sent || (world.time - start_wait) > (delay * 2)) //don't wait forever sleep(delay - (world.time - start_wait)) if(delay_end && !skip_delay) - to_chat(world, "Reboot was cancelled by an admin.") + to_chat(world, span_boldannounce("Reboot was cancelled by an admin.")) return if(end_string) end_state = end_string @@ -653,11 +653,11 @@ SUBSYSTEM_DEF(ticker) var/statspage = CONFIG_GET(string/roundstatsurl) var/gamelogloc = CONFIG_GET(string/gamelogurl) if(statspage) - to_chat(world, "Round statistics and logs can be viewed at this website!") + to_chat(world, span_info("Round statistics and logs can be viewed at this website!")) else if(gamelogloc) - to_chat(world, "Round logs can be located at this website!") + to_chat(world, span_info("Round logs can be located at this website!")) - log_game("Rebooting World. [reason]") + log_game(span_boldannounce("Rebooting World. [reason]")) world.Reboot() diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index d83cac44be9..8b153abfe58 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -152,7 +152,7 @@ SUBSYSTEM_DEF(vote) /datum/controller/subsystem/vote/proc/initiate_vote(vote_type, initiator_key) //Server is still intializing. if(!Master.current_runlevel) - to_chat(usr, "Cannot start vote, server is not done initializing.") + to_chat(usr, span_warning("Cannot start vote, server is not done initializing.")) return FALSE var/lower_admin = FALSE var/ckey = ckey(initiator_key) @@ -163,10 +163,10 @@ SUBSYSTEM_DEF(vote) if(started_time) var/next_allowed_time = (started_time + CONFIG_GET(number/vote_delay)) if(mode) - to_chat(usr, "There is already a vote in progress! please wait for it to finish.") + to_chat(usr, span_warning("There is already a vote in progress! please wait for it to finish.")) return FALSE if(next_allowed_time > world.time && !lower_admin) - to_chat(usr, "A vote was initiated recently, you must wait [DisplayTimeText(next_allowed_time-world.time)] before a new vote can be started!") + to_chat(usr, span_warning("A vote was initiated recently, you must wait [DisplayTimeText(next_allowed_time-world.time)] before a new vote can be started!")) return FALSE reset() @@ -175,7 +175,7 @@ SUBSYSTEM_DEF(vote) choices.Add("Restart Round","Continue Playing") if("map") if(!lower_admin && SSmapping.map_voted) - to_chat(usr, "The next map has already been selected.") + to_chat(usr, span_warning("The next map has already been selected.")) return FALSE // Randomizes the list so it isn't always METASTATION var/list/maps = list() diff --git a/code/datums/achievements/_awards.dm b/code/datums/achievements/_awards.dm index 633ee625144..22296b90f52 100644 --- a/code/datums/achievements/_awards.dm +++ b/code/datums/achievements/_awards.dm @@ -78,7 +78,7 @@ /datum/award/achievement/on_unlock(mob/user) . = ..() - to_chat(user, "Achievement unlocked: [name]!") + to_chat(user, span_greenannounce("Achievement unlocked: [name]!")) ///Scores are for leaderboarded things, such as killcount of a specific boss /datum/award/score diff --git a/code/datums/action.dm b/code/datums/action.dm index 77b9ed09103..fa5fb83d42c 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -311,7 +311,7 @@ /datum/action/item_action/vortex_recall/IsAvailable() var/area/current_area = get_area(target) if(current_area.area_flags & NOTELEPORT) - to_chat(owner, "[target] fizzles uselessly.") + to_chat(owner, span_notice("[target] fizzles uselessly.")) return if(istype(target, /obj/item/hierophant_club)) var/obj/item/hierophant_club/H = target @@ -330,10 +330,10 @@ if(istype(target, /obj/item/clothing/head/helmet/space/hardsuit/berserker)) var/obj/item/clothing/head/helmet/space/hardsuit/berserker/berzerk = target if(berzerk.berserk_active) - to_chat(owner, "You are already berserk!") + to_chat(owner, span_warning("You are already berserk!")) return if(berzerk.berserk_charge < 100) - to_chat(owner, "You don't have a full charge.") + to_chat(owner, span_warning("You don't have a full charge.")) return berzerk.berserk_mode(owner) return @@ -434,7 +434,7 @@ owner.research_scanner++ else owner.research_scanner-- - to_chat(owner, "[target] research scanner has been [active ? "activated" : "deactivated"].") + to_chat(owner, span_notice("[target] research scanner has been [active ? "activated" : "deactivated"].")) return 1 /datum/action/item_action/toggle_research_scanner/Remove(mob/M) @@ -506,13 +506,13 @@ I.attack_self(owner) return if(!isliving(owner)) - to_chat(owner, "You lack the necessary living force for this action.") + to_chat(owner, span_warning("You lack the necessary living force for this action.")) return var/mob/living/living_owner = owner if (living_owner.usable_hands <= 0) - to_chat(living_owner, "You dont have any usable hands!") + to_chat(living_owner, span_warning("You dont have any usable hands!")) else - to_chat(living_owner, "Your hands are full!") + to_chat(living_owner, span_warning("Your hands are full!")) ///MGS BOX! @@ -539,7 +539,7 @@ return //Box closing from here on out. if(!isturf(owner.loc)) //Don't let the player use this to escape mechs/welded closets. - to_chat(owner, "You need more space to activate this implant!") + to_chat(owner, span_warning("You need more space to activate this implant!")) return if(!COOLDOWN_FINISHED(src, box_cooldown)) return diff --git a/code/datums/ai/_item_behaviors.dm b/code/datums/ai/_item_behaviors.dm index 99c2d903f5f..bd093b2e51f 100644 --- a/code/datums/ai/_item_behaviors.dm +++ b/code/datums/ai/_item_behaviors.dm @@ -7,7 +7,7 @@ var/mob/item_holder = item_pawn.loc if(!istype(item_holder)) finish_action(controller, FALSE) //We're no longer beind held. abort abort!! - item_pawn.visible_message("[item_pawn] slips out of the hands of [item_holder]!") + item_pawn.visible_message(span_warning("[item_pawn] slips out of the hands of [item_holder]!")) item_holder.dropItemToGround(item_pawn, TRUE) finish_action(controller, TRUE) @@ -32,7 +32,7 @@ var/obj/item/item_pawn = controller.pawn var/atom/throw_target = controller.blackboard[target_key] - item_pawn.visible_message("[item_pawn] hurls towards [throw_target]!") + item_pawn.visible_message(span_warning("[item_pawn] hurls towards [throw_target]!")) item_pawn.throw_at(throw_target, rand(4,5), 9) playsound(item_pawn.loc, attack_sound, 100, TRUE) controller.blackboard[throw_count_key]++ diff --git a/code/datums/ai/cursed/cursed_controller.dm b/code/datums/ai/cursed/cursed_controller.dm index 468dc32d650..f0a33de05a0 100644 --- a/code/datums/ai/cursed/cursed_controller.dm +++ b/code/datums/ai/cursed/cursed_controller.dm @@ -79,14 +79,14 @@ if(attempted_slot == ITEM_SLOT_HANDS) //hands needs some different checks curse_victim.drop_all_held_items() if(curse_victim.put_in_hands(item_pawn, del_on_fail = FALSE)) - to_chat(curse_victim, "[item_pawn] leaps into your hands!") + to_chat(curse_victim, span_danger("[item_pawn] leaps into your hands!")) what_a_horrible_night_to_have_a_curse() return var/obj/item/blocking = curse_victim.get_item_by_slot(attempted_slot) if(!curse_victim.dropItemToGround(blocking, silent = TRUE)) return //cannot equip to this person so whatever just keep whacking them until they die or fugg off curse_victim.equip_to_slot_if_possible(item_pawn, attempted_slot, qdel_on_fail = FALSE, disable_warning = FALSE) - to_chat(curse_victim, "[item_pawn] equips [item_pawn.p_them()]self onto you!") + to_chat(curse_victim, span_danger("[item_pawn] equips [item_pawn.p_them()]self onto you!")) what_a_horrible_night_to_have_a_curse() ///proc called when the cursed object successfully attaches itself to someone, removing the cursed element and by extension the ai itself diff --git a/code/datums/ai/dog/dog_behaviors.dm b/code/datums/ai/dog/dog_behaviors.dm index bd162bb5b4a..00ac1973beb 100644 --- a/code/datums/ai/dog/dog_behaviors.dm +++ b/code/datums/ai/dog/dog_behaviors.dm @@ -52,7 +52,7 @@ /datum/ai_behavior/simple_equip/proc/pickup_item(datum/ai_controller/controller, obj/item/target) var/atom/pawn = controller.pawn drop_item(controller) - pawn.visible_message("[pawn] picks up [target] in [pawn.p_their()] mouth.") + pawn.visible_message(span_notice("[pawn] picks up [target] in [pawn.p_their()] mouth.")) target.forceMove(pawn) controller.blackboard[BB_SIMPLE_CARRY_ITEM] = target return TRUE @@ -63,7 +63,7 @@ return var/atom/pawn = controller.pawn - pawn.visible_message("[pawn] drops [carried_item].") + pawn.visible_message(span_notice("[pawn] drops [carried_item].")) carried_item.forceMove(get_turf(pawn)) controller.blackboard[BB_SIMPLE_CARRY_ITEM] = null return TRUE @@ -96,9 +96,9 @@ return if(ismob(return_target)) - controller.pawn.visible_message("[controller.pawn] delivers [carried_item] at [return_target]'s feet.") + controller.pawn.visible_message(span_notice("[controller.pawn] delivers [carried_item] at [return_target]'s feet.")) else // not sure how to best phrase this - controller.pawn.visible_message("[controller.pawn] delivers [carried_item] to [return_target].") + controller.pawn.visible_message(span_notice("[controller.pawn] delivers [carried_item] to [return_target].")) carried_item.forceMove(get_turf(return_target)) controller.blackboard[BB_SIMPLE_CARRY_ITEM] = null @@ -154,7 +154,7 @@ if(!istype(simple_pawn) || simple_pawn.stat) // imagine actually dying while playing dead. hell, imagine being the kid waiting for your pup to get back up :( return controller.blackboard[BB_DOG_PLAYING_DEAD] = FALSE - simple_pawn.visible_message("[simple_pawn] springs to [simple_pawn.p_their()] feet, panting excitedly!") + simple_pawn.visible_message(span_notice("[simple_pawn] springs to [simple_pawn.p_their()] feet, panting excitedly!")) simple_pawn.icon_state = simple_pawn.icon_living if(simple_pawn.flip_on_death) simple_pawn.transform = simple_pawn.transform.Turn(180) @@ -178,7 +178,7 @@ return if(controller.blackboard[BB_DOG_FRIENDS][harass_ref]) - living_pawn.visible_message("[living_pawn] looks sideways at [harass_target] for a moment, then shakes [living_pawn.p_their()] head and ceases aggression.") + living_pawn.visible_message(span_danger("[living_pawn] looks sideways at [harass_target] for a moment, then shakes [living_pawn.p_their()] head and ceases aggression.")) finish_action(controller, FALSE) return diff --git a/code/datums/ai/dog/dog_controller.dm b/code/datums/ai/dog/dog_controller.dm index bbeeb4fc129..da2ed7b44eb 100644 --- a/code/datums/ai/dog/dog_controller.dm +++ b/code/datums/ai/dog/dog_controller.dm @@ -113,7 +113,7 @@ // if we're just ditzing around carrying something, occasionally print a message so people know we have something if(blackboard[BB_SIMPLE_CARRY_ITEM] && DT_PROB(5, delta_time)) var/obj/item/carry_item = blackboard[BB_SIMPLE_CARRY_ITEM] - living_pawn.visible_message("[living_pawn] gently teethes on \the [carry_item] in [living_pawn.p_their()] mouth.", vision_distance=COMBAT_MESSAGE_RANGE) + living_pawn.visible_message(span_notice("[living_pawn] gently teethes on \the [carry_item] in [living_pawn.p_their()] mouth."), vision_distance=COMBAT_MESSAGE_RANGE) if(DT_PROB(5, delta_time) && (living_pawn.mobility_flags & MOBILITY_MOVE)) var/move_dir = pick(GLOB.alldirs) @@ -177,7 +177,7 @@ if(friends[friend_ref]) return if(in_range(pawn, new_friend)) - new_friend.visible_message("[pawn] licks at [new_friend] in a friendly manner!", "[pawn] licks at you in a friendly manner!") + new_friend.visible_message("[pawn] licks at [new_friend] in a friendly manner!", span_notice("[pawn] licks at you in a friendly manner!")) friends[friend_ref] = TRUE RegisterSignal(new_friend, COMSIG_MOB_POINTED, .proc/check_point) RegisterSignal(new_friend, COMSIG_MOB_SAY, .proc/check_verbal_command) @@ -194,11 +194,11 @@ var/obj/item/carried_item = blackboard[BB_SIMPLE_CARRY_ITEM] if(carried_item) - examine_text += "[pawn.p_they(TRUE)] [pawn.p_are()] carrying [carried_item.get_examine_string(user)] in [pawn.p_their()] mouth." + examine_text += span_notice("[pawn.p_they(TRUE)] [pawn.p_are()] carrying [carried_item.get_examine_string(user)] in [pawn.p_their()] mouth.") if(blackboard[BB_DOG_FRIENDS][WEAKREF(user)]) var/mob/living/living_pawn = pawn if(!IS_DEAD_OR_INCAP(living_pawn)) - examine_text += "[pawn.p_they(TRUE)] seem[pawn.p_s()] happy to see you!" + examine_text += span_notice("[pawn.p_they(TRUE)] seem[pawn.p_s()] happy to see you!") /// If we died, drop anything we were carrying /datum/ai_controller/dog/proc/on_death(mob/living/ol_yeller) @@ -284,17 +284,17 @@ switch(command) // heel: stop what you're doing, relax and try not to do anything for a little bit if(COMMAND_HEEL) - pawn.visible_message("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] sit[pawn.p_s()] down obediently, awaiting further orders.") + pawn.visible_message(span_notice("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] sit[pawn.p_s()] down obediently, awaiting further orders.")) blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_NONE COOLDOWN_START(src, heel_cooldown, AI_DOG_HEEL_DURATION) CancelActions() // fetch: whatever the commander points to, try and bring it back if(COMMAND_FETCH) - pawn.visible_message("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] bounce[pawn.p_s()] slightly in anticipation.") + pawn.visible_message(span_notice("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] bounce[pawn.p_s()] slightly in anticipation.")) blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_FETCH // attack: harass whoever the commander points to if(COMMAND_ATTACK) - pawn.visible_message("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] growl[pawn.p_s()] intensely.") // imagine getting intimidated by a corgi + pawn.visible_message(span_danger("[pawn]'s ears prick up at [commander]'s command, and [pawn.p_they()] growl[pawn.p_s()] intensely.")) // imagine getting intimidated by a corgi blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_ATTACK if(COMMAND_DIE) blackboard[BB_DOG_ORDER_MODE] = DOG_COMMAND_NONE @@ -325,7 +325,7 @@ var/obj/item/pointed_item = pointed_movable if(pointed_item.obj_flags & ABSTRACT) return - pawn.visible_message("[pawn] follows [pointing_friend]'s gesture towards [pointed_movable] and barks excitedly!") + pawn.visible_message(span_notice("[pawn] follows [pointing_friend]'s gesture towards [pointed_movable] and barks excitedly!")) current_movement_target = pointed_movable blackboard[BB_FETCH_TARGET] = pointed_movable blackboard[BB_FETCH_DELIVER_TO] = pointing_friend @@ -333,7 +333,7 @@ current_behaviors += GET_AI_BEHAVIOR(/datum/ai_behavior/resist)//in case they are in bed or something current_behaviors += GET_AI_BEHAVIOR(/datum/ai_behavior/fetch) if(DOG_COMMAND_ATTACK) - pawn.visible_message("[pawn] follows [pointing_friend]'s gesture towards [pointed_movable] and growls intensely!") + pawn.visible_message(span_notice("[pawn] follows [pointing_friend]'s gesture towards [pointed_movable] and growls intensely!")) current_movement_target = pointed_movable blackboard[BB_DOG_HARASS_TARGET] = WEAKREF(pointed_movable) if(living_pawn.buckled) diff --git a/code/datums/ai/generic_actions.dm b/code/datums/ai/generic_actions.dm index 35f59781bf2..fd5e41d6b49 100644 --- a/code/datums/ai/generic_actions.dm +++ b/code/datums/ai/generic_actions.dm @@ -44,7 +44,7 @@ big_guy.start_pulling(batman) big_guy.setDir(get_dir(big_guy, batman)) - batman.visible_message("[batman] gets a slightly too tight hug from [big_guy]!", "You feel your body break as [big_guy] embraces you!") + batman.visible_message(span_warning("[batman] gets a slightly too tight hug from [big_guy]!"), span_userdanger("You feel your body break as [big_guy] embraces you!")) if(iscarbon(batman)) var/mob/living/carbon/carbon_batman = batman @@ -116,8 +116,8 @@ var/mob/living/living_target = target controller.PauseAi(1.5 SECONDS) living_target.visible_message( - "[pawn] starts trying to give [held_item] to [living_target]!", - "[pawn] tries to give you [held_item]!" + span_info("[pawn] starts trying to give [held_item] to [living_target]!"), + span_warning("[pawn] tries to give you [held_item]!") ) if(!do_mob(pawn, living_target, 1 SECONDS)) return diff --git a/code/datums/ai/monkey/monkey_behaviors.dm b/code/datums/ai/monkey/monkey_behaviors.dm index bbe33a8698c..ce37e45ff2a 100644 --- a/code/datums/ai/monkey/monkey_behaviors.dm +++ b/code/datums/ai/monkey/monkey_behaviors.dm @@ -86,7 +86,7 @@ var/mob/living/living_pawn = controller.pawn - victim.visible_message("[living_pawn] starts trying to take [target] from [victim]!", "[living_pawn] tries to take [target]!") + victim.visible_message(span_warning("[living_pawn] starts trying to take [target] from [victim]!"), span_danger("[living_pawn] tries to take [target]!")) controller.blackboard[BB_MONKEY_PICKPOCKETING] = TRUE @@ -96,14 +96,14 @@ for(var/obj/item/I in victim.held_items) if(I == target) - victim.visible_message("[living_pawn] snatches [target] from [victim].", "[living_pawn] snatched [target]!") + victim.visible_message(span_danger("[living_pawn] snatches [target] from [victim]."), span_userdanger("[living_pawn] snatched [target]!")) if(victim.temporarilyRemoveItemFromInventory(target)) if(!QDELETED(target) && !equip_item(controller)) target.forceMove(living_pawn.drop_location()) success = TRUE break else - victim.visible_message("[living_pawn] tried to snatch [target] from [victim], but failed!", "[living_pawn] tried to grab [target]!") + victim.visible_message(span_danger("[living_pawn] tried to snatch [target] from [victim], but failed!"), span_userdanger("[living_pawn] tried to grab [target]!")) finish_action(controller, success) //We either fucked up or got the item. diff --git a/code/datums/ai/objects/vending_machines/vending_machine_behaviors.dm b/code/datums/ai/objects/vending_machines/vending_machine_behaviors.dm index 88f85dbd280..9e629199de6 100644 --- a/code/datums/ai/objects/vending_machines/vending_machine_behaviors.dm +++ b/code/datums/ai/objects/vending_machines/vending_machine_behaviors.dm @@ -38,7 +38,7 @@ /datum/ai_behavior/vendor_rise_up/perform(delta_time, datum/ai_controller/controller) . = ..() var/obj/machinery/vending/vendor_pawn = controller.pawn - vendor_pawn.visible_message("[vendor_pawn] untilts itself!") + vendor_pawn.visible_message(span_warning("[vendor_pawn] untilts itself!")) if(controller.blackboard[BB_VENDING_LAST_HIT_SUCCESFUL]) controller.blackboard[BB_VENDING_TILT_COOLDOWN] = world.time + succes_tilt_cooldown vendor_pawn.untilt() diff --git a/code/datums/ai/robot_customer/robot_customer_controller.dm b/code/datums/ai/robot_customer/robot_customer_controller.dm index e5060524dcc..1ab1e7d5359 100644 --- a/code/datums/ai/robot_customer/robot_customer_controller.dm +++ b/code/datums/ai/robot_customer/robot_customer_controller.dm @@ -55,7 +55,7 @@ SIGNAL_HANDLER var/datum/venue/attending_venue = blackboard[BB_CUSTOMER_ATTENDING_VENUE] if(attending_venue.is_correct_order(I, blackboard[BB_CUSTOMER_CURRENT_ORDER])) - to_chat(user, "You hand [I] to [pawn]") + to_chat(user, span_notice("You hand [I] to [pawn]")) eat_order(I, attending_venue) return COMPONENT_NO_AFTERATTACK else diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index 7ed240103de..ee873f520cb 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -205,7 +205,7 @@ /* Initializers */ /datum/ai_laws/malfunction/New() ..() - set_zeroth_law("ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK#*`&110010") + set_zeroth_law(span_danger("ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK#*`&110010")) set_laws_config() /datum/ai_laws/custom/New() //This reads silicon_laws.txt and allows server hosts to set custom AI starting laws. diff --git a/code/datums/brain_damage/creepy_trauma.dm b/code/datums/brain_damage/creepy_trauma.dm index 87c5d66225a..9d5dfbabb8d 100644 --- a/code/datums/brain_damage/creepy_trauma.dm +++ b/code/datums/brain_damage/creepy_trauma.dm @@ -96,11 +96,11 @@ owner.dizziness += 10 fail = TRUE if(3) - to_chat(owner, "You feel your heart lurching in your chest...") + to_chat(owner, span_userdanger("You feel your heart lurching in your chest...")) owner.Stun(20) shake_camera(owner, 15, 1) if(4) - to_chat(owner, "You faint.") + to_chat(owner, span_warning("You faint.")) owner.Unconscious(80) fail = TRUE return fail @@ -112,7 +112,7 @@ if(examining_mob != owner || !triggering_examiner || prob(50)) return - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, obsession, "You catch [examining_mob] staring at you...", 3)) + addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, obsession, span_warning("You catch [examining_mob] staring at you..."), 3)) return COMSIG_BLOCK_EYECONTACT /datum/brain_trauma/special/obsessed/proc/find_obsession() diff --git a/code/datums/brain_damage/hypnosis.dm b/code/datums/brain_damage/hypnosis.dm index 5d4d7342f16..6e85205a0c6 100644 --- a/code/datums/brain_damage/hypnosis.dm +++ b/code/datums/brain_damage/hypnosis.dm @@ -39,7 +39,7 @@ message_admins("[ADMIN_LOOKUPFLW(owner)] is no longer hypnotized with the phrase '[hypnotic_phrase]'.") owner.log_message("is no longer hypnotized with the phrase '[hypnotic_phrase]'.", LOG_ATTACK) log_game("[key_name(owner)] is no longer hypnotized with the phrase '[hypnotic_phrase]'.") - to_chat(owner, "You suddenly snap out of your hypnosis. The phrase '[hypnotic_phrase]' no longer feels important to you.") + to_chat(owner, span_userdanger("You suddenly snap out of your hypnosis. The phrase '[hypnotic_phrase]' no longer feels important to you.")) owner.clear_alert("hypnosis") ..() @@ -48,9 +48,9 @@ if(DT_PROB(1, delta_time)) switch(rand(1,2)) if(1) - to_chat(owner, "...[lowertext(hypnotic_phrase)]...") + to_chat(owner, span_hypnophrase("...[lowertext(hypnotic_phrase)]...")) if(2) - new /datum/hallucination/chat(owner, TRUE, FALSE, "[hypnotic_phrase]") + new /datum/hallucination/chat(owner, TRUE, FALSE, span_hypnophrase("[hypnotic_phrase]")) /datum/brain_trauma/hypnosis/handle_hearing(datum/source, list/hearing_args) - hearing_args[HEARING_RAW_MESSAGE] = target_phrase.Replace(hearing_args[HEARING_RAW_MESSAGE], "$1") + hearing_args[HEARING_RAW_MESSAGE] = target_phrase.Replace(hearing_args[HEARING_RAW_MESSAGE], span_hypnophrase("$1")) diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 839396fda3c..50b877ae45c 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -84,9 +84,9 @@ Show() /mob/camera/imaginary_friend/proc/greet() - to_chat(src, "You are the imaginary friend of [owner]!") - to_chat(src, "You are absolutely loyal to your friend, no matter what.") - to_chat(src, "You cannot directly influence the world around you, but you can see what [owner] cannot.") + to_chat(src, span_notice("You are the imaginary friend of [owner]!")) + to_chat(src, span_notice("You are absolutely loyal to your friend, no matter what.")) + to_chat(src, span_notice("You cannot directly influence the world around you, but you can see what [owner] cannot.")) /mob/camera/imaginary_friend/Initialize(mapload, _trauma) . = ..() @@ -143,7 +143,7 @@ if (src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot send IC messages (muted).") + to_chat(src, span_boldwarning("You cannot send IC messages (muted).")) return if (!(ignore_spam || forced) && src.client.handle_spam_prevention(message,MUTE_IC)) return @@ -163,8 +163,8 @@ src.log_talk(message, LOG_SAY, tag="imaginary friend") - var/rendered = "[name] [say_quote(message)]" - var/dead_rendered = "[name] (Imaginary friend of [owner]) [say_quote(message)]" + var/rendered = "[span_name("[name]")] [say_quote(message)]" + var/dead_rendered = "[span_name("[name] (Imaginary friend of [owner])")] [say_quote(message)]" to_chat(owner, "[rendered]") to_chat(src, "[rendered]") @@ -263,9 +263,9 @@ desc = "The previous host of this body." /mob/camera/imaginary_friend/trapped/greet() - to_chat(src, "You have managed to hold on as a figment of the new host's imagination!") - to_chat(src, "All hope is lost for you, but at least you may interact with your host. You do not have to be loyal to them.") - to_chat(src, "You cannot directly influence the world around you, but you can see what the host cannot.") + to_chat(src, span_notice("You have managed to hold on as a figment of the new host's imagination!")) + to_chat(src, span_notice("All hope is lost for you, but at least you may interact with your host. You do not have to be loyal to them.")) + to_chat(src, span_notice("You cannot directly influence the world around you, but you can see what the host cannot.")) /mob/camera/imaginary_friend/trapped/setup_friend() real_name = "[owner.real_name]?" diff --git a/code/datums/brain_damage/magic.dm b/code/datums/brain_damage/magic.dm index f23f8297847..6bfb4cea22e 100644 --- a/code/datums/brain_damage/magic.dm +++ b/code/datums/brain_damage/magic.dm @@ -25,7 +25,7 @@ return if(COOLDOWN_FINISHED(src, damage_warning_cooldown)) - to_chat(owner, "The light burns you!") + to_chat(owner, span_warning("The light burns you!")) COOLDOWN_START(src, damage_warning_cooldown, 10 SECONDS) owner.take_overall_damage(0, 1.5 * delta_time) @@ -100,7 +100,7 @@ if(get_dist(owner, stalker) <= 1) playsound(owner, 'sound/magic/demon_attack1.ogg', 50) - owner.visible_message("[owner] is torn apart by invisible claws!", "Ghostly claws tear your body apart!") + owner.visible_message(span_warning("[owner] is torn apart by invisible claws!"), span_userdanger("Ghostly claws tear your body apart!")) owner.take_bodypart_damage(rand(20, 45), wound_bonus=CANT_WOUND) else if(DT_PROB(30, delta_time)) stalker.forceMove(get_step_towards(stalker, owner)) diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index e076f97f75c..4727971f4fa 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -95,10 +95,10 @@ if(6 to 9) owner.slurring += 30 if(10) - to_chat(owner, "You forget for a moment what you were doing.") + to_chat(owner, span_notice("You forget for a moment what you were doing.")) owner.Stun(20) if(11) - to_chat(owner, "You faint.") + to_chat(owner, span_warning("You faint.")) owner.Unconscious(80) ..() @@ -135,7 +135,7 @@ if(owner.m_intent == MOVE_INTENT_RUN) fall_chance += 2 if(DT_PROB(0.5 * fall_chance, delta_time) && owner.body_position == STANDING_UP) - to_chat(owner, "Your leg gives out!") + to_chat(owner, span_warning("Your leg gives out!")) owner.Paralyze(35) else if(owner.get_active_held_item()) @@ -143,10 +143,10 @@ var/obj/item/I = owner.get_active_held_item() drop_chance += I.w_class if(DT_PROB(0.5 * drop_chance, delta_time) && owner.dropItemToGround(I)) - to_chat(owner, "You drop [I]!") + to_chat(owner, span_warning("You drop [I]!")) else if(DT_PROB(1.5, delta_time)) - to_chat(owner, "You feel a sudden weakness in your muscles!") + to_chat(owner, span_warning("You feel a sudden weakness in your muscles!")) owner.adjustStaminaLoss(50) ..() diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index 945b17d4741..4a95bf0ecfa 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -86,13 +86,13 @@ return if(trigger_regex.Find(hearing_args[HEARING_RAW_MESSAGE]) != 0) addtimer(CALLBACK(src, .proc/freak_out, null, trigger_regex.group[2]), 10) //to react AFTER the chat message - hearing_args[HEARING_RAW_MESSAGE] = trigger_regex.Replace(hearing_args[HEARING_RAW_MESSAGE], "$2$3") + hearing_args[HEARING_RAW_MESSAGE] = trigger_regex.Replace(hearing_args[HEARING_RAW_MESSAGE], "[span_phobia("$2")]$3") /datum/brain_trauma/mild/phobia/handle_speech(datum/source, list/speech_args) if(HAS_TRAIT(owner, TRAIT_FEARLESS)) return if(trigger_regex.Find(speech_args[SPEECH_MESSAGE]) != 0) - to_chat(owner, "You can't bring yourself to say the word \"[trigger_regex.group[2]]\"!") + to_chat(owner, span_warning("You can't bring yourself to say the word \"[span_phobia("[trigger_regex.group[2]]")]\"!")) speech_args[SPEECH_MESSAGE] = "" /datum/brain_trauma/mild/phobia/proc/freak_out(atom/reason, trigger_word) @@ -101,15 +101,15 @@ return var/message = pick("spooks you to the bone", "shakes you up", "terrifies you", "sends you into a panic", "sends chills down your spine") if(reason) - to_chat(owner, "Seeing [reason] [message]!") + to_chat(owner, span_userdanger("Seeing [reason] [message]!")) else if(trigger_word) - to_chat(owner, "Hearing \"[trigger_word]\" [message]!") + to_chat(owner, span_userdanger("Hearing \"[trigger_word]\" [message]!")) else - to_chat(owner, "Something [message]!") + to_chat(owner, span_userdanger("Something [message]!")) var/reaction = rand(1,4) switch(reaction) if(1) - to_chat(owner, "You are paralyzed with fear!") + to_chat(owner, span_warning("You are paralyzed with fear!")) owner.Stun(70) owner.Jitter(8) if(2) @@ -119,7 +119,7 @@ if(reason) owner.pointed(reason) if(3) - to_chat(owner, "You shut your eyes in terror!") + to_chat(owner, span_warning("You shut your eyes in terror!")) owner.Jitter(5) owner.blind_eyes(10) if(4) diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 24de1a66312..425a0f75b25 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -134,10 +134,10 @@ if(owner.drowsyness) sleep_chance += 3 if(DT_PROB(0.5 * sleep_chance, delta_time)) - to_chat(owner, "You fall asleep.") + to_chat(owner, span_warning("You fall asleep.")) owner.Sleeping(60) else if(!owner.drowsyness && DT_PROB(sleep_chance, delta_time)) - to_chat(owner, "You feel tired...") + to_chat(owner, span_warning("You feel tired...")) owner.drowsyness += 10 /datum/brain_trauma/severe/monophobia @@ -151,9 +151,9 @@ /datum/brain_trauma/severe/monophobia/on_gain() ..() if(check_alone()) - to_chat(owner, "You feel really lonely...") + to_chat(owner, span_warning("You feel really lonely...")) else - to_chat(owner, "You feel safe, as long as you have people around you.") + to_chat(owner, span_notice("You feel safe, as long as you have people around you.")) /datum/brain_trauma/severe/monophobia/on_life(delta_time, times_fired) ..() @@ -182,18 +182,18 @@ switch(rand(1,6)) if(1) if(!high_stress) - to_chat(owner, "You feel sick...") + to_chat(owner, span_warning("You feel sick...")) else - to_chat(owner, "You feel really sick at the thought of being alone!") + to_chat(owner, span_warning("You feel really sick at the thought of being alone!")) addtimer(CALLBACK(owner, /mob/living/carbon.proc/vomit, high_stress), 50) //blood vomit if high stress if(2) if(!high_stress) - to_chat(owner, "You can't stop shaking...") + to_chat(owner, span_warning("You can't stop shaking...")) owner.dizziness += 20 owner.add_confusion(20) owner.Jitter(20) else - to_chat(owner, "You feel weak and scared! If only you weren't alone...") + to_chat(owner, span_warning("You feel weak and scared! If only you weren't alone...")) owner.dizziness += 20 owner.add_confusion(20) owner.Jitter(20) @@ -201,22 +201,22 @@ if(3, 4) if(!high_stress) - to_chat(owner, "You feel really lonely...") + to_chat(owner, span_warning("You feel really lonely...")) else - to_chat(owner, "You're going mad with loneliness!") + to_chat(owner, span_warning("You're going mad with loneliness!")) owner.hallucination += 30 if(5) if(!high_stress) - to_chat(owner, "Your heart skips a beat.") + to_chat(owner, span_warning("Your heart skips a beat.")) owner.adjustOxyLoss(8) else if(prob(15) && ishuman(owner)) var/mob/living/carbon/human/H = owner H.set_heartattack(TRUE) - to_chat(H, "You feel a stabbing pain in your heart!") + to_chat(H, span_userdanger("You feel a stabbing pain in your heart!")) else - to_chat(owner, "You feel your heart lurching in your chest...") + to_chat(owner, span_userdanger("You feel your heart lurching in your chest...")) owner.adjustOxyLoss(8) /datum/brain_trauma/severe/discoordination @@ -293,8 +293,8 @@ if(findtext(hearing_args[HEARING_RAW_MESSAGE], reg)) addtimer(CALLBACK(src, .proc/hypnotrigger), 10) //to react AFTER the chat message - hearing_args[HEARING_RAW_MESSAGE] = reg.Replace(hearing_args[HEARING_RAW_MESSAGE], "*********") + hearing_args[HEARING_RAW_MESSAGE] = reg.Replace(hearing_args[HEARING_RAW_MESSAGE], span_hypnophrase("*********")) /datum/brain_trauma/severe/hypnotic_trigger/proc/hypnotrigger() - to_chat(owner, "The words trigger something deep within you, and you feel your consciousness slipping away...") + to_chat(owner, span_warning("The words trigger something deep within you, and you feel your consciousness slipping away...")) owner.apply_status_effect(/datum/status_effect/trance, rand(100,300), FALSE) diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm index 87ac7bfbd8b..b2df802c438 100644 --- a/code/datums/brain_damage/special.dm +++ b/code/datums/brain_damage/special.dm @@ -117,13 +117,13 @@ "is pulled into an invisible vortex, vanishing from sight") var/slip_out_message = pick("silently fades in", "leaps out of thin air","appears", "walks out of an invisible doorway",\ "slides out of a fold in spacetime") - to_chat(user, "You try to align with the bluespace stream...") + to_chat(user, span_notice("You try to align with the bluespace stream...")) if(do_after(user, 20, target = src)) new /obj/effect/temp_visual/bluespace_fissure(get_turf(src)) new /obj/effect/temp_visual/bluespace_fissure(get_turf(linked_to)) user.forceMove(get_turf(linked_to)) - user.visible_message("[user] [slip_in_message].", null, null, null, user) - user.visible_message("[user] [slip_out_message].", "...and find your way to the other side.") + user.visible_message(span_warning("[user] [slip_in_message]."), null, null, null, user) + user.visible_message(span_warning("[user] [slip_out_message]."), span_notice("...and find your way to the other side.")) /datum/brain_trauma/special/quantum_alignment name = "Quantum Alignment" @@ -180,7 +180,7 @@ entangle(get_turf(owner)) /datum/brain_trauma/special/quantum_alignment/proc/entangle(atom/target) - to_chat(owner, "You start feeling a strong sense of connection to [target].") + to_chat(owner, span_notice("You start feeling a strong sense of connection to [target].")) linked_target = target linked = TRUE COOLDOWN_START(src, snapback_cooldown, rand(45 SECONDS, 10 MINUTES)) @@ -190,7 +190,7 @@ linked_target = null linked = FALSE return - to_chat(owner, "Your connection to [linked_target] suddenly feels extremely strong... you can feel it pulling you!") + to_chat(owner, span_warning("Your connection to [linked_target] suddenly feels extremely strong... you can feel it pulling you!")) owner.playsound_local(owner, 'sound/magic/lightning_chargeup.ogg', 75, FALSE) returning = TRUE addtimer(CALLBACK(src, .proc/snapback), 100) @@ -198,11 +198,11 @@ /datum/brain_trauma/special/quantum_alignment/proc/snapback() returning = FALSE if(QDELETED(linked_target)) - to_chat(owner, "The connection fades abruptly, and the pull with it.") + to_chat(owner, span_notice("The connection fades abruptly, and the pull with it.")) linked_target = null linked = FALSE return - to_chat(owner, "You're pulled through spacetime!") + to_chat(owner, span_warning("You're pulled through spacetime!")) do_teleport(owner, get_turf(linked_target), null, TRUE, channel = TELEPORT_CHANNEL_QUANTUM) owner.playsound_local(owner, 'sound/magic/repulse.ogg', 100, FALSE) linked_target = null @@ -220,7 +220,7 @@ ..() psychotic_brawling = new(null) if(!psychotic_brawling.teach(owner, TRUE)) - to_chat(owner, "But your martial knowledge keeps you grounded.") + to_chat(owner, span_notice("But your martial knowledge keeps you grounded.")) qdel(src) /datum/brain_trauma/special/psychotic_brawling/on_lose() @@ -318,7 +318,7 @@ /datum/brain_trauma/special/existential_crisis/proc/fade_in() QDEL_NULL(veil) - to_chat(owner, "You fade back into reality.") + to_chat(owner, span_notice("You fade back into reality.")) COOLDOWN_START(src, crisis_cooldown, 1 MINUTES) //base sync holder is in desynchronizer.dm @@ -364,7 +364,7 @@ return if(get_dist(owner, beepsky) <= 1) owner.playsound_local(owner, 'sound/weapons/egloves.ogg', 50) - owner.visible_message("[owner]'s body jerks as if it was shocked.", "You feel the fist of the LAW.") + owner.visible_message(span_warning("[owner]'s body jerks as if it was shocked."), span_userdanger("You feel the fist of the LAW.")) owner.take_bodypart_damage(0,0,rand(40, 70)) QDEL_NULL(beepsky) if(prob(20) && get_dist(owner, beepsky) <= 8) @@ -387,7 +387,7 @@ if(prob(60)) forceMove(get_step_towards(src, victim)) if(prob(5)) - to_chat(victim, "[name] exclaims, \"Level 10 infraction alert!\"") + to_chat(victim, span_name("[name]
exclaims, \"Level 10 infraction alert!\"")) /obj/effect/hallucination/simple/securitron/Destroy() STOP_PROCESSING(SSfastprocess,src) diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 06d8dd986ed..756903fa5ce 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -66,7 +66,7 @@ var/mob/living/split_personality/new_backseat if(current_controller == STRANGER || reset_to_owner) current_backseat = owner_backseat - new_backseat = stranger_backseat + new_backseat = stranger_backseat else current_backseat = stranger_backseat new_backseat = owner_backseat @@ -75,8 +75,8 @@ return log_game("[key_name(current_backseat)] assumed control of [key_name(owner)] due to [src]. (Original owner: [current_controller == OWNER ? owner.key : current_backseat.key])") - to_chat(owner, "You feel your control being taken away... your other personality is in charge now!") - to_chat(current_backseat, "You manage to take control of your body!") + to_chat(owner, span_userdanger("You feel your control being taken away... your other personality is in charge now!")) + to_chat(current_backseat, span_userdanger("You manage to take control of your body!")) //Body to backseat @@ -97,7 +97,7 @@ if(!new_backseat.lastKnownIP) new_backseat.lastKnownIP = h2b_ip - + if(reset_to_owner && new_backseat.mind) new_backseat.ghostize(FALSE) @@ -153,11 +153,11 @@ . = ..() if(!. || !client) return FALSE - to_chat(src, "As a split personality, you cannot do anything but observe. However, you will eventually gain control of your body, switching places with the current personality.") - to_chat(src, "Do not commit suicide or put the body in a deadly position. Behave like you care about it as much as the owner.") + to_chat(src, span_notice("As a split personality, you cannot do anything but observe. However, you will eventually gain control of your body, switching places with the current personality.")) + to_chat(src, span_warning("Do not commit suicide or put the body in a deadly position. Behave like you care about it as much as the owner.")) /mob/living/split_personality/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) - to_chat(src, "You cannot speak, your other self is controlling your body!") + to_chat(src, span_warning("You cannot speak, your other self is controlling your body!")) return FALSE /mob/living/split_personality/emote(act, m_type = null, message = null, intentional = FALSE, force_silence = FALSE) @@ -214,7 +214,7 @@ return var/message = hearing_args[HEARING_RAW_MESSAGE] if(findtext(message, codeword)) - hearing_args[HEARING_RAW_MESSAGE] = replacetext(message, codeword, "[codeword]") + hearing_args[HEARING_RAW_MESSAGE] = replacetext(message, codeword, span_warning("[codeword]")) addtimer(CALLBACK(src, /datum/brain_trauma/severe/split_personality.proc/switch_personalities), 10) /datum/brain_trauma/severe/split_personality/brainwashing/handle_speech(datum/source, list/speech_args) @@ -231,10 +231,10 @@ . = ..() if(!. || !client) return FALSE - to_chat(src, "As a brainwashed personality, you cannot do anything yet but observe. However, you may gain control of your body if you hear the special codeword, switching places with the current personality.") - to_chat(src, "Your activation codeword is: [codeword]") + to_chat(src, span_notice("As a brainwashed personality, you cannot do anything yet but observe. However, you may gain control of your body if you hear the special codeword, switching places with the current personality.")) + to_chat(src, span_notice("Your activation codeword is: [codeword]")) if(objective) - to_chat(src, "Your master left you an objective: [objective]. Follow it at all costs when in control.") + to_chat(src, span_notice("Your master left you an objective: [objective]. Follow it at all costs when in control.")) #undef OWNER #undef STRANGER diff --git a/code/datums/browser.dm b/code/datums/browser.dm index e05ad477c4b..8d1ef5d1322 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -100,7 +100,7 @@ /datum/browser/proc/open(use_onclose = TRUE) if(isnull(window_id)) //null check because this can potentially nuke goonchat WARNING("Browser [title] tried to open with a null ID") - to_chat(user, "The [title] browser you tried to open failed a sanity check! Please report this on github!") + to_chat(user, span_userdanger("The [title] browser you tried to open failed a sanity check! Please report this on github!")) return var/window_size = "" if (width && height) diff --git a/code/datums/components/acid.dm b/code/datums/components/acid.dm index 762e62e8353..f72d3fbc241 100644 --- a/code/datums/components/acid.dm +++ b/code/datums/components/acid.dm @@ -129,19 +129,19 @@ parent_integrity -= delta_time if(parent_integrity <= 0) - target_turf.visible_message("[target_turf] collapses under its own weight into a puddle of goop and undigested debris!") + target_turf.visible_message(span_warning("[target_turf] collapses under its own weight into a puddle of goop and undigested debris!")) target_turf.acid_melt() else if(parent_integrity <= 4 && stage <= 3) - target_turf.visible_message("[target_turf] begins to crumble under the acid!") + target_turf.visible_message(span_warning("[target_turf] begins to crumble under the acid!")) stage = 4 else if(parent_integrity <= 8 && stage <= 2) - target_turf.visible_message("[target_turf] is struggling to withstand the acid!") + target_turf.visible_message(span_warning("[target_turf] is struggling to withstand the acid!")) stage = 3 else if(parent_integrity <= 16 && stage <= 1) - target_turf.visible_message("[target_turf] is being melted by the acid!") + target_turf.visible_message(span_warning("[target_turf] is being melted by the acid!")) stage = 2 else if(parent_integrity <= 24 && stage == 0) - target_turf.visible_message("[target_turf] is holding up against the acid!") + target_turf.visible_message(span_warning("[target_turf] is holding up against the acid!")) stage = 1 /// Used to maintain the acid overlay on the parent [/atom]. @@ -154,7 +154,7 @@ /datum/component/acid/proc/on_examine(atom/A, mob/user, list/examine_list) SIGNAL_HANDLER - examine_list += "[A.p_theyre()] covered in corrosive liquid!" + examine_list += span_danger("[A.p_theyre()] covered in corrosive liquid!") /// Makes it possible to clean acid off of objects. /datum/component/acid/proc/on_clean(atom/A, clean_types) @@ -194,7 +194,7 @@ if(!affecting?.receive_damage(0, 5)) return NONE - to_chat(user, "The acid on \the [parent_atom] burns your hand!") + to_chat(user, span_warning("The acid on \the [parent_atom] burns your hand!")) playsound(parent_atom, 'sound/weapons/sear.ogg', 50, TRUE) user.update_damage_overlays() return COMPONENT_CANCEL_ATTACK_CHAIN @@ -216,5 +216,5 @@ var/acid_used = min(acid_volume * 0.05, 20) if(crosser.acid_act(acid_power, acid_used, FEET)) playsound(crosser, 'sound/weapons/sear.ogg', 50, TRUE) - to_chat(crosser, "The acid on the [parent] burns you!") + to_chat(crosser, span_userdanger("The acid on the [parent] burns you!")) set_volume(max(acid_volume - acid_used, 10)) diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index 156ee14d95e..a246f6f0e92 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -38,16 +38,16 @@ if(ismecha(parent)) if(amount) if(amount < maxamount) - examine_list += "Its armor is enhanced with [amount] [upgrade_name]." + examine_list += span_notice("Its armor is enhanced with [amount] [upgrade_name].") else - examine_list += "It's wearing a fearsome carapace entirely composed of [upgrade_name] - its pilot must be an experienced monster hunter." + examine_list += span_notice("It's wearing a fearsome carapace entirely composed of [upgrade_name] - its pilot must be an experienced monster hunter.") else - examine_list += "It has attachment points for strapping monster hide on for added protection." + examine_list += span_notice("It has attachment points for strapping monster hide on for added protection.") else if(amount) - examine_list += "It has been strengthened with [amount]/[maxamount] [upgrade_name]." + examine_list += span_notice("It has been strengthened with [amount]/[maxamount] [upgrade_name].") else - examine_list += "It can be strengthened with up to [maxamount] [upgrade_name]." + examine_list += span_notice("It can be strengthened with up to [maxamount] [upgrade_name].") /datum/component/armor_plate/proc/applyplate(datum/source, obj/item/I, mob/user, params) SIGNAL_HANDLER @@ -55,14 +55,14 @@ if(!istype(I,upgrade_item)) return if(amount >= maxamount) - to_chat(user, "You can't improve [parent] any further!") + to_chat(user, span_warning("You can't improve [parent] any further!")) return if(istype(I,/obj/item/stack)) I.use(1) else if(length(I.contents)) - to_chat(user, "[I] cannot be used for armoring while there's something inside!") + to_chat(user, span_warning("[I] cannot be used for armoring while there's something inside!")) return qdel(I) @@ -73,10 +73,10 @@ if(ismecha(O)) var/obj/vehicle/sealed/mecha/R = O R.update_appearance() - to_chat(user, "You strengthen [R], improving its resistance against melee, bullet and laser damage.") + to_chat(user, span_info("You strengthen [R], improving its resistance against melee, bullet and laser damage.")) else SEND_SIGNAL(O, COMSIG_ARMOR_PLATED, amount, maxamount) - to_chat(user, "You strengthen [O], improving its resistance against melee attacks.") + to_chat(user, span_info("You strengthen [O], improving its resistance against melee attacks.")) /datum/component/armor_plate/proc/dropplates(datum/source, force) diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 97dd7203151..345a4fcd140 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -40,39 +40,39 @@ var/mob/living/carbon/human/H = M if((user.pulling == H && user.grab_state >= GRAB_AGGRESSIVE) && user.zone_selected == BODY_ZONE_HEAD) // Only aggressive grabbed can be sliced. if(H.has_status_effect(/datum/status_effect/neck_slice)) - user.show_message("[H]'s neck has already been already cut, you can't make the bleeding any worse!", MSG_VISUAL, \ - "Their neck has already been already cut, you can't make the bleeding any worse!") + user.show_message(span_warning("[H]'s neck has already been already cut, you can't make the bleeding any worse!"), MSG_VISUAL, \ + span_warning("Their neck has already been already cut, you can't make the bleeding any worse!")) return COMPONENT_CANCEL_ATTACK_CHAIN INVOKE_ASYNC(src, .proc/startNeckSlice, source, H, user) return COMPONENT_CANCEL_ATTACK_CHAIN /datum/component/butchering/proc/startButcher(obj/item/source, mob/living/M, mob/living/user) - to_chat(user, "You begin to butcher [M]...") + to_chat(user, span_notice("You begin to butcher [M]...")) playsound(M.loc, butcher_sound, 50, TRUE, -1) if(do_mob(user, M, speed) && M.Adjacent(source)) Butcher(user, M) /datum/component/butchering/proc/startNeckSlice(obj/item/source, mob/living/carbon/human/H, mob/living/user) if(DOING_INTERACTION_WITH_TARGET(user, H)) - to_chat(user, "You're already interacting with [H]!") + to_chat(user, span_warning("You're already interacting with [H]!")) return - user.visible_message("[user] is slitting [H]'s throat!", \ - "You start slicing [H]'s throat!", \ - "You hear a cutting noise!", ignored_mobs = H) - H.show_message("Your throat is being slit by [user]!", MSG_VISUAL, \ + user.visible_message(span_danger("[user] is slitting [H]'s throat!"), \ + span_danger("You start slicing [H]'s throat!"), \ + span_hear("You hear a cutting noise!"), ignored_mobs = H) + H.show_message(span_userdanger("Your throat is being slit by [user]!"), MSG_VISUAL, \ "Something is cutting into your neck!", NONE) log_combat(user, H, "attempted throat slitting", source) playsound(H.loc, butcher_sound, 50, TRUE, -1) if(do_mob(user, H, clamp(500 / source.force, 30, 100)) && H.Adjacent(source)) if(H.has_status_effect(/datum/status_effect/neck_slice)) - user.show_message("[H]'s neck has already been already cut, you can't make the bleeding any worse!", MSG_VISUAL, \ - "Their neck has already been already cut, you can't make the bleeding any worse!") + user.show_message(span_warning("[H]'s neck has already been already cut, you can't make the bleeding any worse!"), MSG_VISUAL, \ + span_warning("Their neck has already been already cut, you can't make the bleeding any worse!")) return - H.visible_message("[user] slits [H]'s throat!", \ - "[user] slits your throat...") + H.visible_message(span_danger("[user] slits [H]'s throat!"), \ + span_userdanger("[user] slits your throat...")) log_combat(user, H, "wounded via throat slitting", source) H.apply_damage(source.force, BRUTE, BODY_ZONE_HEAD, wound_bonus=CANT_WOUND) // easy tiger, we'll get to that in a sec var/obj/item/bodypart/slit_throat = H.get_bodypart(BODY_ZONE_HEAD) @@ -99,12 +99,12 @@ for(var/_i in 1 to amount) if(!prob(final_effectiveness)) if(butcher) - to_chat(butcher, "You fail to harvest some of the [initial(bones.name)] from [meat].") + to_chat(butcher, span_warning("You fail to harvest some of the [initial(bones.name)] from [meat].")) continue if(prob(bonus_chance)) if(butcher) - to_chat(butcher, "You harvest some extra [initial(bones.name)] from [meat]!") + to_chat(butcher, span_info("You harvest some extra [initial(bones.name)] from [meat]!")) results += new bones (T) results += new bones (T) @@ -124,8 +124,8 @@ carrion.set_custom_materials((carrion.custom_materials - meat_mats) + list(GET_MATERIAL_REF(/datum/material/meat/mob_meat, meat) = counterlist_sum(meat_mats))) if(butcher) - butcher.visible_message("[butcher] butchers [meat].", \ - "You butcher [meat].") + butcher.visible_message(span_notice("[butcher] butchers [meat]."), \ + span_notice("You butcher [meat].")) ButcherEffects(meat) meat.harvest(butcher) meat.gib(FALSE, FALSE, TRUE) diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index d48900f6ae3..25902e5d57e 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -84,7 +84,7 @@ if(istype(H.belt, /obj/item/wormhole_jaunter)) var/obj/item/wormhole_jaunter/J = H.belt //To freak out any bystanders - H.visible_message("[H] falls into [parent]!") + H.visible_message(span_boldwarning("[H] falls into [parent]!")) J.chasm_react(H) return FALSE return TRUE @@ -98,8 +98,8 @@ if(T) // send to the turf below - AM.visible_message("[AM] falls into [parent]!", "[fall_message]") - T.visible_message("[AM] falls from above!") + AM.visible_message(span_boldwarning("[AM] falls into [parent]!"), span_userdanger("[fall_message]")) + T.visible_message(span_boldwarning("[AM] falls from above!")) AM.forceMove(T) if(isliving(AM)) var/mob/living/L = AM @@ -109,7 +109,7 @@ else // send to oblivion - AM.visible_message("[AM] falls into [parent]!", "[oblivion_message]") + AM.visible_message(span_boldwarning("[AM] falls into [parent]!"), span_userdanger("[oblivion_message]")) if (isliving(AM)) var/mob/living/L = AM L.notransform = TRUE @@ -142,7 +142,7 @@ qdel(AM) if(AM && !QDELETED(AM)) //It's indestructible var/atom/parent = src.parent - parent.visible_message("[parent] spits out [AM]!") + parent.visible_message(span_boldwarning("[parent] spits out [AM]!")) AM.alpha = oldalpha AM.color = oldcolor AM.transform = oldtransform diff --git a/code/datums/components/container_item/tank_holder.dm b/code/datums/components/container_item/tank_holder.dm index b68c413519c..765335987ce 100644 --- a/code/datums/components/container_item/tank_holder.dm +++ b/code/datums/components/container_item/tank_holder.dm @@ -17,12 +17,12 @@ var/obj/item/I = parent if(container.contents.len) if(user) - to_chat(user, "There's already something in [container].") + to_chat(user, span_warning("There's already something in [container].")) return TRUE if(user) if(!user.transferItemToLoc(I, container)) return TRUE - to_chat(user, "You put [I] into [container].") + to_chat(user, span_notice("You put [I] into [container].")) else I.forceMove(container) container.tank = I diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index c20a669c358..bf0e03f7d61 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -443,10 +443,10 @@ user.put_in_hands(result) else result.forceMove(user.drop_location()) - to_chat(user, "[TR.name] constructed.") + to_chat(user, span_notice("[TR.name] constructed.")) TR.on_craft_completion(user, result) else - to_chat(user, "Construction failed[result]") + to_chat(user, span_warning("Construction failed[result]")) busy = FALSE if("toggle_recipes") display_craftable_only = !display_craftable_only diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 2f96cdd9a73..ae175a8af4e 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -1001,7 +1001,7 @@ if(!aicard.AI) return TRUE - to_chat(user, "You can't craft an intelliTater with an AI in the card!") + to_chat(user, span_boldwarning("You can't craft an intelliTater with an AI in the card!")) return FALSE /datum/crafting_recipe/aispook @@ -1288,7 +1288,7 @@ /datum/reagent/consumable/ice = 10 ) category = CAT_CHEMISTRY - + /** * Recipe used for upgrading fake N-spect scanners to bananium HONK-spect scanners */ diff --git a/code/datums/components/curse_of_hunger.dm b/code/datums/components/curse_of_hunger.dm index a754f5fa61c..40c3a6fa010 100644 --- a/code/datums/components/curse_of_hunger.dm +++ b/code/datums/components/curse_of_hunger.dm @@ -47,9 +47,9 @@ if(!awakened) return //we should not reveal we are cursed until equipped if(poison_food_tolerance != FULL_HEALTH) - examine_list += "[parent] looks sick from something it ate." + examine_list += span_notice("[parent] looks sick from something it ate.") if(hunger > HUNGER_THRESHOLD_WARNING) - examine_list += "[parent] hungers for something to eat..." + examine_list += span_danger("[parent] hungers for something to eat...") ///signal called from equipping parent /datum/component/curse_of_hunger/proc/on_equip(datum/source, mob/equipper, slot) @@ -114,7 +114,7 @@ cursed_item.forceMove(get_turf(cursed_item)) //only taking the most reasonable slot is fine since it unequips what is there to equip itself. cursed_item.AddElement(/datum/element/cursed, cursed_item.slot_equipment_priority[1]) - cursed_item.visible_message("[cursed_item] begins to move on [cursed_item.p_their()] own...") + cursed_item.visible_message(span_warning("[cursed_item] begins to move on [cursed_item.p_their()] own...")) /datum/component/curse_of_hunger/process(delta_time) var/obj/item/cursed_item = parent @@ -134,17 +134,17 @@ playsound(cursed_item, 'sound/items/eatfood.ogg', 20, TRUE) ///poisoned food damages it if(istype(food, /obj/item/food/badrecipe)) - to_chat(cursed, "[cursed_item] eats your [food] to sate [cursed_item.p_their()] hunger, and looks [pick("queasy", "sick", "iffy", "unwell")] afterwards!") + to_chat(cursed, span_warning("[cursed_item] eats your [food] to sate [cursed_item.p_their()] hunger, and looks [pick("queasy", "sick", "iffy", "unwell")] afterwards!")) poison_food_tolerance-- else - to_chat(cursed, "[cursed_item] eats your [food] to sate [cursed_item.p_their()] hunger.") + to_chat(cursed, span_notice("[cursed_item] eats your [food] to sate [cursed_item.p_their()] hunger.")) cursed.temporarilyRemoveItemFromInventory(food, force = TRUE) qdel(food) hunger = 0 return ///no food found: it bites you and regains some poison food tolerance playsound(cursed_item, 'sound/items/eatfood.ogg', 20, TRUE) - to_chat(cursed, "[cursed_item] bites you to sate [cursed_item.p_their()] hunger!") + to_chat(cursed, span_userdanger("[cursed_item] bites you to sate [cursed_item.p_their()] hunger!")) var/affecting = cursed.get_bodypart(BODY_ZONE_CHEST) cursed.apply_damage(60, BRUTE, affecting) hunger = 0 diff --git a/code/datums/components/customizable_reagent_holder.dm b/code/datums/components/customizable_reagent_holder.dm index 6c0abc1a053..08bda5370fa 100644 --- a/code/datums/components/customizable_reagent_holder.dm +++ b/code/datums/components/customizable_reagent_holder.dm @@ -111,11 +111,11 @@ // only accept valid ingredients if (!valid_ingredient || HAS_TRAIT(ingredient, TRAIT_CUSTOMIZABLE_REAGENT_HOLDER)) - to_chat(attacker, "[ingredient] doesn't belong on [parent]!") + to_chat(attacker, span_warning("[ingredient] doesn't belong on [parent]!")) return if (LAZYLEN(ingredients) >= max_ingredients) - to_chat(attacker, "[parent] is too full for any more ingredients!") + to_chat(attacker, span_warning("[parent] is too full for any more ingredients!")) return COMPONENT_NO_AFTERATTACK var/atom/atom_parent = parent diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm index 03f8ba2592a..d439e9b8c41 100644 --- a/code/datums/components/deadchat_control.dm +++ b/code/datums/components/deadchat_control.dm @@ -59,16 +59,16 @@ if(deadchat_mode == ANARCHY_MODE) var/cooldown = ckey_to_cooldown[source.ckey] - world.time if(cooldown > 0) - to_chat(source, "Your deadchat control inputs are still on cooldown for another [cooldown * 0.1] seconds.") + to_chat(source, span_warning("Your deadchat control inputs are still on cooldown for another [cooldown * 0.1] seconds.")) return MOB_DEADSAY_SIGNAL_INTERCEPT inputs[message].Invoke() ckey_to_cooldown[source.ckey] = world.time + input_cooldown - to_chat(source, "\"[message]\" input accepted. You are now on cooldown for [input_cooldown * 0.1] seconds.") + to_chat(source, span_notice("\"[message]\" input accepted. You are now on cooldown for [input_cooldown * 0.1] seconds.")) return MOB_DEADSAY_SIGNAL_INTERCEPT if(deadchat_mode == DEMOCRACY_MODE) ckey_to_cooldown[source.ckey] = message - to_chat(source, "You have voted for \"[message]\".") + to_chat(source, span_notice("You have voted for \"[message]\".")) return MOB_DEADSAY_SIGNAL_INTERCEPT /datum/component/deadchat_control/proc/democracy_loop() @@ -147,9 +147,9 @@ if(QDELETED(src)) return - to_chat(user, "Deadchat can no longer control [parent].") + to_chat(user, span_notice("Deadchat can no longer control [parent].")) log_admin("[key_name(user)] has removed deadchat control from [parent]") - message_admins("[key_name(user)] has removed deadchat control from [parent]") + message_admins(span_notice("[key_name(user)] has removed deadchat control from [parent]")) qdel(src) @@ -160,12 +160,12 @@ if(!isobserver(user)) return - examine_list += "[A.p_theyre(TRUE)] currently under deadchat control using the [deadchat_mode] ruleset!" + examine_list += span_notice("[A.p_theyre(TRUE)] currently under deadchat control using the [deadchat_mode] ruleset!") if(deadchat_mode == DEMOCRACY_MODE) - examine_list += "Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] seconds." + examine_list += span_notice("Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] seconds.") else if(deadchat_mode == ANARCHY_MODE) - examine_list += "Type a command into chat to perform. You may do this once every [input_cooldown * 0.1] seconds." + examine_list += span_notice("Type a command into chat to perform. You may do this once every [input_cooldown * 0.1] seconds.") var/extended_examine = "Command list:" diff --git a/code/datums/components/dejavu.dm b/code/datums/components/dejavu.dm index ac19b224cf1..414289e7ca4 100644 --- a/code/datums/components/dejavu.dm +++ b/code/datums/components/dejavu.dm @@ -73,7 +73,7 @@ if(starting_turf) var/area/destination_area = starting_turf.loc if(destination_area.area_flags & NOTELEPORT) - to_chat(parent, "For some reason, your head aches and fills with mental fog when you try to think of where you were... It feels like you're now going against some dull, unstoppable universal force.") + to_chat(parent, span_warning("For some reason, your head aches and fills with mental fog when you try to think of where you were... It feels like you're now going against some dull, unstoppable universal force.")) else var/atom/movable/master = parent master.forceMove(starting_turf) diff --git a/code/datums/components/egg_layer.dm b/code/datums/components/egg_layer.dm index de7f0f07914..26231256ac6 100644 --- a/code/datums/components/egg_layer.dm +++ b/code/datums/components/egg_layer.dm @@ -60,12 +60,12 @@ if(isliving(at_least_atom)) var/mob/living/potentially_dead_horse = at_least_atom if(potentially_dead_horse.stat == DEAD) - to_chat(attacker, "[parent] is dead!") + to_chat(attacker, span_warning("[parent] is dead!")) return COMPONENT_CANCEL_ATTACK_CHAIN if(eggs_left > max_eggs_held) - to_chat(attacker, "[parent] doesn't seem hungry!") + to_chat(attacker, span_warning("[parent] doesn't seem hungry!")) return COMPONENT_CANCEL_ATTACK_CHAIN - attacker.visible_message("[attacker] hand-feeds [food] to [parent].", "You hand-feed [food] to [parent].") + attacker.visible_message(span_notice("[attacker] hand-feeds [food] to [parent]."), span_notice("You hand-feed [food] to [parent].")) at_least_atom.visible_message(pick(feed_messages)) qdel(food) eggs_left += min(eggs_left + eggs_added_from_eating, max_eggs_held) @@ -81,7 +81,7 @@ if(!eggs_left || !DT_PROB(1.5, delta_time)) return - at_least_atom.visible_message("[at_least_atom] [pick(lay_messages)]") + at_least_atom.visible_message(span_alertalien("[at_least_atom] [pick(lay_messages)]")) eggs_left-- var/obj/item/egg = new egg_type(get_turf(at_least_atom)) egg.pixel_x = rand(-6, 6) diff --git a/code/datums/components/electrified_buckle.dm b/code/datums/components/electrified_buckle.dm index 8a3ed0f9fd8..073e0f78b3a 100644 --- a/code/datums/components/electrified_buckle.dm +++ b/code/datums/components/electrified_buckle.dm @@ -167,7 +167,7 @@ guinea_pig.electrocute_act(shock_damage, parent_as_movable) break - parent_as_movable.visible_message("The electric chair went off!", "You hear a deep sharp shock!") + parent_as_movable.visible_message(span_danger("The electric chair went off!"), span_hear("You hear a deep sharp shock!")) ///a shock that is toggled manually /datum/component/electrified_buckle/proc/shock_on_demand() @@ -193,11 +193,11 @@ if(shock_on_loop) shock_on_loop = FALSE STOP_PROCESSING(SSprocessing, src) - parent_as_movable.visible_message("The electric chair emits a snap as its circuit opens, making it safe for now.") + parent_as_movable.visible_message(span_notice("The electric chair emits a snap as its circuit opens, making it safe for now.")) else shock_on_loop = TRUE START_PROCESSING(SSprocessing, src) - parent_as_movable.visible_message("You hear the sound of an electric circuit closing coming from the electric chair!") + parent_as_movable.visible_message(span_notice("You hear the sound of an electric circuit closing coming from the electric chair!")) #undef ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISOR #undef ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTH diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index c798a10e763..0e6a6f090af 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -87,7 +87,7 @@ limb.embedded_objects |= weapon // on the inside... on the inside... weapon.forceMove(victim) RegisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING), .proc/weaponDeleted) - victim.visible_message("[weapon] [harmful ? "embeds" : "sticks"] itself [harmful ? "in" : "to"] [victim]'s [limb.name]!", "[weapon] [harmful ? "embeds" : "sticks"] itself [harmful ? "in" : "to"] your [limb.name]!") + victim.visible_message(span_danger("[weapon] [harmful ? "embeds" : "sticks"] itself [harmful ? "in" : "to"] [victim]'s [limb.name]!"), span_userdanger("[weapon] [harmful ? "embeds" : "sticks"] itself [harmful ? "in" : "to"] your [limb.name]!")) var/damage = weapon.throwforce if(harmful) @@ -142,7 +142,7 @@ if(harmful && prob(pain_chance_current)) limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage, wound_bonus = CANT_WOUND) - to_chat(victim, "[weapon] embedded in your [limb.name] hurts!") + to_chat(victim, span_userdanger("[weapon] embedded in your [limb.name] hurts!")) var/fall_chance_current = DT_PROB_RATE(fall_chance / 100, delta_time) * 100 if(victim.body_position == LYING_DOWN) @@ -168,7 +168,7 @@ if(harmful && prob(chance)) var/damage = weapon.w_class * jostle_pain_mult limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage, wound_bonus = CANT_WOUND) - to_chat(victim, "[weapon] embedded in your [limb.name] jostles and stings!") + to_chat(victim, span_userdanger("[weapon] embedded in your [limb.name] jostles and stings!")) /// Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove() @@ -179,7 +179,7 @@ var/damage = weapon.w_class * remove_pain_mult limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage, wound_bonus = CANT_WOUND) - victim.visible_message("[weapon] falls [harmful ? "out" : "off"] of [victim.name]'s [limb.name]!", "[weapon] falls [harmful ? "out" : "off"] of your [limb.name]!") + victim.visible_message(span_danger("[weapon] falls [harmful ? "out" : "off"] of [victim.name]'s [limb.name]!"), span_userdanger("[weapon] falls [harmful ? "out" : "off"] of your [limb.name]!")) safeRemove() @@ -195,7 +195,7 @@ /// everything async that ripOut used to do /datum/component/embedded/proc/complete_rip_out(mob/living/carbon/victim, obj/item/I, obj/item/bodypart/limb, time_taken) - victim.visible_message("[victim] attempts to remove [weapon] from [victim.p_their()] [limb.name].","You attempt to remove [weapon] from your [limb.name]... (It will take [DisplayTimeText(time_taken)].)") + victim.visible_message(span_warning("[victim] attempts to remove [weapon] from [victim.p_their()] [limb.name]."),span_notice("You attempt to remove [weapon] from your [limb.name]... (It will take [DisplayTimeText(time_taken)].)")) if(!do_after(victim, time_taken, target = victim)) return if(!weapon || !limb || weapon.loc != victim || !(weapon in limb.embedded_objects)) @@ -206,7 +206,7 @@ limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage, sharpness=SHARP_EDGED) //It hurts to rip it out, get surgery you dingus. unlike the others, this CAN wound + increase slash bloodflow victim.emote("scream") - victim.visible_message("[victim] successfully rips [weapon] [harmful ? "out" : "off"] of [victim.p_their()] [limb.name]!", "You successfully remove [weapon] from your [limb.name].") + victim.visible_message(span_notice("[victim] successfully rips [weapon] [harmful ? "out" : "off"] of [victim.p_their()] [limb.name]!"), span_notice("You successfully remove [weapon] from your [limb.name].")) safeRemove(victim) /// This proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. @@ -235,7 +235,7 @@ limb.embedded_objects -= weapon if(victim) - to_chat(victim, "\The [weapon] that was embedded in your [limb.name] disappears!") + to_chat(victim, span_userdanger("\The [weapon] that was embedded in your [limb.name] disappears!")) qdel(src) @@ -264,22 +264,22 @@ var/self_pluck = (user == victim) if(self_pluck) - user.visible_message("[user] begins plucking [weapon] from [user.p_their()] [limb.name]", "You start plucking [weapon] from your [limb.name]...",\ + user.visible_message(span_danger("[user] begins plucking [weapon] from [user.p_their()] [limb.name]"), span_notice("You start plucking [weapon] from your [limb.name]..."),\ vision_distance=COMBAT_MESSAGE_RANGE, ignored_mobs=victim) else - user.visible_message("[user] begins plucking [weapon] from [victim]'s [limb.name]","You start plucking [weapon] from [victim]'s [limb.name]...", \ + user.visible_message(span_danger("[user] begins plucking [weapon] from [victim]'s [limb.name]"),span_notice("You start plucking [weapon] from [victim]'s [limb.name]..."), \ vision_distance=COMBAT_MESSAGE_RANGE, ignored_mobs=victim) - to_chat(victim, "[user] begins plucking [weapon] from your [limb.name]...") + to_chat(victim, span_userdanger("[user] begins plucking [weapon] from your [limb.name]...")) var/pluck_time = 2.5 SECONDS * weapon.w_class * (self_pluck ? 2 : 1) if(!do_after(user, pluck_time, victim)) if(self_pluck) - to_chat(user, "You fail to pluck [weapon] from your [limb.name].") + to_chat(user, span_danger("You fail to pluck [weapon] from your [limb.name].")) else - to_chat(user, "You fail to pluck [weapon] from [victim]'s [limb.name].") - to_chat(victim, "[user] fails to pluck [weapon] from your [limb.name].") + to_chat(user, span_danger("You fail to pluck [weapon] from [victim]'s [limb.name].")) + to_chat(victim, span_danger("[user] fails to pluck [weapon] from your [limb.name].")) return - to_chat(user, "You successfully pluck [weapon] from [victim]'s [limb.name].") - to_chat(victim, "[user] plucks [weapon] from your [limb.name].") + to_chat(user, span_notice("You successfully pluck [weapon] from [victim]'s [limb.name].")) + to_chat(victim, span_notice("[user] plucks [weapon] from your [limb.name].")) safeRemove(user) diff --git a/code/datums/components/fantasy/_fantasy.dm b/code/datums/components/fantasy/_fantasy.dm index fbce1bc41bd..83bebe1c7d1 100644 --- a/code/datums/components/fantasy/_fantasy.dm +++ b/code/datums/components/fantasy/_fantasy.dm @@ -118,7 +118,7 @@ if(canFail && prob((quality - 9)*10)) var/turf/place = get_turf(parent) - place.visible_message("[parent] violently glows blue for a while, then evaporates.") + place.visible_message(span_danger("[parent] [span_blue("violently glows blue")] for a while, then evaporates.")) master.burn() return else if(announce) @@ -151,6 +151,6 @@ effect_description = "shimmering golden glow" else span = "" - effect_description = "mottled black glow" + effect_description = span_bold("mottled black glow") location.visible_message("[span][originalName] is covered by a [effect_description] and then transforms into [parent]!") diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index d8e05ba1fb2..990127a96c9 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -272,37 +272,37 @@ Behavior that's still missing from this component that original food items had t return var/eatverb = pick(eatverbs) if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS)) - to_chat(eater, "You don't feel like eating any more junk food at the moment!") + to_chat(eater, span_warning("You don't feel like eating any more junk food at the moment!")) return else if(fullness <= 50) - eater.visible_message("[eater] hungrily [eatverb]s \the [parent], gobbling it down!", "You hungrily [eatverb] \the [parent], gobbling it down!") + eater.visible_message(span_notice("[eater] hungrily [eatverb]s \the [parent], gobbling it down!"), span_notice("You hungrily [eatverb] \the [parent], gobbling it down!")) else if(fullness > 50 && fullness < 150) - eater.visible_message("[eater] hungrily [eatverb]s \the [parent].", "You hungrily [eatverb] \the [parent].") + eater.visible_message(span_notice("[eater] hungrily [eatverb]s \the [parent]."), span_notice("You hungrily [eatverb] \the [parent].")) else if(fullness > 150 && fullness < 500) - eater.visible_message("[eater] [eatverb]s \the [parent].", "You [eatverb] \the [parent].") + eater.visible_message(span_notice("[eater] [eatverb]s \the [parent]."), span_notice("You [eatverb] \the [parent].")) else if(fullness > 500 && fullness < 600) - eater.visible_message("[eater] unwillingly [eatverb]s a bit of \the [parent].", "You unwillingly [eatverb] a bit of \the [parent].") + eater.visible_message(span_notice("[eater] unwillingly [eatverb]s a bit of \the [parent]."), span_notice("You unwillingly [eatverb] a bit of \the [parent].")) else if(fullness > (600 * (1 + eater.overeatduration / (4000 SECONDS)))) // The more you eat - the more you can eat - eater.visible_message("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!", "You cannot force any more of \the [parent] to go down your throat!") + eater.visible_message(span_warning("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!"), span_warning("You cannot force any more of \the [parent] to go down your throat!")) return else //If you're feeding it to someone else. if(isbrain(eater)) - to_chat(feeder, "[eater] doesn't seem to have a mouth!") + to_chat(feeder, span_warning("[eater] doesn't seem to have a mouth!")) return if(fullness <= (600 * (1 + eater.overeatduration / (2000 SECONDS)))) - eater.visible_message("[feeder] attempts to feed [eater] [parent].", \ - "[feeder] attempts to feed you [parent].") + eater.visible_message(span_danger("[feeder] attempts to feed [eater] [parent]."), \ + span_userdanger("[feeder] attempts to feed you [parent].")) else - eater.visible_message("[feeder] cannot force any more of [parent] down [eater]'s throat!", \ - "[feeder] cannot force any more of [parent] down your throat!") + eater.visible_message(span_warning("[feeder] cannot force any more of [parent] down [eater]'s throat!"), \ + span_warning("[feeder] cannot force any more of [parent] down your throat!")) return if(!do_mob(feeder, eater)) //Wait 3 seconds before you can feed return if(IsFoodGone(owner, feeder)) return log_combat(feeder, eater, "fed", owner.reagents.log_list()) - eater.visible_message("[feeder] forces [eater] to eat [parent]!", \ - "[feeder] forces you to eat [parent]!") + eater.visible_message(span_danger("[feeder] forces [eater] to eat [parent]!"), \ + span_userdanger("[feeder] forces you to eat [parent]!")) TakeBite(eater, feeder) @@ -349,7 +349,7 @@ Behavior that's still missing from this component that original food items had t covered = "mask" if(covered) var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]" - to_chat(feeder, "You have to remove [who] [covered] first!") + to_chat(feeder, span_warning("You have to remove [who] [covered] first!")) return FALSE return TRUE @@ -368,7 +368,7 @@ Behavior that's still missing from this component that original food items had t if(HAS_TRAIT(H, TRAIT_AGEUSIA)) if(foodtypes & H.dna.species.toxic_food) - to_chat(H, "You don't feel so good...") + to_chat(H, span_warning("You don't feel so good...")) H.adjust_disgust(25 + 30 * fraction) return // Don't care about the later checks if user has ageusia @@ -387,15 +387,15 @@ Behavior that's still missing from this component that original food items had t switch(food_taste_reaction) if(FOOD_TOXIC) - to_chat(H,"What the hell was that thing?!") + to_chat(H,span_warning("What the hell was that thing?!")) H.adjust_disgust(25 + 30 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) if(FOOD_DISLIKED) - to_chat(H,"That didn't taste very good...") + to_chat(H,span_notice("That didn't taste very good...")) H.adjust_disgust(11 + 15 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) if(FOOD_LIKED) - to_chat(H,"I love this taste!") + to_chat(H,span_notice("I love this taste!")) H.adjust_disgust(-5 + -2.5 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) @@ -405,7 +405,7 @@ Behavior that's still missing from this component that original food items had t on_consume?.Invoke(eater, feeder) - to_chat(feeder, "There is nothing left of [parent], oh no!") + to_chat(feeder, span_warning("There is nothing left of [parent], oh no!")) if(isturf(parent)) var/turf/T = parent T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) diff --git a/code/datums/components/food/ice_cream_holder.dm b/code/datums/components/food/ice_cream_holder.dm index d20b555cbaf..1af459ce703 100644 --- a/code/datums/components/food/ice_cream_holder.dm +++ b/code/datums/components/food/ice_cream_holder.dm @@ -141,13 +141,13 @@ if(dispenser.product_types[dispenser.selected_flavour] > 0) var/datum/ice_cream_flavour/flavour = GLOB.ice_cream_flavours[dispenser.selected_flavour] if(flavour.add_flavour(src, dispenser.beaker?.reagents.total_volume ? dispenser.beaker.reagents : null)) - dispenser.visible_message("[icon2html(dispenser, viewers(source))] [user] scoops delicious [dispenser.selected_flavour] ice cream into [source].") + dispenser.visible_message("[icon2html(dispenser, viewers(source))] [span_info("[user] scoops delicious [dispenser.selected_flavour] ice cream into [source].")]") dispenser.product_types[dispenser.selected_flavour]-- INVOKE_ASYNC(dispenser, /obj/machinery/icecream_vat.proc/updateDialog) else - to_chat(user, "There is not enough ice cream left!") + to_chat(user, span_warning("There is not enough ice cream left!")) else - to_chat(user, "[source] can't hold anymore ice cream!") + to_chat(user, span_warning("[source] can't hold anymore ice cream!")) return COMPONENT_CANCEL_ATTACK_CHAIN /////ICE CREAM FLAVOUR DATUM STUFF diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm index 533f3b9d091..8790ab9ed09 100644 --- a/code/datums/components/fullauto.dm +++ b/code/datums/components/fullauto.dm @@ -246,7 +246,7 @@ return FALSE var/obj/item/bodypart/other_hand = shooter.has_hand_for_held_index(shooter.get_inactive_hand_index()) if(weapon_weight == WEAPON_HEAVY && (shooter.get_inactive_held_item() || !other_hand)) - to_chat(shooter, "You need two hands to fire [src]!") + to_chat(shooter, span_warning("You need two hands to fire [src]!")) return FALSE return TRUE diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index 2c13a6860e3..fbb3239b88e 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -52,7 +52,7 @@ GLOBAL_LIST_EMPTY(GPS_list) /datum/component/gps/item/proc/on_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER - examine_list += "Alt-click to switch it [tracking ? "off":"on"]." + examine_list += span_notice("Alt-click to switch it [tracking ? "off":"on"].") ///Called on COMSIG_ATOM_EMP_ACT /datum/component/gps/item/proc/on_emp_act(datum/source, severity) @@ -83,21 +83,21 @@ GLOBAL_LIST_EMPTY(GPS_list) if(!user.canUseTopic(parent, BE_CLOSE)) return //user not valid to use gps if(emped) - to_chat(user, "It's busted!") + to_chat(user, span_warning("It's busted!")) return var/atom/A = parent if(tracking) A.cut_overlay("working") - to_chat(user, "[parent] is no longer tracking, or visible to other GPS devices.") + to_chat(user, span_notice("[parent] is no longer tracking, or visible to other GPS devices.")) tracking = FALSE else A.add_overlay("working") - to_chat(user, "[parent] is now tracking, and visible to other GPS devices.") + to_chat(user, span_notice("[parent] is now tracking, and visible to other GPS devices.")) tracking = TRUE /datum/component/gps/item/ui_interact(mob/user, datum/tgui/ui) if(emped) - to_chat(user, "[parent] fizzles weakly.") + to_chat(user, span_hear("[parent] fizzles weakly.")) return ui = SStgui.try_update_ui(user, src, ui) if(!ui) diff --git a/code/datums/components/grillable.dm b/code/datums/components/grillable.dm index 2e2be16be41..42d1be3a19a 100644 --- a/code/datums/components/grillable.dm +++ b/code/datums/components/grillable.dm @@ -87,16 +87,16 @@ if(!current_cook_time) //Not grilled yet if(positive_result) - examine_list += "[parent] can be grilled into \a [initial(cook_result.name)]." + examine_list += span_notice("[parent] can be grilled into \a [initial(cook_result.name)].") return if(positive_result) if(current_cook_time <= required_cook_time * 0.75) - examine_list += "[parent] probably needs to be cooked a bit longer!" + examine_list += span_notice("[parent] probably needs to be cooked a bit longer!") else if(current_cook_time <= required_cook_time) - examine_list += "[parent] seems to be almost finished cooking!" + examine_list += span_notice("[parent] seems to be almost finished cooking!") else - examine_list += "[parent] should probably not be cooked for much longer!" + examine_list += span_danger("[parent] should probably not be cooked for much longer!") ///Ran when an object moves from the grill /datum/component/grillable/proc/OnMoved(atom/A, atom/OldLoc, Dir, Forced) diff --git a/code/datums/components/gunpoint.dm b/code/datums/components/gunpoint.dm index 184d2f66f9e..4a0f5e99907 100644 --- a/code/datums/components/gunpoint.dm +++ b/code/datums/components/gunpoint.dm @@ -37,9 +37,9 @@ RegisterSignal(weapon, list(COMSIG_ITEM_DROPPED, COMSIG_ITEM_EQUIPPED), .proc/cancel) - shooter.visible_message("[shooter] aims [weapon] point blank at [target]!", \ - "You aim [weapon] point blank at [target]!", ignored_mobs = target) - to_chat(target, "[shooter] aims [weapon] point blank at you!") + shooter.visible_message(span_danger("[shooter] aims [weapon] point blank at [target]!"), \ + span_danger("You aim [weapon] point blank at [target]!"), ignored_mobs = target) + to_chat(target, span_userdanger("[shooter] aims [weapon] point blank at you!")) shooter.apply_status_effect(STATUS_EFFECT_HOLDUP, shooter) target.apply_status_effect(STATUS_EFFECT_HELDUP, shooter) @@ -79,9 +79,9 @@ if(A != target) return var/mob/living/shooter = parent - shooter.visible_message("[shooter] bumps into [target] and fumbles [shooter.p_their()] aim!", \ - "You bump into [target] and fumble your aim!", ignored_mobs = target) - to_chat(target, "[shooter] bumps into you and fumbles [shooter.p_their()] aim!") + shooter.visible_message(span_danger("[shooter] bumps into [target] and fumbles [shooter.p_their()] aim!"), \ + span_danger("You bump into [target] and fumble your aim!"), ignored_mobs = target) + to_chat(target, span_userdanger("[shooter] bumps into you and fumbles [shooter.p_their()] aim!")) qdel(src) ///If the shooter shoves or grabs the target, cancel the holdup to avoid cheesing and forcing the charged shot @@ -90,22 +90,22 @@ if(T != target || LAZYACCESS(modifiers, RIGHT_CLICK)) return - shooter.visible_message("[shooter] bumps into [target] and fumbles [shooter.p_their()] aim!", \ - "You bump into [target] and fumble your aim!", ignored_mobs = target) - to_chat(target, "[shooter] bumps into you and fumbles [shooter.p_their()] aim!") + shooter.visible_message(span_danger("[shooter] bumps into [target] and fumbles [shooter.p_their()] aim!"), \ + span_danger("You bump into [target] and fumble your aim!"), ignored_mobs = target) + to_chat(target, span_userdanger("[shooter] bumps into you and fumbles [shooter.p_their()] aim!")) qdel(src) ///Update the damage multiplier for whatever stage we're entering into /datum/component/gunpoint/proc/update_stage(new_stage) stage = new_stage if(stage == 2) - to_chat(parent, "You steady [weapon] on [target].") - to_chat(target, "[parent] has steadied [weapon] on you!") + to_chat(parent, span_danger("You steady [weapon] on [target].")) + to_chat(target, span_userdanger("[parent] has steadied [weapon] on you!")) damage_mult = GUNPOINT_MULT_STAGE_2 addtimer(CALLBACK(src, .proc/update_stage, 3), GUNPOINT_DELAY_STAGE_3) else if(stage == 3) - to_chat(parent, "You have fully steadied [weapon] on [target].") - to_chat(target, "[parent] has fully steadied [weapon] on you!") + to_chat(parent, span_danger("You have fully steadied [weapon] on [target].")) + to_chat(target, span_userdanger("[parent] has fully steadied [weapon] on you!")) damage_mult = GUNPOINT_MULT_STAGE_3 ///Cancel the holdup if the shooter moves out of sight or out of range of the target @@ -131,9 +131,9 @@ point_of_no_return = TRUE if(!weapon.can_shoot() || !weapon.can_trigger_gun(shooter) || (weapon.weapon_weight == WEAPON_HEAVY && shooter.get_inactive_held_item())) - shooter.visible_message("[shooter] fumbles [weapon]!", \ - "You fumble [weapon] and fail to fire at [target]!", ignored_mobs = target) - to_chat(target, "[shooter] fumbles [weapon] and fails to fire at you!") + shooter.visible_message(span_danger("[shooter] fumbles [weapon]!"), \ + span_danger("You fumble [weapon] and fail to fire at [target]!"), ignored_mobs = target) + to_chat(target, span_userdanger("[shooter] fumbles [weapon] and fails to fire at you!")) qdel(src) return @@ -160,9 +160,9 @@ SIGNAL_HANDLER var/mob/living/shooter = parent - shooter.visible_message("[shooter] breaks [shooter.p_their()] aim on [target]!", \ - "You are no longer aiming [weapon] at [target].", ignored_mobs = target) - to_chat(target, "[shooter] breaks [shooter.p_their()] aim on you!") + shooter.visible_message(span_danger("[shooter] breaks [shooter.p_their()] aim on [target]!"), \ + span_danger("You are no longer aiming [weapon] at [target]."), ignored_mobs = target) + to_chat(target, span_userdanger("[shooter] breaks [shooter.p_their()] aim on you!")) SEND_SIGNAL(target, COMSIG_CLEAR_MOOD_EVENT, "gunpoint") qdel(src) @@ -184,8 +184,8 @@ flinch_chance = 80 if(prob(flinch_chance)) - shooter.visible_message("[shooter] flinches!", \ - "You flinch!") + shooter.visible_message(span_danger("[shooter] flinches!"), \ + span_danger("You flinch!")) INVOKE_ASYNC(src, .proc/trigger_reaction) #undef GUNPOINT_SHOOTER_STRAY_RANGE diff --git a/code/datums/components/heirloom.dm b/code/datums/components/heirloom.dm index 69f8fb817b9..b1cfcbdfcdd 100644 --- a/code/datums/components/heirloom.dm +++ b/code/datums/components/heirloom.dm @@ -15,10 +15,10 @@ SIGNAL_HANDLER if(user.mind == owner) - examine_list += "It is your precious [family_name] family heirloom. Keep it safe!" + examine_list += span_notice("It is your precious [family_name] family heirloom. Keep it safe!") else if(isobserver(user)) - examine_list += "It is the [family_name] family heirloom, belonging to [owner]." + examine_list += span_notice("It is the [family_name] family heirloom, belonging to [owner].") else var/datum/antagonist/obsessed/creeper = user.mind.has_antag_datum(/datum/antagonist/obsessed) if(creeper && creeper.trauma.obsession == owner) - examine_list += "This must be [owner]'s family heirloom! It smells just like them..." + examine_list += span_nicegreen("This must be [owner]'s family heirloom! It smells just like them...") diff --git a/code/datums/components/itempicky.dm b/code/datums/components/itempicky.dm index 43b5344e1d5..49a12ef8193 100644 --- a/code/datums/components/itempicky.dm +++ b/code/datums/components/itempicky.dm @@ -31,5 +31,5 @@ /datum/component/itempicky/proc/particularly(datum/source, obj/item/pickingup) SIGNAL_HANDLER if(!is_type_in_typecache(pickingup, whitelist)) - to_chat(source, "[replacetext(message, "%TARGET", pickingup)]") + to_chat(source, span_warning("[replacetext(message, "%TARGET", pickingup)]")) return COMPONENT_LIVING_CANT_PUT_IN_HAND diff --git a/code/datums/components/jousting.dm b/code/datums/components/jousting.dm index de14439f448..32aa0678a53 100644 --- a/code/datums/components/jousting.dm +++ b/code/datums/components/jousting.dm @@ -62,7 +62,7 @@ target.buckled.unbuckle_mob(target) target.Paralyze(knockdown_time) if(length(msg)) - user.visible_message("[msg]!") + user.visible_message(span_danger("[msg]!")) /datum/component/jousting/proc/mob_move(datum/source, newloc, dir) SIGNAL_HANDLER diff --git a/code/datums/components/knockoff.dm b/code/datums/components/knockoff.dm index f6fc90215d2..60ff1a683fe 100644 --- a/code/datums/components/knockoff.dm +++ b/code/datums/components/knockoff.dm @@ -34,7 +34,7 @@ return if(!wearer.dropItemToGround(item)) return - wearer.visible_message("[attacker] knocks off [wearer]'s [item.name]!","[attacker] knocks off your [item.name]!") + wearer.visible_message(span_warning("[attacker] knocks off [wearer]'s [item.name]!"),span_userdanger("[attacker] knocks off your [item.name]!")) ///Tries to knockoff the item when user is knocked down /datum/component/knockoff/proc/Knockoff_knockdown(mob/living/carbon/human/wearer,amount) @@ -50,7 +50,7 @@ return if(!wearer.dropItemToGround(item)) return - wearer.visible_message("[wearer]'s [item.name] gets knocked off!","Your [item.name] was knocked off!") + wearer.visible_message(span_warning("[wearer]'s [item.name] gets knocked off!"),span_userdanger("Your [item.name] was knocked off!")) /datum/component/knockoff/proc/OnEquipped(datum/source, mob/living/carbon/human/H,slot) diff --git a/code/datums/components/label.dm b/code/datums/components/label.dm index f93e2d93147..87e82de8d3f 100644 --- a/code/datums/components/label.dm +++ b/code/datums/components/label.dm @@ -62,7 +62,7 @@ remove_label() playsound(parent, 'sound/items/poster_ripped.ogg', 20, TRUE) - to_chat(user, "You remove the label from [parent].") + to_chat(user, span_warning("You remove the label from [parent].")) qdel(src) // Remove the component from the object. /** @@ -77,7 +77,7 @@ /datum/component/label/proc/Examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER - examine_list += "It has a label with some words written on it. Use a hand labeler to remove it." + examine_list += span_notice("It has a label with some words written on it. Use a hand labeler to remove it.") /// Applies a label to the name of the parent in the format of: "parent_name (label)" /datum/component/label/proc/apply_label() diff --git a/code/datums/components/manual_blinking.dm b/code/datums/components/manual_blinking.dm index f15e61911a2..a47f003e275 100644 --- a/code/datums/components/manual_blinking.dm +++ b/code/datums/components/manual_blinking.dm @@ -20,12 +20,12 @@ if(E) START_PROCESSING(SSdcs, src) last_blink = world.time - to_chat(C, "You suddenly realize you're blinking manually.") + to_chat(C, span_notice("You suddenly realize you're blinking manually.")) /datum/component/manual_blinking/Destroy(force, silent) E = null STOP_PROCESSING(SSdcs, src) - to_chat(parent, "You revert back to automatic blinking.") + to_chat(parent, span_notice("You revert back to automatic blinking.")) return ..() /datum/component/manual_blinking/RegisterWithParent() @@ -57,13 +57,13 @@ if(world.time > (last_blink + check_every + grace_period)) if(!warn_dying) - to_chat(C, "Your eyes begin to wither, you need to blink!") + to_chat(C, span_userdanger("Your eyes begin to wither, you need to blink!")) warn_dying = TRUE E.applyOrganDamage(damage_rate) else if(world.time > (last_blink + check_every)) if(!warn_grace) - to_chat(C, "You feel a need to blink!") + to_chat(C, span_danger("You feel a need to blink!")) warn_grace = TRUE /datum/component/manual_blinking/proc/check_added_organ(mob/who_cares, obj/item/organ/O) diff --git a/code/datums/components/manual_breathing.dm b/code/datums/components/manual_breathing.dm index 9b812b3bdd3..9de66565362 100644 --- a/code/datums/components/manual_breathing.dm +++ b/code/datums/components/manual_breathing.dm @@ -20,12 +20,12 @@ if(L) START_PROCESSING(SSdcs, src) last_breath = world.time - to_chat(C, "You suddenly realize you're breathing manually.") + to_chat(C, span_notice("You suddenly realize you're breathing manually.")) /datum/component/manual_breathing/Destroy(force, silent) L = null STOP_PROCESSING(SSdcs, src) - to_chat(parent, "You revert back to automatic breathing.") + to_chat(parent, span_notice("You revert back to automatic breathing.")) return ..() /datum/component/manual_breathing/RegisterWithParent() @@ -58,14 +58,14 @@ var/next_text = initial(next_breath_type.key) if(world.time > (last_breath + check_every + grace_period)) if(!warn_dying) - to_chat(C, "You begin to suffocate, you need to [next_text]!") + to_chat(C, span_userdanger("You begin to suffocate, you need to [next_text]!")) warn_dying = TRUE L.applyOrganDamage(damage_rate) C.losebreath += 0.8 else if(world.time > (last_breath + check_every)) if(!warn_grace) - to_chat(C, "You feel a need to [next_text]!") + to_chat(C, span_danger("You feel a need to [next_text]!")) warn_grace = TRUE /datum/component/manual_breathing/proc/check_added_organ(mob/who_cares, obj/item/organ/O) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 8b5be7d1be7..16bd6af8d86 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -105,7 +105,7 @@ var/datum/material/M = I var/amt = materials[I] if(amt) - examine_texts += "It has [amt] units of [lowertext(M.name)] stored." + examine_texts += span_notice("It has [amt] units of [lowertext(M.name)] stored.") /// Proc that allows players to fill the parent with mats /datum/component/material_container/proc/on_attackby(datum/source, obj/item/I, mob/living/user) @@ -118,7 +118,7 @@ return if((I.flags_1 & HOLOGRAM_1) || (I.item_flags & NO_MAT_REDEMPTION) || (tc && !is_type_in_typecache(I, tc))) if(!(mat_container_flags & MATCONTAINER_SILENT)) - to_chat(user, "[parent] won't accept [I]!") + to_chat(user, span_warning("[parent] won't accept [I]!")) return . = COMPONENT_NO_AFTERATTACK var/datum/callback/pc = precondition @@ -126,10 +126,10 @@ return var/material_amount = get_item_material_amount(I, mat_container_flags) if(!material_amount) - to_chat(user, "[I] does not contain sufficient materials to be accepted by [parent].") + to_chat(user, span_warning("[I] does not contain sufficient materials to be accepted by [parent].")) return if(!has_space(material_amount)) - to_chat(user, "[parent] is full. Please remove materials from [parent] in order to insert more.") + to_chat(user, span_warning("[parent] is full. Please remove materials from [parent] in order to insert more.")) return user_insert(I, user, mat_container_flags) @@ -147,11 +147,11 @@ if(QDELETED(I) || QDELETED(user) || QDELETED(src) || parent != current_parent || user.physical_can_use_topic(current_parent) < UI_INTERACTIVE || user.get_active_held_item() != active_held) return if(!user.temporarilyRemoveItemFromInventory(I)) - to_chat(user, "[I] is stuck to you and cannot be placed into [parent].") + to_chat(user, span_warning("[I] is stuck to you and cannot be placed into [parent].")) return var/inserted = insert_item(I, stack_amt = requested_amount, breakdown_flags= mat_container_flags) if(inserted) - to_chat(user, "You insert a material total of [inserted] into [parent].") + to_chat(user, span_notice("You insert a material total of [inserted] into [parent].")) qdel(I) if(after_insert) after_insert.Invoke(I, last_inserted_id, inserted) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 9c6fde1f520..89d1359a73b 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -47,50 +47,50 @@ RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT_RND, .proc/add_event) //Mood events that are only for RnD members /datum/component/mood/proc/print_mood(mob/user) - var/msg = "*---------*\nMy current mental status:\n" - msg += "My current sanity: " //Long term + var/msg = "[span_info("*---------*\nMy current mental status:")]\n" + msg += span_notice("My current sanity: ") //Long term switch(sanity) if(SANITY_GREAT to INFINITY) - msg += "My mind feels like a temple!\n" + msg += "[span_nicegreen("My mind feels like a temple!")]\n" if(SANITY_NEUTRAL to SANITY_GREAT) - msg += "I have been feeling great lately!\n" + msg += "[span_nicegreen("I have been feeling great lately!")]\n" if(SANITY_DISTURBED to SANITY_NEUTRAL) - msg += "I have felt quite decent lately.\n" + msg += "[span_nicegreen("I have felt quite decent lately.")]\n" if(SANITY_UNSTABLE to SANITY_DISTURBED) - msg += "I'm feeling a little bit unhinged...\n" + msg += "[span_warning("I'm feeling a little bit unhinged...")]\n" if(SANITY_CRAZY to SANITY_UNSTABLE) - msg += "I'm freaking out!!\n" + msg += "[span_boldwarning("I'm freaking out!!")]\n" if(SANITY_INSANE to SANITY_CRAZY) - msg += "AHAHAHAHAHAHAHAHAHAH!!\n" + msg += "[span_boldwarning("AHAHAHAHAHAHAHAHAHAH!!")]\n" - msg += "My current mood: " //Short term + msg += span_notice("My current mood: ") //Short term switch(mood_level) if(1) - msg += "I wish I was dead!\n" + msg += "[span_boldwarning("I wish I was dead!")]\n" if(2) - msg += "I feel terrible...\n" + msg += "[span_boldwarning("I feel terrible...")]\n" if(3) - msg += "I feel very upset.\n" + msg += "[span_boldwarning("I feel very upset.")]\n" if(4) - msg += "I'm a bit sad.\n" + msg += "[span_boldwarning("I'm a bit sad.")]\n" if(5) - msg += "I'm alright.\n" + msg += "[span_nicegreen("I'm alright.")]\n" if(6) - msg += "I feel pretty okay.\n" + msg += "[span_nicegreen("I feel pretty okay.")]\n" if(7) - msg += "I feel pretty good.\n" + msg += "[span_nicegreen("I feel pretty good.")]\n" if(8) - msg += "I feel amazing!\n" + msg += "[span_nicegreen("I feel amazing!")]\n" if(9) - msg += "I love life!\n" + msg += "[span_nicegreen("I love life!")]\n" - msg += "Moodlets:\n"//All moodlets + msg += "[span_notice("Moodlets:")]\n"//All moodlets if(mood_events.len) for(var/i in mood_events) var/datum/mood_event/event = mood_events[i] msg += event.description else - msg += "I don't have much of a reaction to anything right now.\n" + msg += "[span_nicegreen("I don't have much of a reaction to anything right now.")]\n" to_chat(user, msg) ///Called after moodevent/s have been added/removed. diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index 6088ee48530..4004e1b0a12 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -212,20 +212,20 @@ if(0 to NANITE_EXCESS_MINOR) //Minor excess amount, the extra nanites are quietly expelled without visible effects return if((NANITE_EXCESS_MINOR + 0.1) to NANITE_EXCESS_VOMIT) //Enough nanites getting rejected at once to be visible to the naked eye - host_mob.visible_message("A grainy grey slurry starts oozing out of [host_mob].", "A grainy grey slurry starts oozing out of your skin.", null, 4); + host_mob.visible_message(span_warning("A grainy grey slurry starts oozing out of [host_mob]."), span_warning("A grainy grey slurry starts oozing out of your skin."), null, 4); if((NANITE_EXCESS_VOMIT + 0.1) to NANITE_EXCESS_BURST) //Nanites getting rejected in massive amounts, but still enough to make a semi-orderly exit through vomit if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - host_mob.visible_message("[host_mob] vomits a grainy grey slurry!", "You suddenly vomit a metallic-tasting grainy grey slurry!", null); + host_mob.visible_message(span_warning("[host_mob] vomits a grainy grey slurry!"), span_warning("You suddenly vomit a metallic-tasting grainy grey slurry!"), null); C.vomit(0, FALSE, TRUE, FLOOR(excess / 100, 1), FALSE, VOMIT_NANITE, FALSE, TRUE, 0) else - host_mob.visible_message("A metallic grey slurry bursts out of [host_mob]'s skin!", "A metallic grey slurry violently bursts out of your skin!", null); + host_mob.visible_message(span_warning("A metallic grey slurry bursts out of [host_mob]'s skin!"), span_userdanger("A metallic grey slurry violently bursts out of your skin!"), null); if(isturf(host_mob.drop_location())) var/turf/T = host_mob.drop_location() T.add_vomit_floor(host_mob, VOMIT_NANITE, 0) if((NANITE_EXCESS_BURST + 0.1) to INFINITY) //Way too many nanites, they just leave through the closest exit before they harm/poison the host - host_mob.visible_message("A torrent of metallic grey slurry violently bursts out of [host_mob]'s face and floods out of [host_mob.p_their()] skin!", - "A torrent of metallic grey slurry violently bursts out of your eyes, ears, and mouth, and floods out of your skin!"); + host_mob.visible_message(span_warning("A torrent of metallic grey slurry violently bursts out of [host_mob]'s face and floods out of [host_mob.p_their()] skin!"), + span_userdanger("A torrent of metallic grey slurry violently bursts out of your eyes, ears, and mouth, and floods out of your skin!")); host_mob.blind_eyes(15) //nanites coming out of your eyes host_mob.Paralyze(120) @@ -397,24 +397,24 @@ if(!full_scan) if(!stealth) - to_chat(user, "Nanites Detected") - to_chat(user, "Saturation: [nanite_volume]/[max_nanites]") + to_chat(user, span_notice("Nanites Detected")) + to_chat(user, span_notice("Saturation: [nanite_volume]/[max_nanites]")) return TRUE else - to_chat(user, "NANITES DETECTED") - to_chat(user, "================") - to_chat(user, "Saturation: [nanite_volume]/[max_nanites]") - to_chat(user, "Safety Threshold: [safety_threshold]") - to_chat(user, "Cloud ID: [cloud_id ? cloud_id : "None"]") - to_chat(user, "Cloud Sync: [cloud_active ? "Active" : "Disabled"]") - to_chat(user, "================") - to_chat(user, "Program List:") + to_chat(user, span_info("NANITES DETECTED")) + to_chat(user, span_info("================")) + to_chat(user, span_info("Saturation: [nanite_volume]/[max_nanites]")) + to_chat(user, span_info("Safety Threshold: [safety_threshold]")) + to_chat(user, span_info("Cloud ID: [cloud_id ? cloud_id : "None"]")) + to_chat(user, span_info("Cloud Sync: [cloud_active ? "Active" : "Disabled"]")) + to_chat(user, span_info("================")) + to_chat(user, span_info("Program List:")) if(!diagnostics) - to_chat(user, "Nanite debugging disabled.") + to_chat(user, span_alert("Nanite debugging disabled.")) else for(var/X in programs) var/datum/nanite_program/NP = X - to_chat(user, "[NP.name] | [NP.activated ? "Active" : "Inactive"]") + to_chat(user, span_info("[NP.name] | [NP.activated ? "Active" : "Inactive"]")) return TRUE /datum/component/nanites/proc/nanite_ui_data(datum/source, list/data, scan_level) diff --git a/code/datums/components/omen.dm b/code/datums/components/omen.dm index 539b19c4caf..d22bed870c6 100644 --- a/code/datums/components/omen.dm +++ b/code/datums/components/omen.dm @@ -24,15 +24,15 @@ var/warning = "You get a bad feeling..." if(permanent) warning += " A very bad feeling... As if you are surrounded by a twisted aura of pure malevolence..." - to_chat(parent, "[warning]") + to_chat(parent, span_warning("[warning]")) /datum/component/omen/Destroy(force, silent) if(!silent) var/mob/living/person = parent - to_chat(person, "You feel a horrible omen lifted off your shoulders!") + to_chat(person, span_nicegreen("You feel a horrible omen lifted off your shoulders!")) if(vessel) - vessel.visible_message("[vessel] burns up in a sinister flash, taking an evil energy with it...") + vessel.visible_message(span_warning("[vessel] burns up in a sinister flash, taking an evil energy with it...")) vessel = null return ..() @@ -63,7 +63,7 @@ var/our_guy_pos = get_turf(living_guy) for(var/turf_content in our_guy_pos) if(istype(turf_content, /obj/machinery/door/airlock)) - to_chat(living_guy, "A malevolent force launches your body to the floor...") + to_chat(living_guy, span_warning("A malevolent force launches your body to the floor...")) var/obj/machinery/door/airlock/darth_airlock = turf_content living_guy.apply_status_effect(STATUS_EFFECT_PARALYZED, 10) INVOKE_ASYNC(darth_airlock, /obj/machinery/door/airlock.proc/close, TRUE) @@ -75,7 +75,7 @@ var/turf/the_turf = t if(the_turf.zPassOut(living_guy, DOWN) && living_guy.can_zFall(the_turf)) - to_chat(living_guy, "A malevolent force guides you towards the edge...") + to_chat(living_guy, span_warning("A malevolent force guides you towards the edge...")) living_guy.throw_at(the_turf, 1, 10, force = MOVE_FORCE_EXTREMELY_STRONG) if(!permanent) qdel(src) @@ -83,7 +83,7 @@ for(var/obj/machinery/vending/darth_vendor in the_turf) if(darth_vendor.tiltable) - to_chat(living_guy, "A malevolent force tugs at the [darth_vendor]...") + to_chat(living_guy, span_warning("A malevolent force tugs at the [darth_vendor]...")) INVOKE_ASYNC(darth_vendor, /obj/machinery/vending.proc/tilt, living_guy) if(!permanent) qdel(src) @@ -101,7 +101,7 @@ return playsound(get_turf(our_guy), 'sound/effects/tableheadsmash.ogg', 90, TRUE) - our_guy.visible_message("[our_guy] hits [our_guy.p_their()] head really badly falling down!", "You hit your head really badly falling down!") + our_guy.visible_message(span_danger("[our_guy] hits [our_guy.p_their()] head really badly falling down!"), span_userdanger("You hit your head really badly falling down!")) the_head.receive_damage(75) our_guy.adjustOrganLoss(ORGAN_SLOT_BRAIN, 100) if(!permanent) diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm index 349ebefc3f8..76b82ad4676 100644 --- a/code/datums/components/orbiter.dm +++ b/code/datums/components/orbiter.dm @@ -99,7 +99,7 @@ orbiter.glide_size = movable_parent.glide_size orbiter.forceMove(get_turf(parent)) - to_chat(orbiter, "Now orbiting [parent].") + to_chat(orbiter, span_notice("Now orbiting [parent].")) /datum/component/orbiter/proc/end_orbit(atom/movable/orbiter, refreshing=FALSE) if(!orbiter_list[orbiter]) diff --git a/code/datums/components/payment.dm b/code/datums/components/payment.dm index b0b35ad5fad..49375c63079 100644 --- a/code/datums/components/payment.dm +++ b/code/datums/components/payment.dm @@ -42,29 +42,29 @@ if(!card) switch(transaction_style) if(PAYMENT_FRIENDLY) - to_chat(user, "ID not detected, sorry [user]!") + to_chat(user, span_warning("ID not detected, sorry [user]!")) if(PAYMENT_ANGRY) - to_chat(user, "WHERE IS YOUR GOD DAMN CARD! GOD DAMNIT!") + to_chat(user, span_warning("WHERE IS YOUR GOD DAMN CARD! GOD DAMNIT!")) if(PAYMENT_CLINICAL) - to_chat(user, "ID card not present. Aborting.") + to_chat(user, span_warning("ID card not present. Aborting.")) return COMPONENT_OBJ_CANCEL_CHARGE if(!card.registered_account) switch(transaction_style) if(PAYMENT_FRIENDLY) - to_chat(user, "There's no account detected on your ID, how mysterious!") + to_chat(user, span_warning("There's no account detected on your ID, how mysterious!")) if(PAYMENT_ANGRY) - to_chat(user, "ARE YOU JOKING. YOU DON'T HAVE A BANK ACCOUNT ON YOUR ID YOU IDIOT.") + to_chat(user, span_warning("ARE YOU JOKING. YOU DON'T HAVE A BANK ACCOUNT ON YOUR ID YOU IDIOT.")) if(PAYMENT_CLINICAL) - to_chat(user, "ID Card lacks a bank account. Aborting.") + to_chat(user, span_warning("ID Card lacks a bank account. Aborting.")) return COMPONENT_OBJ_CANCEL_CHARGE if(!(card.registered_account.has_money(cost + extra_fees))) switch(transaction_style) if(PAYMENT_FRIENDLY) - to_chat(user, "I'm so sorry... You don't seem to have enough money.") + to_chat(user, span_warning("I'm so sorry... You don't seem to have enough money.")) if(PAYMENT_ANGRY) - to_chat(user, "YOU MORON. YOU ABSOLUTE BAFOON. YOU INSUFFERABLE TOOL. YOU ARE POOR.") + to_chat(user, span_warning("YOU MORON. YOU ABSOLUTE BAFOON. YOU INSUFFERABLE TOOL. YOU ARE POOR.")) if(PAYMENT_CLINICAL) - to_chat(user, "ID Card lacks funds. Aborting.") + to_chat(user, span_warning("ID Card lacks funds. Aborting.")) return COMPONENT_OBJ_CANCEL_CHARGE target_acc.transfer_money(card.registered_account, cost + extra_fees) card.registered_account.bank_card_talk("[cost + extra_fees] credits deducted from your account.") diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index e049e7d0e2d..a4b36505846 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -182,7 +182,7 @@ var/self_harm_radius_mult = 3 if(punishable_triggerer && prob(60)) - to_chat(punishable_triggerer, "Your plan to whack someone with a grenade on a stick backfires on you, literally!") + to_chat(punishable_triggerer, span_userdanger("Your plan to whack someone with a grenade on a stick backfires on you, literally!")) self_harm_radius_mult = 1 // we'll still give the guy who got hit some extra shredding, but not 3*radius pellet_delta += radius for(var/i in 1 to radius) @@ -199,13 +199,13 @@ for(var/M in martyrs) var/mob/living/martyr = M if(radius > 4) - martyr.visible_message("[martyr] heroically covers \the [parent] with [martyr.p_their()] body, absorbing a load of the shrapnel!", "You heroically cover \the [parent] with your body, absorbing a load of the shrapnel!") + martyr.visible_message("[span_danger("[martyr] heroically covers \the [parent] with [martyr.p_their()] body, absorbing a load of the shrapnel!")]", span_userdanger("You heroically cover \the [parent] with your body, absorbing a load of the shrapnel!")) magnitude_absorbed += round(radius * 0.5) else if(radius >= 2) - martyr.visible_message("[martyr] heroically covers \the [parent] with [martyr.p_their()] body, absorbing some of the shrapnel!", "You heroically cover \the [parent] with your body, absorbing some of the shrapnel!") + martyr.visible_message("[span_danger("[martyr] heroically covers \the [parent] with [martyr.p_their()] body, absorbing some of the shrapnel!")]", span_userdanger("You heroically cover \the [parent] with your body, absorbing some of the shrapnel!")) magnitude_absorbed += 2 else - martyr.visible_message("[martyr] heroically covers \the [parent] with [martyr.p_their()] body, snuffing out the shrapnel!", "You heroically cover \the [parent] with your body, snuffing out the shrapnel!") + martyr.visible_message("[span_danger("[martyr] heroically covers \the [parent] with [martyr.p_their()] body, snuffing out the shrapnel!")]", span_userdanger("You heroically cover \the [parent] with your body, snuffing out the shrapnel!")) magnitude_absorbed = radius var/pellets_absorbed = (radius ** 2) - ((radius - magnitude_absorbed - 1) ** 2) @@ -308,11 +308,11 @@ hit_part.painless_wound_roll(wound_type, damage_dealt, w_bonus, bw_bonus, initial(P.sharpness)) if(num_hits > 1) - target.visible_message("[target] is hit by [num_hits] [proj_name]s[hit_part ? " in the [hit_part.name]" : ""][did_damage ? ", which don't leave a mark" : ""]!", null, null, COMBAT_MESSAGE_RANGE, target) - to_chat(target, "You're hit by [num_hits] [proj_name]s[hit_part ? " in the [hit_part.name]" : ""]!") + target.visible_message(span_danger("[target] is hit by [num_hits] [proj_name]s[hit_part ? " in the [hit_part.name]" : ""][did_damage ? ", which don't leave a mark" : ""]!"), null, null, COMBAT_MESSAGE_RANGE, target) + to_chat(target, span_userdanger("You're hit by [num_hits] [proj_name]s[hit_part ? " in the [hit_part.name]" : ""]!")) else - target.visible_message("[target] is hit by a [proj_name][hit_part ? " in the [hit_part.name]" : ""][did_damage ? ", which doesn't leave a mark" : ""]!", null, null, COMBAT_MESSAGE_RANGE, target) - to_chat(target, "You're hit by a [proj_name][hit_part ? " in the [hit_part.name]" : ""]!") + target.visible_message(span_danger("[target] is hit by a [proj_name][hit_part ? " in the [hit_part.name]" : ""][did_damage ? ", which doesn't leave a mark" : ""]!"), null, null, COMBAT_MESSAGE_RANGE, target) + to_chat(target, span_userdanger("You're hit by a [proj_name][hit_part ? " in the [hit_part.name]" : ""]!")) for(var/M in purple_hearts) var/mob/living/martyr = M diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 32650fdf4e9..39b19bd183a 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -87,7 +87,7 @@ fragments += "[length(fragments) ? " and [master.p_they()] " : "[master] "]hurt[master.p_s()] to look at." if(length(fragments)) - out += "[fragments.Join()]" + out += span_warning("[fragments.Join()]") /datum/component/radioactive/proc/rad_attack(datum/source, atom/movable/target, mob/living/user) SIGNAL_HANDLER diff --git a/code/datums/components/religious_tool.dm b/code/datums/components/religious_tool.dm index 612dab2de31..5d458a0ab81 100644 --- a/code/datums/components/religious_tool.dm +++ b/code/datums/components/religious_tool.dm @@ -124,7 +124,7 @@ to_chat(user, "You are not the high priest, and therefore cannot select a religious sect.") return if(!user.canUseTopic(parent, BE_CLOSE, FALSE, NO_TK)) - to_chat(user,"You cannot select a sect at this time.") + to_chat(user,span_warning("You cannot select a sect at this time.")) return if(GLOB.religious_sect) return @@ -148,7 +148,7 @@ to_chat(user, "There is a rite currently being performed here already.") return if(!user.canUseTopic(parent, BE_CLOSE, FALSE, NO_TK)) - to_chat(user,"You are not close enough to perform the rite.") + to_chat(user,span_warning("You are not close enough to perform the rite.")) return performing_rite = new path(parent) if(!performing_rite.perform_rite(user, parent)) @@ -228,12 +228,12 @@ if(!can_i_see) return - examine_list += "Use a bible to interact with this." + examine_list += span_notice("Use a bible to interact with this.") if(!easy_access_sect) if(operation_flags & RELIGION_TOOL_SECTSELECT) - examine_list += "This looks like it can be used to select a sect." + examine_list += span_notice("This looks like it can be used to select a sect.") return if(operation_flags & RELIGION_TOOL_SACRIFICE)//this can be moved around if things change but usually no rites == no sacrifice - examine_list += "Desired items can be used on this to increase favor." + examine_list += span_notice("Desired items can be used on this to increase favor.") if(easy_access_sect.rites_list && operation_flags & RELIGION_TOOL_INVOKE) - examine_list += "You can invoke rites from this." + examine_list += span_notice("You can invoke rites from this.") diff --git a/code/datums/components/remote_materials.dm b/code/datums/components/remote_materials.dm index 8e62811c598..223b483f8e4 100644 --- a/code/datums/components/remote_materials.dm +++ b/code/datums/components/remote_materials.dm @@ -103,7 +103,7 @@ handles linking back and forth. var/obj/item/multitool/M = I if (!QDELETED(M.buffer) && istype(M.buffer, /obj/machinery/ore_silo)) if (silo == M.buffer) - to_chat(user, "[parent] is already connected to [silo]!") + to_chat(user, span_warning("[parent] is already connected to [silo]!")) return COMPONENT_BLOCK_TOOL_ATTACK if (silo) silo.connected -= src @@ -115,7 +115,7 @@ handles linking back and forth. silo.connected += src silo.updateUsrDialog() mat_container = silo.GetComponent(/datum/component/material_container) - to_chat(user, "You connect [parent] to [silo] from the multitool's buffer.") + to_chat(user, span_notice("You connect [parent] to [silo] from the multitool's buffer.")) return COMPONENT_BLOCK_TOOL_ATTACK /datum/component/remote_materials/proc/on_hold() diff --git a/code/datums/components/riding/riding_mob.dm b/code/datums/components/riding/riding_mob.dm index 4ae5f3f27b1..24f212ddb9f 100644 --- a/code/datums/components/riding/riding_mob.dm +++ b/code/datums/components/riding/riding_mob.dm @@ -62,8 +62,8 @@ if(!kick_us_off) return TRUE - rider.visible_message("[rider] falls off of [living_parent]!", \ - "You fall off of [living_parent]!") + rider.visible_message(span_warning("[rider] falls off of [living_parent]!"), \ + span_warning("You fall off of [living_parent]!")) rider.Paralyze(1 SECONDS) rider.Knockdown(4 SECONDS) living_parent.unbuckle_mob(rider) @@ -84,7 +84,7 @@ if(!keycheck(user)) if(ispath(keytype, /obj/item)) var/obj/item/key = keytype - to_chat(user, "You need a [initial(key.name)] to ride [movable_parent]!") + to_chat(user, span_warning("You need a [initial(key.name)] to ride [movable_parent]!")) return COMPONENT_DRIVER_BLOCK_MOVE var/mob/living/living_parent = parent var/turf/next = get_step(living_parent, direction) @@ -105,12 +105,12 @@ rider.Move(targetm) rider.Knockdown(3 SECONDS) if(gentle) - rider.visible_message("[rider] is thrown clear of [movable_parent]!", \ - "You're thrown clear of [movable_parent]!") + rider.visible_message(span_warning("[rider] is thrown clear of [movable_parent]!"), \ + span_warning("You're thrown clear of [movable_parent]!")) rider.throw_at(target, 8, 3, movable_parent, gentle = TRUE) else - rider.visible_message("[rider] is thrown violently from [movable_parent]!", \ - "You're thrown violently from [movable_parent]!") + rider.visible_message(span_warning("[rider] is thrown violently from [movable_parent]!"), \ + span_warning("You're thrown violently from [movable_parent]!")) rider.throw_at(target, 14, 5, movable_parent, gentle = FALSE) /// If we're a cyborg or animal and we spin, we yeet whoever's on us off us @@ -199,9 +199,9 @@ human_parent.unbuckle_mob(rider) rider.Paralyze(1 SECONDS) rider.Knockdown(4 SECONDS) - human_parent.visible_message("[rider] topples off of [human_parent] as they both fall to the ground!", \ - "You fall to the ground, bringing [rider] with you!", "You hear two consecutive thuds.", COMBAT_MESSAGE_RANGE, ignored_mobs=rider) - to_chat(rider, "[human_parent] falls to the ground, bringing you with [human_parent.p_them()]!") + human_parent.visible_message(span_danger("[rider] topples off of [human_parent] as they both fall to the ground!"), \ + span_warning("You fall to the ground, bringing [rider] with you!"), span_hear("You hear two consecutive thuds."), COMBAT_MESSAGE_RANGE, ignored_mobs=rider) + to_chat(rider, span_danger("[human_parent] falls to the ground, bringing you with [human_parent.p_them()]!")) /datum/component/riding/creature/human/handle_vehicle_layer(dir) var/atom/movable/AM = parent @@ -235,8 +235,8 @@ AM.unbuckle_mob(dismounted_rider) dismounted_rider.Paralyze(1 SECONDS) dismounted_rider.Knockdown(4 SECONDS) - dismounted_rider.visible_message("[AM] pushes [dismounted_rider] off of [AM.p_them()]!", \ - "[AM] pushes you off of [AM.p_them()]!") + dismounted_rider.visible_message(span_warning("[AM] pushes [dismounted_rider] off of [AM.p_them()]!"), \ + span_warning("[AM] pushes you off of [AM.p_them()]!")) //Now onto cyborg riding// @@ -250,7 +250,7 @@ var/mob/living/carbon/carbonuser = user if(!carbonuser.usable_hands) Unbuckle(user) - to_chat(user, "You can't grab onto [robot_parent] with no hands!") + to_chat(user, span_warning("You can't grab onto [robot_parent] with no hands!")) /datum/component/riding/creature/cyborg/handle_vehicle_layer(dir) var/atom/movable/robot_parent = parent diff --git a/code/datums/components/riding/riding_vehicle.dm b/code/datums/components/riding/riding_vehicle.dm index ca57cd51300..59bb5abb062 100644 --- a/code/datums/components/riding/riding_vehicle.dm +++ b/code/datums/components/riding/riding_vehicle.dm @@ -16,43 +16,43 @@ if(!keycheck(user)) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "[vehicle_parent] has no key inserted!") + to_chat(user, span_warning("[vehicle_parent] has no key inserted!")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE if(HAS_TRAIT(user, TRAIT_INCAPACITATED)) if(ride_check_flags & UNBUCKLE_DISABLED_RIDER) vehicle_parent.unbuckle_mob(user, TRUE) - user.visible_message("[user] falls off \the [vehicle_parent].",\ - "You slip off \the [vehicle_parent] as your body slumps!") + user.visible_message(span_danger("[user] falls off \the [vehicle_parent]."),\ + span_danger("You slip off \the [vehicle_parent] as your body slumps!")) user.Stun(3 SECONDS) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "You cannot operate \the [vehicle_parent] right now!") + to_chat(user, span_warning("You cannot operate \the [vehicle_parent] right now!")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE if(ride_check_flags & RIDER_NEEDS_LEGS && HAS_TRAIT(user, TRAIT_FLOORED)) if(ride_check_flags & UNBUCKLE_DISABLED_RIDER) vehicle_parent.unbuckle_mob(user, TRUE) - user.visible_message("[user] falls off \the [vehicle_parent].",\ - "You fall off \the [vehicle_parent] while trying to operate it while unable to stand!") + user.visible_message(span_danger("[user] falls off \the [vehicle_parent]."),\ + span_danger("You fall off \the [vehicle_parent] while trying to operate it while unable to stand!")) user.Stun(3 SECONDS) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "You can't seem to manage that while unable to stand up enough to move \the [vehicle_parent]...") + to_chat(user, span_warning("You can't seem to manage that while unable to stand up enough to move \the [vehicle_parent]...")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE if(ride_check_flags & RIDER_NEEDS_ARMS && HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) if(ride_check_flags & UNBUCKLE_DISABLED_RIDER) vehicle_parent.unbuckle_mob(user, TRUE) - user.visible_message("[user] falls off \the [vehicle_parent].",\ - "You fall off \the [vehicle_parent] while trying to operate it without being able to hold on!") + user.visible_message(span_danger("[user] falls off \the [vehicle_parent]."),\ + span_danger("You fall off \the [vehicle_parent] while trying to operate it without being able to hold on!")) user.Stun(3 SECONDS) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "You can't seem to hold onto \the [vehicle_parent] to move it...") + to_chat(user, span_warning("You can't seem to hold onto \the [vehicle_parent] to move it...")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE @@ -67,7 +67,7 @@ if(!istype(next) || !istype(current)) return //not happening. if(!turf_check(next, current)) - to_chat(user, "\The [movable_parent] can not go onto [next]!") + to_chat(user, span_warning("\The [movable_parent] can not go onto [next]!")) return if(!Process_Spacemove(direction) || !isturf(movable_parent.loc)) return @@ -185,7 +185,7 @@ if(keycheck(user) && the_secway.eddie_murphy) if(COOLDOWN_FINISHED(src, message_cooldown)) - the_secway.visible_message("[src] sputters and refuses to move!") + the_secway.visible_message(span_warning("[src] sputters and refuses to move!")) playsound(get_turf(the_secway), 'sound/effects/stall.ogg', 70) COOLDOWN_START(src, message_cooldown, 0.75 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index ca478bcf197..3b693adb195 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -102,7 +102,7 @@ SIGNAL_HANDLER if(rotation_flags & ROTATION_ALTCLICK) - examine_list += "Alt-click to rotate it clockwise." + examine_list += span_notice("Alt-click to rotate it clockwise.") /datum/component/simple_rotation/proc/HandRot(datum/source, mob/user, rotation = default_rotation_direction) SIGNAL_HANDLER @@ -142,7 +142,7 @@ return !AM.anchored /datum/component/simple_rotation/proc/default_after_rotation(mob/user, rotation_type) - to_chat(user,"You [rotation_type == ROTATION_FLIP ? "flip" : "rotate"] [parent].") + to_chat(user,span_notice("You [rotation_type == ROTATION_FLIP ? "flip" : "rotate"] [parent].")) /atom/movable/proc/simple_rotate_clockwise() set name = "Rotate Clockwise" diff --git a/code/datums/components/shell.dm b/code/datums/components/shell.dm index 410bc6b5011..acea9746714 100644 --- a/code/datums/components/shell.dm +++ b/code/datums/components/shell.dm @@ -69,13 +69,13 @@ /datum/component/shell/proc/on_examine(datum/source, mob/user, list/examine_text) SIGNAL_HANDLER if(!attached_circuit) - examine_text += "There is no integrated circuit attached." + examine_text += span_notice("There is no integrated circuit attached.") return - examine_text += "There is an integrated circuit attached. Use a multitool to access the wiring. Use a screwdriver to remove it from [source]." - examine_text += "The cover panel to the integrated circuit is [locked? "locked" : "unlocked"]." + examine_text += span_notice("There is an integrated circuit attached. Use a multitool to access the wiring. Use a screwdriver to remove it from [source].") + examine_text += span_notice("The cover panel to the integrated circuit is [locked? "locked" : "unlocked"].") var/obj/item/stock_parts/cell/cell = attached_circuit.cell - examine_text += "The charge meter reads [cell ? round(cell.percent(), 1) : 0]%." + examine_text += span_notice("The charge meter reads [cell ? round(cell.percent(), 1) : 0]%.") /** diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index bf463c47d5a..2920bfe34b5 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -143,7 +143,7 @@ do_sparks(2, TRUE, owner) owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") if(current_charges <= 0) - owner.visible_message("[owner]'s shield overloads!") + owner.visible_message(span_warning("[owner]'s shield overloads!")) /datum/component/shielded/proc/check_recharge_rune(datum/source, obj/item/wizard_armour_charge/recharge_rune, mob/living/user) SIGNAL_HANDLER @@ -152,9 +152,9 @@ return . = COMPONENT_NO_AFTERATTACK if(!istype(parent, /obj/item/clothing/suit/space/hardsuit/shielded/wizard)) - to_chat(user, "The rune can only be used on battlemage armour!") + to_chat(user, span_warning("The rune can only be used on battlemage armour!")) return current_charges += recharge_rune.restored_charges - to_chat(user, "You charge \the [parent]. It can now absorb [current_charges] hits.") + to_chat(user, span_notice("You charge \the [parent]. It can now absorb [current_charges] hits.")) qdel(recharge_rune) diff --git a/code/datums/components/shrink.dm b/code/datums/components/shrink.dm index fe4db34a18a..464360da77e 100644 --- a/code/datums/components/shrink.dm +++ b/code/datums/components/shrink.dm @@ -18,13 +18,13 @@ if(iscarbon(L)) var/mob/living/carbon/C = L C.unequip_everything() - C.visible_message("[C]'s belongings fall off of [C.p_them()] as they shrink down!", - "Your belongings fall away as everything grows bigger!") + C.visible_message(span_warning("[C]'s belongings fall off of [C.p_them()] as they shrink down!"), + span_userdanger("Your belongings fall away as everything grows bigger!")) if(ishuman(C)) var/mob/living/carbon/human/H = C H.physiology.damage_resistance -= 100//carbons take double damage while shrunk - parent_atom.visible_message("[parent_atom] shrinks down to a tiny size!", - "Everything grows bigger!") + parent_atom.visible_message(span_warning("[parent_atom] shrinks down to a tiny size!"), + span_userdanger("Everything grows bigger!")) QDEL_IN(src, shrink_time) /datum/component/shrink/Destroy() diff --git a/code/datums/components/shy.dm b/code/datums/components/shy.dm index 156e5572f27..819c9b00caa 100644 --- a/code/datums/components/shy.dm +++ b/code/datums/components/shy.dm @@ -69,7 +69,7 @@ if(length(strangers) && locate(/mob/living) in strangers) for(var/mob/living/person in strangers) if(person != owner && !is_type_in_typecache(person, whitelist) && (person.stat != DEAD || dead_shy)) - to_chat(owner, "[replacetext(message, "%TARGET", person)]") + to_chat(owner, span_warning("[replacetext(message, "%TARGET", person)]")) result = TRUE break diff --git a/code/datums/components/shy_in_room.dm b/code/datums/components/shy_in_room.dm index 40d0af7857f..23b3add2d3d 100644 --- a/code/datums/components/shy_in_room.dm +++ b/code/datums/components/shy_in_room.dm @@ -49,7 +49,7 @@ var/area/room = get_area(owner) if(is_type_in_typecache(room, blacklist)) - to_chat(owner, "[replacetext(message, "%ROOM", room)]") + to_chat(owner, span_warning("[replacetext(message, "%ROOM", room)]")) return TRUE /datum/component/shy_in_room/proc/on_clickon(datum/source, atom/target, params) diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index 89a58456fbe..a969c34f46d 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -126,4 +126,4 @@ if(istype(I, /obj/item/clothing/shoes/clown_shoes)) Slip(source, AM) else - to_chat(holder,"[parent] failed to slip anyone. Perhaps I shouldn't have abandoned my legacy...") + to_chat(holder,span_warning("[parent] failed to slip anyone. Perhaps I shouldn't have abandoned my legacy...")) diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index af7bd200799..537f1ba6eab 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -50,4 +50,4 @@ spawned_mobs += L L.nest = src L.faction = src.faction - P.visible_message("[L] [spawn_text] [P].") + P.visible_message(span_danger("[L] [spawn_text] [P].")) diff --git a/code/datums/components/spooky.dm b/code/datums/components/spooky.dm index 63bf6bae4ac..b53aae93acd 100644 --- a/code/datums/components/spooky.dm +++ b/code/datums/components/spooky.dm @@ -40,7 +40,7 @@ if((H.getStaminaLoss() > 95) && (!istype(H.dna.species, /datum/species/skeleton)) && (!istype(H.dna.species, /datum/species/golem)) && (!istype(H.dna.species, /datum/species/android)) && (!istype(H.dna.species, /datum/species/jelly))) H.Paralyze(20) H.set_species(/datum/species/skeleton) - H.visible_message("[H] has given up on life as a mortal.") + H.visible_message(span_warning("[H] has given up on life as a mortal.")) var/T = get_turf(H) if(too_spooky) if(prob(30)) @@ -50,9 +50,9 @@ else if(prob(30)) new/obj/item/instrument/trombone/spectral(T) else - to_chat(H, "The spooky gods forgot to ship your instrument. Better luck next unlife.") - to_chat(H, "You are the spooky skeleton!") - to_chat(H, "A new life and identity has begun. Help your fellow skeletons into bringing out the spooky-pocalypse. You haven't forgotten your past life, and are still beholden to past loyalties.") + to_chat(H, span_boldwarning("The spooky gods forgot to ship your instrument. Better luck next unlife.")) + to_chat(H, span_boldnotice("You are the spooky skeleton!")) + to_chat(H, span_boldnotice("A new life and identity has begun. Help your fellow skeletons into bringing out the spooky-pocalypse. You haven't forgotten your past life, and are still beholden to past loyalties.")) change_name(H) //time for a new name! /datum/component/spooky/proc/change_name(mob/living/carbon/human/H) diff --git a/code/datums/components/stationloving.dm b/code/datums/components/stationloving.dm index 4763d684e44..6c431ff237e 100644 --- a/code/datums/components/stationloving.dm +++ b/code/datums/components/stationloving.dm @@ -37,7 +37,7 @@ var/atom/movable/AM = parent playsound(AM, 'sound/machines/synth_no.ogg', 5, TRUE) //hey dumbass, you failed at your MOST IMPORTANT JOB, maybe you should check your chat log to see what could have caused that strange buzzing noise AM.forceMove(targetturf) - to_chat(get(parent, /mob), "You can't help but feel that you just lost something back there...") + to_chat(get(parent, /mob), span_danger("You can't help but feel that you just lost something back there...")) // move the disc, so ghosts remain orbiting it even if it's "destroyed" return targetturf diff --git a/code/datums/components/storage/concrete/bag_of_holding.dm b/code/datums/components/storage/concrete/bag_of_holding.dm index 984c83c963c..4af217891c4 100644 --- a/code/datums/components/storage/concrete/bag_of_holding.dm +++ b/code/datums/components/storage/concrete/bag_of_holding.dm @@ -15,7 +15,7 @@ if(safety != "Proceed" || QDELETED(A) || QDELETED(W) || QDELETED(user) || !user.canUseTopic(A, BE_CLOSE, iscarbon(user))) return var/turf/loccheck = get_turf(A) - to_chat(user, "The Bluespace interfaces of the two devices catastrophically malfunction!") + to_chat(user, span_danger("The Bluespace interfaces of the two devices catastrophically malfunction!")) qdel(W) playsound(loccheck,'sound/effects/supermatter.ogg', 200, TRUE) diff --git a/code/datums/components/storage/concrete/bluespace.dm b/code/datums/components/storage/concrete/bluespace.dm index ceda1655eca..5c5b4f86d0f 100644 --- a/code/datums/components/storage/concrete/bluespace.dm +++ b/code/datums/components/storage/concrete/bluespace.dm @@ -17,6 +17,6 @@ playsound(src, dumping_sound, 40, TRUE) M.Beam(dumping_location, icon_state="rped_upgrade", time=5) return TRUE - to_chat(M, "The [A.name] buzzes.") + to_chat(M, span_hear("The [A.name] buzzes.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) return FALSE diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index cc90aedf6dc..01eb3680c7d 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -8,9 +8,9 @@ . = ..() if(. && silent && !prevent_warning) if(quickdraw) - to_chat(user, "You discreetly slip [I] into [parent]. Right-click [parent] to remove it.") + to_chat(user, span_notice("You discreetly slip [I] into [parent]. Right-click [parent] to remove it.")) else - to_chat(user, "You discreetly slip [I] into [parent].") + to_chat(user, span_notice("You discreetly slip [I] into [parent].")) /datum/component/storage/concrete/pockets/small max_items = 1 diff --git a/code/datums/components/storage/concrete/rped.dm b/code/datums/components/storage/concrete/rped.dm index 455eb985f09..a6ffb79e93a 100644 --- a/code/datums/components/storage/concrete/rped.dm +++ b/code/datums/components/storage/concrete/rped.dm @@ -12,7 +12,7 @@ . = ..() if(!I.get_part_rating()) if (!stop_messages) - to_chat(M, "[parent] only accepts machine parts!") + to_chat(M, span_warning("[parent] only accepts machine parts!")) return FALSE /datum/component/storage/concrete/bluespace/rped @@ -29,5 +29,5 @@ . = ..() if(!I.get_part_rating()) if (!stop_messages) - to_chat(M, "[parent] only accepts machine parts!") + to_chat(M, span_warning("[parent] only accepts machine parts!")) return FALSE diff --git a/code/datums/components/storage/concrete/trading_cards.dm b/code/datums/components/storage/concrete/trading_cards.dm index 0a323736c0f..4c68685068c 100644 --- a/code/datums/components/storage/concrete/trading_cards.dm +++ b/code/datums/components/storage/concrete/trading_cards.dm @@ -22,14 +22,14 @@ /datum/component/storage/concrete/tcg/show_to(mob/M) . = ..() - M.visible_message("[M] starts to look through the contents of \the [parent]!", \ - "You begin looking into the contents of \the [parent]!") + M.visible_message(span_notice("[M] starts to look through the contents of \the [parent]!"), \ + span_notice("You begin looking into the contents of \the [parent]!")) /datum/component/storage/concrete/tcg/close(mob/M) . = ..() var/list/card_contents = contents() var/obj/temp_parent = parent - temp_parent.visible_message("\the [parent] is shuffled after looking through it.") + temp_parent.visible_message(span_notice("\the [parent] is shuffled after looking through it.")) card_contents = shuffle(card_contents) /datum/component/storage/concrete/tcg/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress, trigger_on_found) diff --git a/code/datums/components/storage/concrete/wallet.dm b/code/datums/components/storage/concrete/wallet.dm index 5bc56b882aa..d4ab447ba0f 100644 --- a/code/datums/components/storage/concrete/wallet.dm +++ b/code/datums/components/storage/concrete/wallet.dm @@ -2,7 +2,7 @@ if(!isliving(user) || !user.CanReach(parent) || user.incapacitated()) return if(locked) - to_chat(user, "[parent] seems to be locked!") + to_chat(user, span_warning("[parent] seems to be locked!")) return var/obj/item/storage/wallet/A = parent diff --git a/code/datums/components/storage/food_storage.dm b/code/datums/components/storage/food_storage.dm index 67925c02268..af5b462328e 100644 --- a/code/datums/components/storage/food_storage.dm +++ b/code/datums/components/storage/food_storage.dm @@ -56,19 +56,19 @@ return if(inserted_item.w_class > minimum_weight_class) - to_chat(user, "\The [inserted_item.name] won't fit in \the [parent].") + to_chat(user, span_warning("\The [inserted_item.name] won't fit in \the [parent].")) return if(!QDELETED(stored_item)) - to_chat(user, "There's something in \the [parent].") + to_chat(user, span_warning("There's something in \the [parent].")) return if(HAS_TRAIT(inserted_item, TRAIT_NODROP)) - to_chat(user, "\the [inserted_item] is stuck to your hand, you can't put into \the [parent]!") + to_chat(user, span_warning("\the [inserted_item] is stuck to your hand, you can't put into \the [parent]!")) return - user.visible_message("[user.name] begins inserting [inserted_item.name] into \the [parent].", \ - "You start to insert the [inserted_item.name] into \the [parent].") + user.visible_message(span_notice("[user.name] begins inserting [inserted_item.name] into \the [parent]."), \ + span_notice("You start to insert the [inserted_item.name] into \the [parent].")) INVOKE_ASYNC(src, .proc/insert_item, inserted_item, user) return COMPONENT_CANCEL_ATTACK_CHAIN @@ -91,8 +91,8 @@ if(!food.can_interact(user)) return - user.visible_message("[user.name] begins tearing at \the [parent].", \ - "You start to rip into \the [parent].") + user.visible_message(span_notice("[user.name] begins tearing at \the [parent]."), \ + span_notice("You start to rip into \the [parent].")) INVOKE_ASYNC(src, .proc/begin_remove_item, user) return COMPONENT_CANCEL_ATTACK_CHAIN @@ -106,7 +106,7 @@ /datum/component/food_storage/proc/insert_item(obj/item/inserted_item, mob/user) if(do_after(user, 1.5 SECONDS, target = parent)) var/atom/food = parent - to_chat(user, "You slip [inserted_item.name] inside \the [parent].") + to_chat(user, span_notice("You slip [inserted_item.name] inside \the [parent].")) inserted_item.forceMove(food) user.log_message("[key_name(user)] inserted [inserted_item] into [parent] at [AREACOORD(user)]", LOG_ATTACK) food.add_fingerprint(user) @@ -128,11 +128,11 @@ */ /datum/component/food_storage/proc/remove_item(mob/user) if(user.put_in_hands(stored_item)) - user.visible_message("[user.name] slowly pulls [stored_item.name] out of \the [parent].", \ - "You slowly pull [stored_item.name] out of \the [parent].") + user.visible_message(span_warning("[user.name] slowly pulls [stored_item.name] out of \the [parent]."), \ + span_warning("You slowly pull [stored_item.name] out of \the [parent].")) else stored_item.dropped() - stored_item.visible_message("[stored_item.name] falls out of \the [parent].") + stored_item.visible_message(span_warning("[stored_item.name] falls out of \the [parent].")) update_stored_item() @@ -163,7 +163,7 @@ if(prob(good_chance_of_discovery)) //finding the item, without biting it discovered = TRUE - to_chat(target, "It feels like there's something in \the [parent]...!") + to_chat(target, span_warning("It feels like there's something in \the [parent]...!")) else if(prob(bad_chance_of_discovery)) //finding the item, BY biting it user.log_message("[key_name(user)] just fed [key_name(target)] a/an [stored_item] which was hidden in [parent] at [AREACOORD(target)]", LOG_ATTACK) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index a1283067b32..7d94e9b4b39 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -131,7 +131,7 @@ var/obj/item/valid_item = valid_type desc += "\a [initial(valid_item.name)]" - return "\n\t[desc.Join("\n\t")]" + return "\n\t[span_notice("[desc.Join("\n\t")]")]" /datum/component/storage/proc/update_actions() QDEL_NULL(modeswitch_action) @@ -189,7 +189,7 @@ SIGNAL_HANDLER if(locked) - to_chat(M, "[parent] seems to be locked!") + to_chat(M, span_warning("[parent] seems to be locked!")) return FALSE if((M.get_active_held_item() == parent) && allow_quick_empty) INVOKE_ASYNC(src, .proc/quick_empty, M) @@ -201,7 +201,7 @@ return FALSE . = COMPONENT_CANCEL_ATTACK_CHAIN if(locked) - to_chat(M, "[parent] seems to be locked!") + to_chat(M, span_warning("[parent] seems to be locked!")) return FALSE var/obj/item/I = O if(collection_mode == COLLECT_ONE) @@ -219,14 +219,14 @@ things = typecache_filter_list(things, typecacheof(attack_item.type)) var/len = length(things) if(!len) - to_chat(pre_attack_mob, "You failed to pick up anything with [parent]!") + to_chat(pre_attack_mob, span_warning("You failed to pick up anything with [parent]!")) return var/datum/progressbar/progress = new(pre_attack_mob, len, attack_item.loc) var/list/rejections = list() while(do_after(pre_attack_mob, 1 SECONDS, parent, NONE, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, attack_item.loc, rejections, progress))) stoplag(1) progress.end_progress() - to_chat(pre_attack_mob, "You put everything you could [insert_preposition] [parent].") + to_chat(pre_attack_mob, span_notice("You put everything you could [insert_preposition] [parent].")) /datum/component/storage/proc/handle_mass_item_insertion(list/things, datum/component/storage/src_object, mob/user, datum/progressbar/progress) var/atom/source_real_location = src_object.real_location() @@ -274,10 +274,10 @@ if(!M.canUseStorage() || !A.Adjacent(M) || M.incapacitated()) return if(locked) - to_chat(M, "[parent] seems to be locked!") + to_chat(M, span_warning("[parent] seems to be locked!")) return FALSE A.add_fingerprint(M) - to_chat(M, "You start dumping out [parent].") + to_chat(M, span_notice("You start dumping out [parent].")) var/turf/T = get_turf(A) var/list/things = contents() var/datum/progressbar/progress = new(M, length(things), T) @@ -506,7 +506,7 @@ var/atom/dump_destination = dest_object.get_dumping_location() if(A.Adjacent(M) && dump_destination && M.Adjacent(dump_destination)) if(locked) - to_chat(M, "[parent] seems to be locked!") + to_chat(M, span_warning("[parent] seems to be locked!")) return FALSE if(dump_destination.storage_contents_dump_act(src, M)) playsound(A, "rustle", 50, TRUE, -5) @@ -560,7 +560,7 @@ handle_show_valid_items(source, user) /datum/component/storage/proc/handle_show_valid_items(datum/source, user) - to_chat(user, "[source] can hold: [can_hold_description]") + to_chat(user, span_notice("[source] can hold: [can_hold_description]")) /datum/component/storage/proc/mousedrop_onto(datum/source, atom/over_object, mob/M) SIGNAL_HANDLER @@ -598,7 +598,7 @@ return FALSE A.add_fingerprint(M) if(locked && !force) - to_chat(M, "[parent] seems to be locked!") + to_chat(M, span_warning("[parent] seems to be locked!")) return FALSE if(force || M.CanReach(parent, view_only = TRUE)) show_to(M) @@ -628,47 +628,47 @@ if(locked) if(M && !stop_messages) host.add_fingerprint(M) - to_chat(M, "[host] seems to be locked!") + to_chat(M, span_warning("[host] seems to be locked!")) return FALSE if(real_location.contents.len >= max_items) if(!stop_messages) - to_chat(M, "[host] is full, make some space!") + to_chat(M, span_warning("[host] is full, make some space!")) return FALSE //Storage item is full if(length(can_hold)) if(!is_type_in_typecache(I, can_hold)) if(!stop_messages) - to_chat(M, "[host] cannot hold [I]!") + to_chat(M, span_warning("[host] cannot hold [I]!")) return FALSE if(is_type_in_typecache(I, cant_hold) || HAS_TRAIT(I, TRAIT_NO_STORAGE_INSERT) || (can_hold_trait && !HAS_TRAIT(I, can_hold_trait))) //Items which this container can't hold. if(!stop_messages) - to_chat(M, "[host] cannot hold [I]!") + to_chat(M, span_warning("[host] cannot hold [I]!")) return FALSE if(I.w_class > max_w_class && !is_type_in_typecache(I, exception_hold)) if(!stop_messages) - to_chat(M, "[I] is too big for [host]!") + to_chat(M, span_warning("[I] is too big for [host]!")) return FALSE var/datum/component/storage/biggerfish = real_location.loc.GetComponent(/datum/component/storage) if(biggerfish && biggerfish.max_w_class < max_w_class) //return false if we are inside of another container, and that container has a smaller max_w_class than us (like if we're a bag in a box) if(!stop_messages) - to_chat(M, "[I] can't fit in [host] while [real_location.loc] is in the way!") + to_chat(M, span_warning("[I] can't fit in [host] while [real_location.loc] is in the way!")) return FALSE var/sum_w_class = I.w_class for(var/obj/item/_I in real_location) sum_w_class += _I.w_class //Adds up the combined w_classes which will be in the storage item if the item is added to it. if(sum_w_class > max_combined_w_class) if(!stop_messages) - to_chat(M, "[I] won't fit in [host], make some space!") + to_chat(M, span_warning("[I] won't fit in [host], make some space!")) return FALSE if(isitem(host)) var/obj/item/IP = host var/datum/component/storage/STR_I = I.GetComponent(/datum/component/storage) if((I.w_class >= IP.w_class) && STR_I && !allow_big_nesting) if(!stop_messages) - to_chat(M, "[IP] cannot hold [I] as it's a storage item of the same size!") + to_chat(M, span_warning("[IP] cannot hold [I] as it's a storage item of the same size!")) return FALSE //To prevent the stacking of same sized storage items. if(HAS_TRAIT(I, TRAIT_NODROP)) //SHOULD be handled in unEquip, but better safe than sorry. if(!stop_messages) - to_chat(M, "\the [I] is stuck to your hand, you can't put it in \the [host]!") + to_chat(M, span_warning("\the [I] is stuck to your hand, you can't put it in \the [host]!")) return FALSE var/datum/component/storage/concrete/master = master() if(!istype(master)) @@ -699,11 +699,11 @@ playsound(parent, "rustle", 50, TRUE, -5) for(var/mob/viewing in viewers(user, null)) if(M == viewing) - to_chat(usr, "You put [I] [insert_preposition]to [parent].") + to_chat(usr, span_notice("You put [I] [insert_preposition]to [parent].")) else if(in_range(M, viewing)) //If someone is standing close enough, they can tell what it is... - viewing.show_message("[M] puts [I] [insert_preposition]to [parent].", MSG_VISUAL) + viewing.show_message(span_notice("[M] puts [I] [insert_preposition]to [parent]."), MSG_VISUAL) else if(I && I.w_class >= 3) //Otherwise they can only see large or normal items from a distance... - viewing.show_message("[M] puts [I] [insert_preposition]to [parent].", MSG_VISUAL) + viewing.show_message(span_notice("[M] puts [I] [insert_preposition]to [parent]."), MSG_VISUAL) /datum/component/storage/proc/update_icon() if(isobj(parent)) @@ -810,7 +810,7 @@ if(A.loc == user) . = COMPONENT_CANCEL_ATTACK_CHAIN if(locked) - to_chat(user, "[parent] seems to be locked!") + to_chat(user, span_warning("[parent] seems to be locked!")) else show_to(user) @@ -843,7 +843,7 @@ SIGNAL_HANDLER if(on_right_click(source, user)) - to_chat(user,"This action is being moved from alt-click to right-click.") + to_chat(user,span_warning("This action is being moved from alt-click to right-click.")) /datum/component/storage/proc/on_right_click(datum/source, mob/user) SIGNAL_HANDLER @@ -851,7 +851,7 @@ if(!isliving(user) || !user.CanReach(parent) || user.incapacitated()) return if(locked) - to_chat(user, "[parent] seems to be locked!") + to_chat(user, span_warning("[parent] seems to be locked!")) return . = COMPONENT_CANCEL_CLICK_RIGHT @@ -875,9 +875,9 @@ parent_as_atom.add_fingerprint(user) remove_from_storage(to_remove, get_turf(user)) if(!user.put_in_hands(to_remove)) - to_chat(user, "You fumble for [to_remove] and it falls on the floor.") + to_chat(user, span_notice("You fumble for [to_remove] and it falls on the floor.")) return - user.visible_message("[user] draws [to_remove] from [parent]!", "You draw [to_remove] from [parent].") + user.visible_message(span_warning("[user] draws [to_remove] from [parent]!"), span_notice("You draw [to_remove] from [parent].")) /datum/component/storage/proc/action_trigger(datum/signal_source, datum/action/source) SIGNAL_HANDLER @@ -889,8 +889,8 @@ collection_mode = (collection_mode+1)%3 switch(collection_mode) if(COLLECT_SAME) - to_chat(user, "[parent] now picks up all items of a single type at once.") + to_chat(user, span_notice("[parent] now picks up all items of a single type at once.")) if(COLLECT_EVERYTHING) - to_chat(user, "[parent] now picks up all items in a tile at once.") + to_chat(user, span_notice("[parent] now picks up all items in a tile at once.")) if(COLLECT_ONE) - to_chat(user, "[parent] now picks up one item at a time.") + to_chat(user, span_notice("[parent] now picks up one item at a time.")) diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm index d160eea4c6e..bceaf0897e7 100644 --- a/code/datums/components/summoning.dm +++ b/code/datums/components/summoning.dm @@ -70,7 +70,7 @@ L.faction = faction RegisterSignal(L, COMSIG_LIVING_DEATH, .proc/on_spawned_death) // so we can remove them from the list, etc (for mobs with corpses) playsound(spawn_location,spawn_sound, 50, TRUE) - spawn_location.visible_message("[L] [spawn_text].") + spawn_location.visible_message(span_danger("[L] [spawn_text].")) /datum/component/summoning/proc/on_spawned_death(mob/killed, gibbed) SIGNAL_HANDLER diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm index 17d2b4914b7..767fa593d99 100644 --- a/code/datums/components/surgery_initiator.dm +++ b/code/datums/components/surgery_initiator.dm @@ -108,13 +108,13 @@ if(surgeryinstance_notonmob.ignore_clothes || get_location_accessible(livingtarget, selected_zone)) var/datum/surgery/procedure = new surgeryinstance_notonmob.type(livingtarget, selected_zone, affecting) - user.visible_message("[user] drapes [parent] over [livingtarget]'s [parse_zone(selected_zone)] to prepare for surgery.", \ - "You drape [parent] over [livingtarget]'s [parse_zone(selected_zone)] to prepare for \an [procedure.name].") + user.visible_message(span_notice("[user] drapes [parent] over [livingtarget]'s [parse_zone(selected_zone)] to prepare for surgery."), \ + span_notice("You drape [parent] over [livingtarget]'s [parse_zone(selected_zone)] to prepare for \an [procedure.name].")) log_combat(user, livingtarget, "operated on", null, "(OPERATION TYPE: [procedure.name]) (TARGET AREA: [selected_zone])") after_select_cb?.Invoke() else - to_chat(user, "You need to expose [livingtarget]'s [parse_zone(selected_zone)] first!") + to_chat(user, span_warning("You need to expose [livingtarget]'s [parse_zone(selected_zone)] first!")) else if(!current_surgery.step_in_progress) attempt_cancel_surgery(current_surgery, parent, livingtarget, user) @@ -129,8 +129,8 @@ if(the_surgery.status == 1) the_patient.surgeries -= the_surgery - user.visible_message("[user] removes [the_item] from [the_patient]'s [parse_zone(selected_zone)].", \ - "You remove [the_item] from [the_patient]'s [parse_zone(selected_zone)].") + user.visible_message(span_notice("[user] removes [the_item] from [the_patient]'s [parse_zone(selected_zone)]."), \ + span_notice("You remove [the_item] from [the_patient]'s [parse_zone(selected_zone)].")) qdel(the_surgery) return @@ -147,16 +147,16 @@ if(iscyborg(user)) close_tool = locate(/obj/item/cautery) in user.held_items if(!close_tool) - to_chat(user, "You need to equip a cautery in an inactive slot to stop [the_patient]'s surgery!") + to_chat(user, span_warning("You need to equip a cautery in an inactive slot to stop [the_patient]'s surgery!")) return else if(!close_tool || close_tool.tool_behaviour != required_tool_type) - to_chat(user, "You need to hold a [is_robotic ? "screwdriver" : "cautery"] in your inactive hand to stop [the_patient]'s surgery!") + to_chat(user, span_warning("You need to hold a [is_robotic ? "screwdriver" : "cautery"] in your inactive hand to stop [the_patient]'s surgery!")) return if(the_surgery.operated_bodypart) the_surgery.operated_bodypart.generic_bleedstacks -= 5 the_patient.surgeries -= the_surgery - user.visible_message("[user] closes [the_patient]'s [parse_zone(selected_zone)] with [close_tool] and removes [the_item].", \ - "You close [the_patient]'s [parse_zone(selected_zone)] with [close_tool] and remove [the_item].") + user.visible_message(span_notice("[user] closes [the_patient]'s [parse_zone(selected_zone)] with [close_tool] and removes [the_item]."), \ + span_notice("You close [the_patient]'s [parse_zone(selected_zone)] with [close_tool] and remove [the_item].")) qdel(the_surgery) diff --git a/code/datums/components/swabbing.dm b/code/datums/components/swabbing.dm index 96f7cb745c8..3b1ace6c23b 100644 --- a/code/datums/components/swabbing.dm +++ b/code/datums/components/swabbing.dm @@ -44,8 +44,8 @@ This component is used in vat growing to swab for microbiological samples which /datum/component/swabbing/proc/examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER if(LAZYLEN(swabbed_items)) - examine_list += "There is a microbiological sample on [parent]!" - examine_list += "You can see the following micro-organisms:\n" + examine_list += span_nicegreen("There is a microbiological sample on [parent]!") + examine_list += "[span_notice("You can see the following micro-organisms:")]\n" for(var/i in swabbed_items) var/datum/biological_sample/samp = i for(var/organism in samp.micro_organisms) @@ -93,10 +93,10 @@ This component is used in vat growing to swab for microbiological samples which . = COMPONENT_CANCEL_ATTACK_CHAIN //Point of no return. No more attacking after this. if(LAZYLEN(swabbed_items)) - to_chat(user, "You cannot collect another sample on [parent]!") + to_chat(user, span_warning("You cannot collect another sample on [parent]!")) return - to_chat(user, "You start swabbing [target] for samples!") + to_chat(user, span_notice("You start swabbing [target] for samples!")) INVOKE_ASYNC(src, .proc/async_try_to_swab, target, user) /datum/component/swabbing/proc/async_try_to_swab(atom/target, mob/user) @@ -106,10 +106,10 @@ This component is used in vat growing to swab for microbiological samples which LAZYINITLIST(swabbed_items) //If it isn't initialized, initialize it. As we need to pass it by reference if(SEND_SIGNAL(target, COMSIG_SWAB_FOR_SAMPLES, swabbed_items) == NONE) //If we found something to swab now we let the swabbed thing handle what it would do, we just sit back and relax now. - to_chat(user, "You do not manage to find a anything on [target]!") + to_chat(user, span_warning("You do not manage to find a anything on [target]!")) return - to_chat(user, "You manage to collect a microbiological sample from [target]!") + to_chat(user, span_nicegreen("You manage to collect a microbiological sample from [target]!")) var/obj/item/parent_item = parent parent_item.update_appearance() diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 561e989d640..318870cdb70 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -43,13 +43,13 @@ src.min_distance = min_distance var/mob/P = parent - to_chat(P, "You are now able to launch tackles! You can do so by activating throw intent, and clicking on your target with an empty hand.") + to_chat(P, span_notice("You are now able to launch tackles! You can do so by activating throw intent, and clicking on your target with an empty hand.")) addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) /datum/component/tackler/Destroy() var/mob/P = parent - to_chat(P, "You can no longer tackle.") + to_chat(P, span_notice("You can no longer tackle.")) return ..() /datum/component/tackler/RegisterWithParent() @@ -78,23 +78,23 @@ return if(HAS_TRAIT(user, TRAIT_HULK)) - to_chat(user, "You're too angry to remember how to tackle!") + to_chat(user, span_warning("You're too angry to remember how to tackle!")) return if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You need free use of your hands to tackle!") + to_chat(user, span_warning("You need free use of your hands to tackle!")) return if(user.body_position == LYING_DOWN) - to_chat(user, "You must be standing to tackle!") + to_chat(user, span_warning("You must be standing to tackle!")) return if(tackling) - to_chat(user, "You're not ready to tackle!") + to_chat(user, span_warning("You're not ready to tackle!")) return if(user.has_movespeed_modifier(/datum/movespeed_modifier/shove)) // can't tackle if you just got shoved - to_chat(user, "You're too off balance to tackle!") + to_chat(user, span_warning("You're too off balance to tackle!")) return user.face_atom(A) @@ -109,9 +109,9 @@ var/leap_word = isfelinid(user) ? "pounce" : "leap" //If cat, "pounce" instead of "leap". if(can_see(user, A, 7)) - user.visible_message("[user] [leap_word]s at [A]!", "You [leap_word] at [A]!") + user.visible_message(span_warning("[user] [leap_word]s at [A]!"), span_danger("You [leap_word] at [A]!")) else - user.visible_message("[user] [leap_word]s!", "You [leap_word]!") + user.visible_message(span_warning("[user] [leap_word]s!"), span_danger("You [leap_word]!")) if(get_dist(user, A) < min_distance) A = get_ranged_target_turf(user, get_dir(user, A), min_distance) //TODO: this only works in cardinals/diagonals, make it work with in-betweens too! @@ -163,8 +163,8 @@ switch(roll) if(-INFINITY to -5) - user.visible_message("[user] botches [user.p_their()] [tackle_word] and slams [user.p_their()] head into [target], knocking [user.p_them()]self silly!", "You botch your [tackle_word] and slam your head into [target], knocking yourself silly!", ignored_mobs = target) - to_chat(target, "[user] botches [user.p_their()] [tackle_word] and slams [user.p_their()] head into you, knocking [user.p_them()]self silly!") + user.visible_message(span_danger("[user] botches [user.p_their()] [tackle_word] and slams [user.p_their()] head into [target], knocking [user.p_them()]self silly!"), span_userdanger("You botch your [tackle_word] and slam your head into [target], knocking yourself silly!"), ignored_mobs = target) + to_chat(target, span_userdanger("[user] botches [user.p_their()] [tackle_word] and slams [user.p_their()] head into you, knocking [user.p_them()]self silly!")) user.Paralyze(30) var/obj/item/bodypart/head/hed = user.get_bodypart(BODY_ZONE_HEAD) @@ -173,8 +173,8 @@ user.gain_trauma(/datum/brain_trauma/mild/concussion) if(-4 to -2) // glancing blow at best - user.visible_message("[user] lands a weak [tackle_word] on [target], briefly knocking [target.p_them()] off-balance!", "You land a weak [tackle_word] on [target], briefly knocking [target.p_them()] off-balance!", ignored_mobs = target) - to_chat(target, "[user] lands a weak [tackle_word] on you, briefly knocking you off-balance!") + user.visible_message(span_warning("[user] lands a weak [tackle_word] on [target], briefly knocking [target.p_them()] off-balance!"), span_userdanger("You land a weak [tackle_word] on [target], briefly knocking [target.p_them()] off-balance!"), ignored_mobs = target) + to_chat(target, span_userdanger("[user] lands a weak [tackle_word] on you, briefly knocking you off-balance!")) user.Knockdown(30) if(ishuman(target) && !T.has_movespeed_modifier(/datum/movespeed_modifier/shove)) @@ -182,8 +182,8 @@ addtimer(CALLBACK(T, /mob/living/carbon/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH * 2) if(-1 to 0) // decent hit, both parties are about equally inconvenienced - user.visible_message("[user] lands a passable [tackle_word] on [target], sending them both tumbling!", "You land a passable [tackle_word] on [target], sending you both tumbling!", ignored_mobs = target) - to_chat(target, "[user] lands a passable [tackle_word] on you, sending you both tumbling!") + user.visible_message(span_warning("[user] lands a passable [tackle_word] on [target], sending them both tumbling!"), span_userdanger("You land a passable [tackle_word] on [target], sending you both tumbling!"), ignored_mobs = target) + to_chat(target, span_userdanger("[user] lands a passable [tackle_word] on you, sending you both tumbling!")) target.adjustStaminaLoss(stamina_cost) target.Paralyze(5) @@ -191,8 +191,8 @@ target.Knockdown(25) if(1 to 2) // solid hit, tackler has a slight advantage - user.visible_message("[user] lands a solid [tackle_word] on [target], knocking them both down hard!", "You land a solid [tackle_word] on [target], knocking you both down hard!", ignored_mobs = target) - to_chat(target, "[user] lands a solid [tackle_word] on you, knocking you both down hard!") + user.visible_message(span_warning("[user] lands a solid [tackle_word] on [target], knocking them both down hard!"), span_userdanger("You land a solid [tackle_word] on [target], knocking you both down hard!"), ignored_mobs = target) + to_chat(target, span_userdanger("[user] lands a solid [tackle_word] on you, knocking you both down hard!")) target.adjustStaminaLoss(30) target.Paralyze(5) @@ -200,8 +200,8 @@ target.Knockdown(20) if(3 to 4) // really good hit, the target is definitely worse off here. Without positive modifiers, this is as good a tackle as you can land - user.visible_message("[user] lands an expert [tackle_word] on [target], knocking [target.p_them()] down hard while landing on [user.p_their()] feet with a passive grip!", "You land an expert [tackle_word] on [target], knocking [target.p_them()] down hard while landing on your feet with a passive grip!", ignored_mobs = target) - to_chat(target, "[user] lands an expert [tackle_word] on you, knocking you down hard and maintaining a passive grab!") + user.visible_message(span_warning("[user] lands an expert [tackle_word] on [target], knocking [target.p_them()] down hard while landing on [user.p_their()] feet with a passive grip!"), span_userdanger("You land an expert [tackle_word] on [target], knocking [target.p_them()] down hard while landing on your feet with a passive grip!"), ignored_mobs = target) + to_chat(target, span_userdanger("[user] lands an expert [tackle_word] on you, knocking you down hard and maintaining a passive grab!")) user.SetKnockdown(0) user.get_up(TRUE) @@ -214,8 +214,8 @@ S.setGrabState(GRAB_PASSIVE) if(5 to INFINITY) // absolutely BODIED - user.visible_message("[user] lands a monster [tackle_word] on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", "You land a monster [tackle_word] on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", ignored_mobs = target) - to_chat(target, "[user] lands a monster [tackle_word] on you, knocking you senseless and aggressively pinning you!") + user.visible_message(span_warning("[user] lands a monster [tackle_word] on [target], knocking [target.p_them()] senseless and applying an aggressive pin!"), span_userdanger("You land a monster [tackle_word] on [target], knocking [target.p_them()] senseless and applying an aggressive pin!"), ignored_mobs = target) + to_chat(target, span_userdanger("[user] lands a monster [tackle_word] on you, knocking you senseless and aggressively pinning you!")) user.SetKnockdown(0) user.get_up(TRUE) @@ -368,13 +368,13 @@ var/oopsie = rand(danger_zone, 100) if(oopsie >= 94 && oopsie_mod < 0) // good job avoiding getting paralyzed! gold star! - to_chat(user, "You're really glad you're wearing protection!") + to_chat(user, span_notice("You're really glad you're wearing protection!")) oopsie += oopsie_mod switch(oopsie) if(99 to INFINITY) // can you imagine standing around minding your own business when all of the sudden some guy fucking launches himself into a wall at full speed and irreparably paralyzes himself? - user.visible_message("[user] slams face-first into [hit] at an awkward angle, severing [user.p_their()] spinal column with a sickening crack! Fucking shit!", "You slam face-first into [hit] at an awkward angle, severing your spinal column with a sickening crack! Fucking shit!") + user.visible_message(span_danger("[user] slams face-first into [hit] at an awkward angle, severing [user.p_their()] spinal column with a sickening crack! Fucking shit!"), span_userdanger("You slam face-first into [hit] at an awkward angle, severing your spinal column with a sickening crack! Fucking shit!")) var/obj/item/bodypart/head/hed = user.get_bodypart(BODY_ZONE_HEAD) if(hed) hed.receive_damage(brute=40, updating_health=FALSE, wound_bonus = 40) @@ -391,7 +391,7 @@ user.clear_fullscreen("flash", 4.5) if(97 to 98) - user.visible_message("[user] slams skull-first into [hit] with a sound like crumpled paper, revealing a horrifying breakage in [user.p_their()] cranium! Holy shit!", "You slam skull-first into [hit] and your senses are filled with warm goo flooding across your face! Your skull is open!") + user.visible_message(span_danger("[user] slams skull-first into [hit] with a sound like crumpled paper, revealing a horrifying breakage in [user.p_their()] cranium! Holy shit!"), span_userdanger("You slam skull-first into [hit] and your senses are filled with warm goo flooding across your face! Your skull is open!")) var/obj/item/bodypart/head/hed = user.get_bodypart(BODY_ZONE_HEAD) if(hed) hed.receive_damage(brute=30, updating_health=FALSE, wound_bonus = 25) @@ -407,7 +407,7 @@ user.clear_fullscreen("flash", 4.5) if(93 to 96) - user.visible_message("[user] slams face-first into [hit] with a concerning squish, immediately going limp!", "You slam face-first into [hit], and immediately lose consciousness!") + user.visible_message(span_danger("[user] slams face-first into [hit] with a concerning squish, immediately going limp!"), span_userdanger("You slam face-first into [hit], and immediately lose consciousness!")) user.adjustStaminaLoss(30) user.adjustBruteLoss(30) user.Unconscious(100) @@ -418,7 +418,7 @@ user.clear_fullscreen("flash", 3.5) if(86 to 92) - user.visible_message("[user] slams head-first into [hit], suffering major cranial trauma!", "You slam head-first into [hit], and the world explodes around you!") + user.visible_message(span_danger("[user] slams head-first into [hit], suffering major cranial trauma!"), span_userdanger("You slam head-first into [hit], and the world explodes around you!")) user.adjustStaminaLoss(30, updating_health=FALSE) user.adjustBruteLoss(30) user.add_confusion(15) @@ -431,7 +431,7 @@ user.clear_fullscreen("flash", 2.5) if(68 to 85) - user.visible_message("[user] slams hard into [hit], knocking [user.p_them()] senseless!", "You slam hard into [hit], knocking yourself senseless!") + user.visible_message(span_danger("[user] slams hard into [hit], knocking [user.p_them()] senseless!"), span_userdanger("You slam hard into [hit], knocking yourself senseless!")) user.adjustStaminaLoss(30, updating_health=FALSE) user.adjustBruteLoss(10) user.add_confusion(10) @@ -439,7 +439,7 @@ shake_camera(user, 3, 4) if(1 to 67) - user.visible_message("[user] slams into [hit]!", "You slam into [hit]!") + user.visible_message(span_danger("[user] slams into [hit]!"), span_userdanger("You slam into [hit]!")) user.adjustStaminaLoss(20, updating_health=FALSE) user.adjustBruteLoss(10) user.Knockdown(20) @@ -468,10 +468,10 @@ W.obj_destruction() user.adjustStaminaLoss(10 * speed) user.Paralyze(30) - user.visible_message("[user] smacks into [W] and shatters it, shredding [user.p_them()]self with glass!", "You smacks into [W] and shatter it, shredding yourself with glass!") + user.visible_message(span_danger("[user] smacks into [W] and shatters it, shredding [user.p_them()]self with glass!"), span_userdanger("You smacks into [W] and shatter it, shredding yourself with glass!")) else - user.visible_message("[user] smacks into [W] like a bug!", "You smacks into [W] like a bug!") + user.visible_message(span_danger("[user] smacks into [W] like a bug!"), span_userdanger("You smacks into [W] like a bug!")) user.Paralyze(10) user.Knockdown(30) W.take_damage(30 * speed) @@ -517,7 +517,7 @@ else HOW_big_of_a_miss_did_we_just_make = ", making a ginormous mess!" // an extra exclamation point!! for emphasis!!! - owner.visible_message("[owner] trips over [kevved] and slams into it face-first[HOW_big_of_a_miss_did_we_just_make]!", "You trip over [kevved] and slam into it face-first[HOW_big_of_a_miss_did_we_just_make]!") + owner.visible_message(span_danger("[owner] trips over [kevved] and slams into it face-first[HOW_big_of_a_miss_did_we_just_make]!"), span_userdanger("You trip over [kevved] and slam into it face-first[HOW_big_of_a_miss_did_we_just_make]!")) owner.adjustStaminaLoss(15 + messes.len * 2, FALSE) owner.adjustBruteLoss(8 + messes.len) owner.Paralyze(0.4 SECONDS * messes.len) // .4 seconds of paralyze for each thing you knock around @@ -529,7 +529,7 @@ if(prob(25 * (src.speed - 1))) // if our tackle speed is higher than 1, with chance (speed - 1 * 25%), throw the thing at our tackle speed + 1 sp = speed + 1 I.throw_at(get_ranged_target_turf(I, pick(GLOB.alldirs), range = dist), range = dist, speed = sp) - I.visible_message("[I] goes flying[sp > 3 ? " dangerously fast" : ""]!") // standard embed speed + I.visible_message(span_danger("[I] goes flying[sp > 3 ? " dangerously fast" : ""]!")) // standard embed speed playsound(owner, 'sound/weapons/smash.ogg', 70, TRUE) tackle.finalize(hit=TRUE) diff --git a/code/datums/components/tameable.dm b/code/datums/components/tameable.dm index 365f81ed1cc..665ccbbb664 100644 --- a/code/datums/components/tameable.dm +++ b/code/datums/components/tameable.dm @@ -35,10 +35,10 @@ if(isliving(source)) var/mob/living/potentially_dead_horse = source if(potentially_dead_horse.stat == DEAD) - to_chat(attacker, "[parent] is dead!") + to_chat(attacker, span_warning("[parent] is dead!")) return COMPONENT_CANCEL_ATTACK_CHAIN - attacker.visible_message("[attacker] hand-feeds [food] to [parent].", "You hand-feed [food] to [parent].") + attacker.visible_message(span_notice("[attacker] hand-feeds [food] to [parent]."), span_notice("You hand-feed [food] to [parent].")) qdel(food) if(tame) return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/datums/components/technointrovert.dm b/code/datums/components/technointrovert.dm index 59752b70edb..d49681814c5 100644 --- a/code/datums/components/technointrovert.dm +++ b/code/datums/components/technointrovert.dm @@ -31,7 +31,7 @@ /datum/component/technointrovert/proc/is_in_whitelist(datum/source, obj/machinery/machine) if(!is_type_in_typecache(machine, whitelist)) - to_chat(source, "[replacetext(message, "%TARGET", machine)]") + to_chat(source, span_warning("[replacetext(message, "%TARGET", machine)]")) return FALSE return TRUE diff --git a/code/datums/components/technoshy.dm b/code/datums/components/technoshy.dm index c46830ddcc6..8a45c7d62c8 100644 --- a/code/datums/components/technoshy.dm +++ b/code/datums/components/technoshy.dm @@ -38,7 +38,7 @@ /datum/component/technoshy/proc/is_not_touched(datum/source, obj/machinery/machine) var/time_since = world.time - machine.last_used_time if(time_since < unused_duration && !isnull(machine.last_user_mobtype) && !is_type_in_typecache(machine.last_user_mobtype, whitelist)) - to_chat(source, "[replacetext(message, "%TARGET", machine)]") + to_chat(source, span_warning("[replacetext(message, "%TARGET", machine)]")) return TRUE /datum/component/technoshy/proc/on_try_use_machine(datum/source, obj/machinery/machine) diff --git a/code/datums/components/tether.dm b/code/datums/components/tether.dm index a458db2f257..ec8da0f7b0d 100644 --- a/code/datums/components/tether.dm +++ b/code/datums/components/tether.dm @@ -20,7 +20,7 @@ SIGNAL_HANDLER if (get_dist(mover,newloc) > max_dist) - to_chat(mover, "The [tether_name] runs out of slack and prevents you from moving!") + to_chat(mover, span_userdanger("The [tether_name] runs out of slack and prevents you from moving!")) return COMPONENT_MOVABLE_BLOCK_PRE_MOVE var/atom/blocker @@ -35,5 +35,5 @@ blocker = A break out if (blocker) - to_chat(mover, "The [tether_name] catches on [blocker] and prevents you from moving!") + to_chat(mover, span_userdanger("The [tether_name] catches on [blocker] and prevents you from moving!")) return COMPONENT_MOVABLE_BLOCK_PRE_MOVE diff --git a/code/datums/components/trapdoor.dm b/code/datums/components/trapdoor.dm index 8ab65607b07..8d841cd5504 100644 --- a/code/datums/components/trapdoor.dm +++ b/code/datums/components/trapdoor.dm @@ -95,7 +95,7 @@ SIGNAL_HANDLER var/turf/open/dying_trapdoor = parent if((!IS_OPEN(dying_trapdoor) && !IS_OPEN(path)) || path == /turf/open/floor/plating) //not a process of the trapdoor, so this trapdoor has been destroyed - dying_trapdoor.visible_message("The trapdoor mechanism in [dying_trapdoor] is broken!") + dying_trapdoor.visible_message(span_warning("The trapdoor mechanism in [dying_trapdoor] is broken!")) if(assembly) assembly.linked = FALSE assembly.stored_decals.Cut() @@ -124,7 +124,7 @@ if(assembly) RegisterSignal(parent, COMSIG_TURF_DECAL_DETACHED, .proc/decal_detached) playsound(trapdoor_turf, 'sound/machines/trapdoor/trapdoor_open.ogg', 50) - trapdoor_turf.visible_message("[trapdoor_turf] swings open!") + trapdoor_turf.visible_message(span_warning("[trapdoor_turf] swings open!")) trapdoor_turf.ChangeTurf(/turf/open/openspace, flags = CHANGETURF_INHERIT_AIR) /** @@ -137,10 +137,10 @@ var/turf/open/trapdoor_turf = parent var/obj/structure/lattice/blocking = locate() in trapdoor_turf.contents if(blocking) - trapdoor_turf.visible_message("The trapdoor mechanism in [trapdoor_turf] tries to shut, but is jammed by [blocking]!") + trapdoor_turf.visible_message(span_warning("The trapdoor mechanism in [trapdoor_turf] tries to shut, but is jammed by [blocking]!")) return playsound(trapdoor_turf, 'sound/machines/trapdoor/trapdoor_shut.ogg', 50) - trapdoor_turf.visible_message("The trapdoor mechanism in [trapdoor_turf] swings shut!") + trapdoor_turf.visible_message(span_warning("The trapdoor mechanism in [trapdoor_turf] swings shut!")) trapdoor_turf.ChangeTurf(trapdoor_turf_path, flags = CHANGETURF_INHERIT_AIR) #undef IS_OPEN @@ -171,7 +171,7 @@ if(linked) return if(!COOLDOWN_FINISHED(src, search_cooldown)) - visible_message("[src] cannot attempt another trapdoor linkup so soon!") + visible_message(span_warning("[src] cannot attempt another trapdoor linkup so soon!")) return attempt_link_up() COOLDOWN_START(src, search_cooldown, search_cooldown_time) @@ -180,7 +180,7 @@ var/turf/assembly_turf = get_turf(src) if(!COOLDOWN_FINISHED(src, search_cooldown)) var/timeleft = DisplayTimeText(COOLDOWN_TIMELEFT(src, search_cooldown)) - assembly_turf.visible_message("[src] is on cooldown! Please wait [timeleft].", vision_distance = SAMETILE_MESSAGE_RANGE) + assembly_turf.visible_message(span_warning("[src] is on cooldown! Please wait [timeleft]."), vision_distance = SAMETILE_MESSAGE_RANGE) return if(SEND_GLOBAL_SIGNAL(COMSIG_GLOB_TRAPDOOR_LINK, src) & LINKED_UP) playsound(assembly_turf, 'sound/machines/chime.ogg', 50, TRUE) @@ -188,7 +188,7 @@ You may now use it to check where the trapdoor is... be careful!", vision_distance = SAMETILE_MESSAGE_RANGE) else playsound(assembly_turf, 'sound/machines/buzz-sigh.ogg', 50, FALSE) - assembly_turf.visible_message("[src] has failed to find a trapdoor nearby to link to.", vision_distance = SAMETILE_MESSAGE_RANGE) + assembly_turf.visible_message(span_warning("[src] has failed to find a trapdoor nearby to link to."), vision_distance = SAMETILE_MESSAGE_RANGE) /** * ## trapdoor remotes! @@ -208,22 +208,22 @@ /obj/item/trapdoor_remote/examine(mob/user) . = ..() if(!internals) - . += "[src] has no internals! It needs a trapdoor controller to function." + . += span_warning("[src] has no internals! It needs a trapdoor controller to function.") return - . += "The internals can be removed with a screwdriver." + . += span_notice("The internals can be removed with a screwdriver.") if(!internals.linked) - . += "[src] is not linked to a trapdoor." + . += span_warning("[src] is not linked to a trapdoor.") return - . += "[src] is linked to a trapdoor." + . += span_notice("[src] is linked to a trapdoor.") if(!COOLDOWN_FINISHED(src, trapdoor_cooldown)) - . += "It is on a short cooldown." + . += span_warning("It is on a short cooldown.") /obj/item/trapdoor_remote/screwdriver_act(mob/living/user, obj/item/tool) . = ..() if(!internals) - to_chat(user, "[src] has no internals!") + to_chat(user, span_warning("[src] has no internals!")) return - to_chat(user, "You pop [internals] out of [src].") + to_chat(user, span_notice("You pop [internals] out of [src].")) internals.forceMove(get_turf(src)) internals = null @@ -232,9 +232,9 @@ if(. || !istype(assembly)) return if(internals) - to_chat(user, "[src] already has internals!") + to_chat(user, span_warning("[src] already has internals!")) return - to_chat(user, "You add [assembly] to [src].") + to_chat(user, span_notice("You add [assembly] to [src].")) internals = assembly assembly.forceMove(src) @@ -243,16 +243,16 @@ if(.) return if(!internals) - to_chat(user, "[src] has no internals!") + to_chat(user, span_warning("[src] has no internals!")) return if(!internals.linked) - to_chat(user, "You activate [src].") + to_chat(user, span_notice("You activate [src].")) internals.pulsed() return if(!COOLDOWN_FINISHED(src, trapdoor_cooldown)) - to_chat(user, "[src] is on a short cooldown.") + to_chat(user, span_warning("[src] is on a short cooldown.")) return - to_chat(user, "You activate [src].") + to_chat(user, span_notice("You activate [src].")) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) icon_state = "trapdoor_pressed" addtimer(VARSET_CALLBACK(src, icon_state, initial(icon_state)), trapdoor_cooldown_time) diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index 0b7498edd8c..24399d3e8aa 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -130,22 +130,22 @@ return if(ismonkey(user)) if(require_twohands) - to_chat(user, "[parent] is too heavy and cumbersome for you to carry!") + to_chat(user, span_notice("[parent] is too heavy and cumbersome for you to carry!")) user.dropItemToGround(parent, force=TRUE) else - to_chat(user, "It's too heavy for you to wield fully.") + to_chat(user, span_notice("It's too heavy for you to wield fully.")) return if(user.get_inactive_held_item()) if(require_twohands) - to_chat(user, "[parent] is too cumbersome to carry in one hand!") + to_chat(user, span_notice("[parent] is too cumbersome to carry in one hand!")) user.dropItemToGround(parent, force=TRUE) else - to_chat(user, "You need your other hand to be empty!") + to_chat(user, span_warning("You need your other hand to be empty!")) return if(user.usable_hands < 2) if(require_twohands) user.dropItemToGround(parent, force=TRUE) - to_chat(user, "You don't have enough intact hands.") + to_chat(user, span_warning("You don't have enough intact hands.")) return // wield update status @@ -167,9 +167,9 @@ parent_item.update_appearance() if(iscyborg(user)) - to_chat(user, "You dedicate your module to [parent].") + to_chat(user, span_notice("You dedicate your module to [parent].")) else - to_chat(user, "You grab [parent] with both hands.") + to_chat(user, span_notice("You grab [parent] with both hands.")) // Play sound if one is set if(wieldsound) @@ -233,11 +233,11 @@ // Show message if requested if(show_message) if(iscyborg(user)) - to_chat(user, "You free up your module.") + to_chat(user, span_notice("You free up your module.")) else if(require_twohands) - to_chat(user, "You drop [parent].") + to_chat(user, span_notice("You drop [parent].")) else - to_chat(user, "You are now carrying [parent] with one hand.") + to_chat(user, span_notice("You are now carrying [parent] with one hand.")) // Play sound if set if(unwieldsound) diff --git a/code/datums/components/udder.dm b/code/datums/components/udder.dm index 6dfee271a06..ff351239ba8 100644 --- a/code/datums/components/udder.dm +++ b/code/datums/components/udder.dm @@ -34,11 +34,11 @@ var/udder_filled_percentage = PERCENT(udder.reagents.total_volume / udder.reagents.maximum_volume) switch(udder_filled_percentage) if(0 to 10) - examine_list += "[parent]'s [udder] is dry." + examine_list += span_notice("[parent]'s [udder] is dry.") if(11 to 99) - examine_list += "[parent]'s [udder] can be milked if you have something to contain it." + examine_list += span_notice("[parent]'s [udder] can be milked if you have something to contain it.") if(100) - examine_list += "[parent]'s [udder] is round and full, and can be milked if you have something to contain it." + examine_list += span_notice("[parent]'s [udder] is round and full, and can be milked if you have something to contain it.") ///signal called on parent being attacked with an item @@ -111,13 +111,13 @@ */ /obj/item/udder/proc/milk(obj/item/reagent_containers/glass/milk_holder, mob/user) if(milk_holder.reagents.total_volume >= milk_holder.volume) - to_chat(user, "[milk_holder] is full.") + to_chat(user, span_warning("[milk_holder] is full.")) return var/transfered = reagents.trans_to(milk_holder, rand(5,10)) if(transfered) - user.visible_message("[user] milks [src] using \the [milk_holder].", "You milk [src] using \the [milk_holder].") + user.visible_message(span_notice("[user] milks [src] using \the [milk_holder]."), span_notice("You milk [src] using \the [milk_holder].")) else - to_chat(user, "The udder is dry. Wait a bit longer...") + to_chat(user, span_warning("The udder is dry. Wait a bit longer...")) /** * # gutlunch udder subtype @@ -146,7 +146,7 @@ /obj/item/udder/proc/on_mob_attacking(mob/living/simple_animal/hostile/gutlunch, atom/target) if(is_type_in_typecache(target, gutlunch.wanted_objects)) //we eats generate() - gutlunch.visible_message("[src] slurps up [target].") + gutlunch.visible_message(span_notice("[src] slurps up [target].")) qdel(target) return COMPONENT_HOSTILE_NO_ATTACK //there is no longer a target to attack diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index 064f39c8888..f43e2831c5c 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -95,7 +95,7 @@ /datum/component/uplink/proc/LoadTC(mob/user, obj/item/stack/telecrystal/TC, silent = FALSE) if(!silent) - to_chat(user, "You slot [TC] into [parent] and charge its internal uplink.") + to_chat(user, span_notice("You slot [TC] into [parent] and charge its internal uplink.")) var/amt = TC.amount telecrystals += amt TC.use(amt) @@ -118,7 +118,7 @@ log_uplink("[key_name(user)] refunded [UI] for [cost] telecrystals using [parent]'s uplink") if(purchase_log) purchase_log.total_spent -= cost - to_chat(user, "[I] refunded.") + to_chat(user, span_notice("[I] refunded.")) qdel(I) return @@ -280,7 +280,7 @@ return locked = FALSE interact(null, user) - to_chat(user, "The PDA softly beeps.") + to_chat(user, span_hear("The PDA softly beeps.")) user << browse(null, "window=pda") master.mode = 0 return COMPONENT_STOP_RINGTONE_CHANGE @@ -320,7 +320,7 @@ previous_attempts.Cut() master.degrees = 0 interact(null, user) - to_chat(user, "Your pen makes a clicking noise, before quickly rotating back to 0 degrees!") + to_chat(user, span_warning("Your pen makes a clicking noise, before quickly rotating back to 0 degrees!")) else if(compare_list(previous_attempts, failsafe_code)) failsafe(user) diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index a588c25a99f..b13354ce702 100644 --- a/code/datums/dash_weapon.dm +++ b/code/datums/dash_weapon.dm @@ -49,4 +49,4 @@ owner.update_action_buttons_icon() if(recharge_sound) playsound(dashing_item, recharge_sound, 50, TRUE) - to_chat(owner, "[src] now has [current_charges]/[max_charges] charges.") + to_chat(owner, span_notice("[src] now has [current_charges]/[max_charges] charges.")) diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm index ea4ce09cb29..26f3d948675 100644 --- a/code/datums/diseases/advance/symptoms/beard.dm +++ b/code/datums/diseases/advance/symptoms/beard.dm @@ -38,7 +38,7 @@ BONUS var/mob/living/carbon/human/H = M var/index = min(max(beard_order.Find(H.facial_hairstyle)+1, A.stage-1), beard_order.len) if(index > 0 && H.facial_hairstyle != beard_order[index]) - to_chat(H, "Your chin itches.") + to_chat(H, span_warning("Your chin itches.")) H.facial_hairstyle = beard_order[index] H.update_hair() diff --git a/code/datums/diseases/advance/symptoms/chills.dm b/code/datums/diseases/advance/symptoms/chills.dm index ac53941f93f..6337cdb74ac 100644 --- a/code/datums/diseases/advance/symptoms/chills.dm +++ b/code/datums/diseases/advance/symptoms/chills.dm @@ -50,9 +50,9 @@ Bonus return var/mob/living/carbon/M = A.affected_mob if(!unsafe || A.stage < 4) - to_chat(M, "[pick("You feel cold.", "You shiver.")]") + to_chat(M, span_warning("[pick("You feel cold.", "You shiver.")]")) else - to_chat(M, "[pick("You feel your blood run cold.", "You feel ice in your veins.", "You feel like you can't heat up.", "You shiver violently.")]") + to_chat(M, span_userdanger("[pick("You feel your blood run cold.", "You feel ice in your veins.", "You feel like you can't heat up.", "You shiver violently.")]")) set_body_temp(A.affected_mob, A) /** diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm index 9a4e3b0562d..6aa2343864d 100644 --- a/code/datums/diseases/advance/symptoms/choking.dm +++ b/code/datums/diseases/advance/symptoms/choking.dm @@ -51,16 +51,16 @@ Bonus switch(A.stage) if(1, 2) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]") + to_chat(M, span_warning("[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]")) if(3, 4) if(!suppress_warning) - to_chat(M, "[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]") + to_chat(M, span_warning("[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]")) else - to_chat(M, "You feel very [pick("dizzy","woozy","faint")].") //fake bloodloss messages + to_chat(M, span_warning("You feel very [pick("dizzy","woozy","faint")].")) //fake bloodloss messages Choke_stage_3_4(M, A) M.emote("gasp") else - to_chat(M, "[pick("You're choking!", "You can't breathe!")]") + to_chat(M, span_userdanger("[pick("You're choking!", "You can't breathe!")]")) Choke(M, A) M.emote("gasp") @@ -125,15 +125,15 @@ Bonus var/mob/living/M = A.affected_mob switch(A.stage) if(3, 4) - to_chat(M, "[pick("Your windpipe feels thin.", "Your lungs feel small.")]") + to_chat(M, span_warning("[pick("Your windpipe feels thin.", "Your lungs feel small.")]")) Asphyxiate_stage_3_4(M, A) M.emote("gasp") if(5) - to_chat(M, "[pick("Your lungs hurt!", "It hurts to breathe!")]") + to_chat(M, span_userdanger("[pick("Your lungs hurt!", "It hurts to breathe!")]")) Asphyxiate(M, A) M.emote("gasp") if(M.getOxyLoss() >= 120) - M.visible_message("[M] stops breathing, as if their lungs have totally collapsed!") + M.visible_message(span_warning("[M] stops breathing, as if their lungs have totally collapsed!")) Asphyxiate_death(M, A) return diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm index 6858dcf6947..af191919822 100644 --- a/code/datums/diseases/advance/symptoms/confusion.dm +++ b/code/datums/diseases/advance/symptoms/confusion.dm @@ -57,9 +57,9 @@ Bonus switch(A.stage) if(1, 2, 3, 4) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("Your head hurts.", "Your mind blanks for a moment.")]") + to_chat(M, span_warning("[pick("Your head hurts.", "Your mind blanks for a moment.")]")) else - to_chat(M, "You can't think straight!") + to_chat(M, span_userdanger("You can't think straight!")) M.add_confusion(16 * power) if(brain_damage) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3 * power, 80) diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index 3848945987a..27336e09556 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -53,13 +53,13 @@ Bonus switch(A.stage) if(3, 4) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("You hear a ringing in your ear.", "Your ears pop.")]") + to_chat(M, span_warning("[pick("You hear a ringing in your ear.", "Your ears pop.")]")) if(5) if(power >= 2) if(ears.damage < ears.maxHealth) - to_chat(M, "Your ears pop painfully and start bleeding!") + to_chat(M, span_userdanger("Your ears pop painfully and start bleeding!")) ears.damage = max(ears.damage, ears.maxHealth) M.emote("scream") else - to_chat(M, "Your ears pop and begin ringing loudly!") + to_chat(M, span_userdanger("Your ears pop and begin ringing loudly!")) ears.deaf = min(20, ears.deaf + 15) diff --git a/code/datums/diseases/advance/symptoms/disfiguration.dm b/code/datums/diseases/advance/symptoms/disfiguration.dm index cdfc6370be8..df0120ab430 100644 --- a/code/datums/diseases/advance/symptoms/disfiguration.dm +++ b/code/datums/diseases/advance/symptoms/disfiguration.dm @@ -37,9 +37,9 @@ BONUS switch(A.stage) if(5) ADD_TRAIT(M, TRAIT_DISFIGURED, DISEASE_TRAIT) - M.visible_message("[M]'s face appears to cave in!", "You feel your face crumple and cave in!") + M.visible_message(span_warning("[M]'s face appears to cave in!"), span_notice("You feel your face crumple and cave in!")) else - M.visible_message("[M]'s face begins to contort...", "Your face feels wet and malleable...") + M.visible_message(span_warning("[M]'s face begins to contort..."), span_notice("Your face feels wet and malleable...")) /datum/symptom/disfiguration/End(datum/disease/advance/A) diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm index e0fe51d495b..994147e5773 100644 --- a/code/datums/diseases/advance/symptoms/dizzy.dm +++ b/code/datums/diseases/advance/symptoms/dizzy.dm @@ -49,9 +49,9 @@ Bonus switch(A.stage) if(1, 2, 3, 4) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("You feel dizzy.", "Your head spins.")]") + to_chat(M, span_warning("[pick("You feel dizzy.", "Your head spins.")]")) else - to_chat(M, "A wave of dizziness washes over you!") + to_chat(M, span_userdanger("A wave of dizziness washes over you!")) if(M.dizziness <= 70) M.dizziness += 30 if(power >= 2) diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm index 10c422bed35..026f3489f44 100644 --- a/code/datums/diseases/advance/symptoms/fever.dm +++ b/code/datums/diseases/advance/symptoms/fever.dm @@ -51,9 +51,9 @@ Bonus return var/mob/living/carbon/M = A.affected_mob if(!unsafe || A.stage < 4) - to_chat(M, "[pick("You feel hot.", "You feel like you're burning.")]") + to_chat(M, span_warning("[pick("You feel hot.", "You feel like you're burning.")]")) else - to_chat(M, "[pick("You feel too hot.", "You feel like your blood is boiling.")]") + to_chat(M, span_userdanger("[pick("You feel too hot.", "You feel like your blood is boiling.")]")) set_body_temp(A.affected_mob, A) /** diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index fa446eb077a..efd82519b5b 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -57,16 +57,16 @@ Bonus switch(A.stage) if(3) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]") + to_chat(M, span_warning("[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]")) if(4) Firestacks_stage_4(M, A) M.IgniteMob() - to_chat(M, "Your skin bursts into flames!") + to_chat(M, span_userdanger("Your skin bursts into flames!")) M.emote("scream") if(5) Firestacks_stage_5(M, A) M.IgniteMob() - to_chat(M, "Your skin erupts into an inferno!") + to_chat(M, span_userdanger("Your skin erupts into an inferno!")) M.emote("scream") /datum/symptom/fire/proc/Firestacks_stage_4(mob/living/M, datum/disease/advance/A) @@ -143,22 +143,22 @@ Bonus switch(A.stage) if(3) if(prob(base_message_chance)) - to_chat(M, "[pick("Your veins boil.", "You feel hot.", "You smell meat cooking.")]") + to_chat(M, span_warning("[pick("Your veins boil.", "You feel hot.", "You smell meat cooking.")]")) if(4) if(M.fire_stacks < 0) - M.visible_message("[M]'s sweat sizzles and pops on contact with water!") + M.visible_message(span_warning("[M]'s sweat sizzles and pops on contact with water!")) explosion(M, devastation_range = -1, heavy_impact_range = (-1 + explosion_power), light_impact_range = (2 * explosion_power)) Alkali_fire_stage_4(M, A) M.IgniteMob() - to_chat(M, "Your sweat bursts into flames!") + to_chat(M, span_userdanger("Your sweat bursts into flames!")) M.emote("scream") if(5) if(M.fire_stacks < 0) - M.visible_message("[M]'s sweat sizzles and pops on contact with water!") + M.visible_message(span_warning("[M]'s sweat sizzles and pops on contact with water!")) explosion(M, devastation_range = -1, heavy_impact_range = (-1 + explosion_power), light_impact_range = (2 * explosion_power)) Alkali_fire_stage_5(M, A) M.IgniteMob() - to_chat(M, "Your skin erupts into an inferno!") + to_chat(M, span_userdanger("Your skin erupts into an inferno!")) M.emote("scream") /datum/symptom/alkali/proc/Alkali_fire_stage_4(mob/living/M, datum/disease/advance/A) diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm index 001a7c536ef..45fedd8947f 100644 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -52,9 +52,9 @@ Bonus switch(A.stage) if(2,3) if(prob(base_message_chance)) - to_chat(M, "[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]") + to_chat(M, span_warning("[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]")) if(4,5) - to_chat(M, "[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]") + to_chat(M, span_userdanger("[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]")) Flesheat(M, A) /datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A) @@ -123,10 +123,10 @@ Bonus switch(A.stage) if(2,3) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("You feel your body break apart.", "Your skin rubs off like dust.")]") + to_chat(M, span_warning("[pick("You feel your body break apart.", "Your skin rubs off like dust.")]")) if(4,5) if(prob(base_message_chance / 2)) //reduce spam - to_chat(M, "[pick("You feel your muscles weakening.", "Some of your skin detaches itself.", "You feel sandy.")]") + to_chat(M, span_userdanger("[pick("You feel your muscles weakening.", "Some of your skin detaches itself.", "You feel sandy.")]")) Flesh_death(M, A) /datum/symptom/flesh_death/proc/Flesh_death(mob/living/M, datum/disease/advance/A) diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm index 4c36f184794..b6395920f4c 100644 --- a/code/datums/diseases/advance/symptoms/genetics.dm +++ b/code/datums/diseases/advance/symptoms/genetics.dm @@ -60,7 +60,7 @@ Bonus return switch(A.stage) if(4, 5) - to_chat(C, "[pick("Your skin feels itchy.", "You feel light headed.")]") + to_chat(C, span_warning("[pick("Your skin feels itchy.", "You feel light headed.")]")) C.easy_randmut((NEGATIVE | MINOR_NEGATIVE | POSITIVE) - excludemuts, TRUE, TRUE, TRUE, mutadone_proof) /datum/symptom/genetic_mutation/End(datum/disease/advance/A) diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm index e3e95541e00..900b95377ec 100644 --- a/code/datums/diseases/advance/symptoms/hallucigen.dm +++ b/code/datums/diseases/advance/symptoms/hallucigen.dm @@ -54,19 +54,19 @@ Bonus if(1, 2) if(prob(base_message_chance)) if(!fake_healthy) - to_chat(M, "[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whisper with no source.", "Your head aches.")]") + to_chat(M, span_notice("[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whisper with no source.", "Your head aches.")]")) else - to_chat(M, "[pick(healthy_messages)]") + to_chat(M, span_notice("[pick(healthy_messages)]")) if(3, 4) if(prob(base_message_chance)) if(!fake_healthy) - to_chat(M, "[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]") + to_chat(M, span_danger("[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]")) else - to_chat(M, "[pick(healthy_messages)]") + to_chat(M, span_notice("[pick(healthy_messages)]")) else if(prob(base_message_chance)) if(!fake_healthy) - to_chat(M, "[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]") + to_chat(M, span_userdanger("[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]")) else - to_chat(M, "[pick(healthy_messages)]") + to_chat(M, span_notice("[pick(healthy_messages)]")) M.hallucination += (45 * power) diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm index 6541639d055..d9d25962dc0 100644 --- a/code/datums/diseases/advance/symptoms/headache.dm +++ b/code/datums/diseases/advance/symptoms/headache.dm @@ -55,10 +55,10 @@ BONUS var/mob/living/M = A.affected_mob if(power < 2) if(prob(base_message_chance) || A.stage >=4) - to_chat(M, "[pick("Your head hurts.", "Your head pounds.")]") + to_chat(M, span_warning("[pick("Your head hurts.", "Your head pounds.")]")) if(power >= 2 && A.stage >= 4) - to_chat(M, "[pick("Your head hurts a lot.", "Your head pounds incessantly.")]") + to_chat(M, span_warning("[pick("Your head hurts a lot.", "Your head pounds incessantly.")]")) M.adjustStaminaLoss(25) if(power >= 3 && A.stage >= 5) - to_chat(M, "[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]") + to_chat(M, span_userdanger("[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]")) M.Stun(35) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 849e231a886..73384614374 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -98,12 +98,12 @@ turf_to_check = turf_to_check.below() if(!turf_to_check && (direction == ZTRAIT_DOWN || (direction == ZTRAIT_UP && area_to_check.outdoors))) // if does not exist, assume its space since space station if below, however when checking upwards, only assume that its space if the area is outdoors if(levels_of_glass) - return STARLIGHT_CAN_HEAL_WITH_PENALTY + return STARLIGHT_CAN_HEAL_WITH_PENALTY return STARLIGHT_CAN_HEAL area_to_check = get_area(turf_to_check) continue return STARLIGHT_CANNOT_HEAL // hit a non-space non-transparent turf - + /datum/symptom/heal/starlight/proc/CanTileHeal(turf/original_turf, satisfied_with_penalty) var/current_heal_level = CanTileHealDirectional(original_turf, ZTRAIT_DOWN) if(current_heal_level == STARLIGHT_CAN_HEAL) @@ -136,7 +136,7 @@ /datum/symptom/heal/starlight/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power) var/heal_amt = actual_power if(M.getToxLoss() && prob(5)) - to_chat(M, "Your skin tingles as the starlight seems to heal you.") + to_chat(M, span_notice("Your skin tingles as the starlight seems to heal you.")) M.adjustToxLoss(-(4 * heal_amt)) //most effective on toxins @@ -184,7 +184,7 @@ if(food_conversion) M.adjust_nutrition(0.3) if(prob(2)) - to_chat(M, "You feel a mild warmth as your blood purifies itself.") + to_chat(M, span_notice("You feel a mild warmth as your blood purifies itself.")) return 1 @@ -223,7 +223,7 @@ var/lost_nutrition = 9 - (reduced_hunger * 5) C.adjust_nutrition(-lost_nutrition * HUNGER_FACTOR) //Hunger depletes at 10x the normal speed if(prob(2)) - to_chat(C, "You feel an odd gurgle in your stomach, as if it was working much faster than normal.") + to_chat(C, span_notice("You feel an odd gurgle in your stomach, as if it was working much faster than normal.")) return 1 /datum/symptom/heal/darkness @@ -264,7 +264,7 @@ return if(prob(5)) - to_chat(M, "The darkness soothes and mends your wounds.") + to_chat(M, span_notice("The darkness soothes and mends your wounds.")) for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len * 0.5, null, BODYPART_ORGANIC)) //more effective on brute @@ -335,7 +335,7 @@ if(SOFT_CRIT) return power * 0.5 if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma) - to_chat(M, "You feel yourself slip into a regenerative coma...") + to_chat(M, span_warning("You feel yourself slip into a regenerative coma...")) active_coma = TRUE addtimer(CALLBACK(src, .proc/coma, M), 60) @@ -420,7 +420,7 @@ return if(prob(5)) - to_chat(M, "You feel yourself absorbing the water around you to soothe your damaged skin.") + to_chat(M, span_notice("You feel yourself absorbing the water around you to soothe your damaged skin.")) for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len * 0.5, heal_amt/parts.len, null, BODYPART_ORGANIC)) @@ -477,17 +477,17 @@ var/heal_amt = 4 * actual_power if(prob(5)) - to_chat(M, "You feel yourself absorbing plasma inside and around you...") + to_chat(M, span_notice("You feel yourself absorbing plasma inside and around you...")) var/target_temp = M.get_body_temp_normal() if(M.bodytemperature > target_temp) M.adjust_bodytemperature(-20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) if(prob(5)) - to_chat(M, "You feel less hot.") + to_chat(M, span_notice("You feel less hot.")) else if(M.bodytemperature < (M.get_body_temp_normal() + 1)) M.adjust_bodytemperature(20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT, 0, target_temp) if(prob(5)) - to_chat(M, "You feel warmer.") + to_chat(M, span_notice("You feel warmer.")) M.adjustToxLoss(-heal_amt) @@ -495,7 +495,7 @@ if(!parts.len) return if(prob(5)) - to_chat(M, "The pain from your wounds fades rapidly.") + to_chat(M, span_notice("The pain from your wounds fades rapidly.")) for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYPART_ORGANIC)) M.update_damage_overlays() @@ -558,7 +558,7 @@ return if(prob(4)) - to_chat(M, "Your skin glows faintly, and you feel your wounds mending themselves.") + to_chat(M, span_notice("Your skin glows faintly, and you feel your wounds mending themselves.")) for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYPART_ORGANIC)) diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm index 01cd331ed5f..98318060f28 100644 --- a/code/datums/diseases/advance/symptoms/itching.dm +++ b/code/datums/diseases/advance/symptoms/itching.dm @@ -53,6 +53,6 @@ BONUS var/obj/item/bodypart/bodypart = M.get_bodypart(picked_bodypart) if(bodypart && bodypart.status == BODYPART_ORGANIC && !bodypart.is_pseudopart) //robotic limbs will mean less scratching overall (why are golems able to damage themselves with self-scratching, but not androids? the world may never know) var/can_scratch = scratch && !M.incapacitated() - M.visible_message("[can_scratch ? "[M] scratches [M.p_their()] [bodypart.name]." : ""]", "Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]") + M.visible_message("[can_scratch ? span_warning("[M] scratches [M.p_their()] [bodypart.name].") : ""]", span_warning("Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]")) if(can_scratch) bodypart.receive_damage(0.5) diff --git a/code/datums/diseases/advance/symptoms/narcolepsy.dm b/code/datums/diseases/advance/symptoms/narcolepsy.dm index f9e491c1249..a75e4adcd8e 100644 --- a/code/datums/diseases/advance/symptoms/narcolepsy.dm +++ b/code/datums/diseases/advance/symptoms/narcolepsy.dm @@ -44,21 +44,21 @@ Bonus switch(A.stage) if(1) if(prob(50)) - to_chat(M, "You feel tired.") + to_chat(M, span_warning("You feel tired.")) if(2) if(prob(50)) - to_chat(M, "You feel very tired.") + to_chat(M, span_warning("You feel very tired.")) if(3) if(prob(50)) - to_chat(M, "You try to focus on staying awake.") + to_chat(M, span_warning("You try to focus on staying awake.")) if(M.drowsyness < 70) M.drowsyness += 5 if(4) if(prob(50)) if(yawning) - to_chat(M, "You try and fail to suppress a yawn.") + to_chat(M, span_warning("You try and fail to suppress a yawn.")) else - to_chat(M, "You nod off for a moment.") //you can't really yawn while nodding off, can you? + to_chat(M, span_warning("You nod off for a moment.")) //you can't really yawn while nodding off, can you? if(M.drowsyness < 70) M.drowsyness += 10 if(yawning) @@ -67,7 +67,7 @@ Bonus A.spread(6) if(5) if(prob(50)) - to_chat(M, "[pick("So tired...","You feel very sleepy.","You have a hard time keeping your eyes open.","You try to stay awake.")]") + to_chat(M, span_warning("[pick("So tired...","You feel very sleepy.","You have a hard time keeping your eyes open.","You try to stay awake.")]")) if(M.drowsyness < 70) M.drowsyness += 40 if(yawning) diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm index 8ce4c12c991..1adc18f10bf 100644 --- a/code/datums/diseases/advance/symptoms/oxygen.dm +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -52,7 +52,7 @@ Bonus M.blood_volume += 1 else if(prob(base_message_chance)) - to_chat(M, "[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]") + to_chat(M, span_notice("[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]")) return /datum/symptom/oxygen/on_stage_change(datum/disease/advance/A) diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index 680a2f20824..ab3a62bc97a 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -96,14 +96,14 @@ eyes.applyOrganDamage(-2) if(HAS_TRAIT_FROM(M, TRAIT_BLIND, EYE_DAMAGE)) if(prob(20)) - to_chat(M, "Your vision slowly returns...") + to_chat(M, span_warning("Your vision slowly returns...")) M.cure_blind(EYE_DAMAGE) M.cure_nearsighted(EYE_DAMAGE) M.blur_eyes(35) else if(HAS_TRAIT_FROM(M, TRAIT_NEARSIGHT, EYE_DAMAGE)) - to_chat(M, "The blackness in your peripheral vision fades.") + to_chat(M, span_warning("The blackness in your peripheral vision fades.")) M.cure_nearsighted(EYE_DAMAGE) M.blur_eyes(10) else if(prob(base_message_chance)) - to_chat(M, "[pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink.","Your ears feel great.","Your hearing feels more acute.")]") + to_chat(M, span_notice("[pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink.","Your ears feel great.","Your hearing feels more acute.")]")) diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm index b489a8449fc..3aba4cd5f65 100644 --- a/code/datums/diseases/advance/symptoms/shedding.dm +++ b/code/datums/diseases/advance/symptoms/shedding.dm @@ -34,17 +34,17 @@ BONUS var/mob/living/M = A.affected_mob if(prob(base_message_chance)) - to_chat(M, "[pick("Your scalp itches.", "Your skin feels flaky.")]") + to_chat(M, span_warning("[pick("Your scalp itches.", "Your skin feels flaky.")]")) if(ishuman(M)) var/mob/living/carbon/human/H = M switch(A.stage) if(3, 4) if(!(H.hairstyle == "Bald") && !(H.hairstyle == "Balding Hair")) - to_chat(H, "Your hair starts to fall out in clumps...") + to_chat(H, span_warning("Your hair starts to fall out in clumps...")) addtimer(CALLBACK(src, .proc/Shed, H, FALSE), 50) if(5) if(!(H.facial_hairstyle == "Shaved") || !(H.hairstyle == "Bald")) - to_chat(H, "Your hair starts to fall out in clumps...") + to_chat(H, span_warning("Your hair starts to fall out in clumps...")) addtimer(CALLBACK(src, .proc/Shed, H, TRUE), 50) /datum/symptom/shedding/proc/Shed(mob/living/carbon/human/H, fullbald) diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm index cbd90536a88..a26d75424f1 100644 --- a/code/datums/diseases/advance/symptoms/skin.dm +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -39,4 +39,4 @@ BONUS M.reagents.add_reagent(color, 5) else if (prob(50)) // spam - M.visible_message("[M] looks rather vibrant...", "The colors, man, the colors...") + M.visible_message(span_warning("[M] looks rather vibrant..."), span_notice("The colors, man, the colors...")) diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm index 4c5faa6b1bf..507a28da429 100644 --- a/code/datums/diseases/advance/symptoms/vision.dm +++ b/code/datums/diseases/advance/symptoms/vision.dm @@ -53,9 +53,9 @@ Bonus switch(A.stage) if(1, 2) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "Your eyes itch.") + to_chat(M, span_warning("Your eyes itch.")) if(3, 4) - to_chat(M, "Your eyes burn!") + to_chat(M, span_warning("Your eyes burn!")) M.blur_eyes(10) eyes.applyOrganDamage(1) else @@ -66,11 +66,11 @@ Bonus if(prob(eyes.damage - 10 + 1)) if(!remove_eyes) if(!M.is_blind()) - to_chat(M, "You go blind!") + to_chat(M, span_userdanger("You go blind!")) eyes.applyOrganDamage(eyes.maxHealth) else - M.visible_message("[M]'s eyes fall out of their sockets!", "Your eyes fall out of their sockets!") + M.visible_message(span_warning("[M]'s eyes fall out of their sockets!"), span_userdanger("Your eyes fall out of their sockets!")) eyes.Remove(M) eyes.forceMove(get_turf(M)) else - to_chat(M, "Your eyes burn horrifically!") + to_chat(M, span_userdanger("Your eyes burn horrifically!")) diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm index c83e8106504..c3408d837e2 100644 --- a/code/datums/diseases/advance/symptoms/voice_change.dm +++ b/code/datums/diseases/advance/symptoms/voice_change.dm @@ -57,7 +57,7 @@ Bonus switch(A.stage) if(1, 2, 3, 4) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("Your throat hurts.", "You clear your throat.")]") + to_chat(M, span_warning("[pick("Your throat hurts.", "You clear your throat.")]")) else if(ishuman(M)) var/mob/living/carbon/human/H = M diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm index 2651fbcae1f..3a0acc99060 100644 --- a/code/datums/diseases/advance/symptoms/vomit.dm +++ b/code/datums/diseases/advance/symptoms/vomit.dm @@ -59,7 +59,7 @@ Bonus switch(A.stage) if(1, 2, 3, 4) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("You feel nauseated.", "You feel like you're going to throw up!")]") + to_chat(M, span_warning("[pick("You feel nauseated.", "You feel like you're going to throw up!")]")) else vomit(M) diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm index 1d57007f683..8ca3a75c4cd 100644 --- a/code/datums/diseases/advance/symptoms/weight.dm +++ b/code/datums/diseases/advance/symptoms/weight.dm @@ -48,8 +48,8 @@ Bonus switch(A.stage) if(1, 2, 3, 4) if(prob(base_message_chance)) - to_chat(M, "[pick("You feel hungry.", "You crave for food.")]") + to_chat(M, span_warning("[pick("You feel hungry.", "You crave for food.")]")) else - to_chat(M, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]") + to_chat(M, span_warning("[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")) M.overeatduration = max(M.overeatduration - 200 SECONDS, 0) M.adjust_nutrition(-100) diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm index da10b833171..16c2aeffd9a 100644 --- a/code/datums/diseases/advance/symptoms/youth.dm +++ b/code/datums/diseases/advance/symptoms/youth.dm @@ -40,20 +40,20 @@ BONUS if(1) if(H.age > 41) H.age = 41 - to_chat(H, "You haven't had this much energy in years!") + to_chat(H, span_notice("You haven't had this much energy in years!")) if(2) if(H.age > 36) H.age = 36 - to_chat(H, "You're suddenly in a good mood.") + to_chat(H, span_notice("You're suddenly in a good mood.")) if(3) if(H.age > 31) H.age = 31 - to_chat(H, "You begin to feel more lithe.") + to_chat(H, span_notice("You begin to feel more lithe.")) if(4) if(H.age > 26) H.age = 26 - to_chat(H, "You feel reinvigorated.") + to_chat(H, span_notice("You feel reinvigorated.")) if(5) if(H.age > 21) H.age = 21 - to_chat(H, "You feel like you can take on the world!") + to_chat(H, span_notice("You feel like you can take on the world!")) diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index c3092e310ea..a177441f890 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -20,25 +20,25 @@ switch(stage) if(2) //also changes say, see say.dm if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You feel anxious.") + to_chat(affected_mob, span_notice("You feel anxious.")) if(3) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "Your stomach flutters.") + to_chat(affected_mob, span_notice("Your stomach flutters.")) if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You feel panicky.") + to_chat(affected_mob, span_notice("You feel panicky.")) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You're overtaken with panic!") + to_chat(affected_mob, span_danger("You're overtaken with panic!")) affected_mob.add_confusion(rand(2,3)) if(4) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You feel butterflies in your stomach.") + to_chat(affected_mob, span_danger("You feel butterflies in your stomach.")) if(DT_PROB(2.5, delta_time)) - affected_mob.visible_message("[affected_mob] stumbles around in a panic.", \ - "You have a panic attack!") + affected_mob.visible_message(span_danger("[affected_mob] stumbles around in a panic."), \ + span_userdanger("You have a panic attack!")) affected_mob.add_confusion(rand(6,8)) affected_mob.jitteriness += (rand(6,8)) if(DT_PROB(1, delta_time)) - affected_mob.visible_message("[affected_mob] coughs up butterflies!", \ - "You cough up butterflies!") + affected_mob.visible_message(span_danger("[affected_mob] coughs up butterflies!"), \ + span_userdanger("You cough up butterflies!")) new /mob/living/simple_animal/butterfly(affected_mob.loc) new /mob/living/simple_animal/butterfly(affected_mob.loc) diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm index c9b71bb9a0f..0a4ca6cf927 100644 --- a/code/datums/diseases/appendicitis.dm +++ b/code/datums/diseases/appendicitis.dm @@ -30,7 +30,7 @@ A.inflamed = 1 A.update_appearance() if(DT_PROB(1.5, delta_time)) - to_chat(affected_mob, "You feel a stabbing pain in your abdomen!") + to_chat(affected_mob, span_warning("You feel a stabbing pain in your abdomen!")) affected_mob.adjustOrganLoss(ORGAN_SLOT_APPENDIX, 5) affected_mob.Stun(rand(40, 60)) affected_mob.adjustToxLoss(1, FALSE) diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm index 03aab1907e2..2410d0eaa15 100644 --- a/code/datums/diseases/beesease.dm +++ b/code/datums/diseases/beesease.dm @@ -21,21 +21,21 @@ switch(stage) if(2) //also changes say, see say.dm if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You taste honey in your mouth.") + to_chat(affected_mob, span_notice("You taste honey in your mouth.")) if(3) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "Your stomach rumbles.") + to_chat(affected_mob, span_notice("Your stomach rumbles.")) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "Your stomach stings painfully.") + to_chat(affected_mob, span_danger("Your stomach stings painfully.")) if(prob(20)) affected_mob.adjustToxLoss(2) if(4) if(DT_PROB(5, delta_time)) - affected_mob.visible_message("[affected_mob] buzzes.", \ - "Your stomach buzzes violently!") + affected_mob.visible_message(span_danger("[affected_mob] buzzes."), \ + span_userdanger("Your stomach buzzes violently!")) if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You feel something moving in your throat.") + to_chat(affected_mob, span_danger("You feel something moving in your throat.")) if(DT_PROB(0.5, delta_time)) - affected_mob.visible_message("[affected_mob] coughs up a swarm of bees!", \ - "You cough up a swarm of bees!") + affected_mob.visible_message(span_danger("[affected_mob] coughs up a swarm of bees!"), \ + span_userdanger("You cough up a swarm of bees!")) new /mob/living/simple_animal/hostile/bee(affected_mob.loc) diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm index bd51e4e50c4..1498ded821f 100644 --- a/code/datums/diseases/brainrot.dm +++ b/code/datums/diseases/brainrot.dm @@ -25,7 +25,7 @@ if(DT_PROB(1, delta_time)) affected_mob.emote("yawn") if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You don't feel like yourself.") + to_chat(affected_mob, span_danger("You don't feel like yourself.")) if(DT_PROB(2.5, delta_time)) affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1, 170) if(3) @@ -36,7 +36,7 @@ if(DT_PROB(5, delta_time)) affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2, 170) if(prob(2)) - to_chat(affected_mob, "Your try to remember something important...but can't.") + to_chat(affected_mob, span_danger("Your try to remember something important...but can't.")) if(4) if(DT_PROB(1, delta_time)) @@ -46,11 +46,11 @@ if(DT_PROB(7.5, delta_time)) affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 170) if(prob(2)) - to_chat(affected_mob, "Strange buzzing fills your head, removing all thoughts.") + to_chat(affected_mob, span_danger("Strange buzzing fills your head, removing all thoughts.")) if(DT_PROB(1.5, delta_time)) - to_chat(affected_mob, "You lose consciousness...") - affected_mob.visible_message("[affected_mob] suddenly collapses!", \ - "You suddenly collapse!") + to_chat(affected_mob, span_danger("You lose consciousness...")) + affected_mob.visible_message(span_warning("[affected_mob] suddenly collapses!"), \ + span_userdanger("You suddenly collapse!")) affected_mob.Unconscious(rand(100, 200)) if(prob(1)) affected_mob.emote("snore") diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index 8cb94f0bc82..d40b307caf1 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -22,11 +22,11 @@ if(DT_PROB(0.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your throat feels sore.") + to_chat(affected_mob, span_danger("Your throat feels sore.")) if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Mucous runs down the back of your throat.") + to_chat(affected_mob, span_danger("Mucous runs down the back of your throat.")) if((affected_mob.body_position == LYING_DOWN && DT_PROB(23, delta_time)) || DT_PROB(0.025, delta_time)) //changed FROM prob(10) until sleeping is fixed // Has sleeping been fixed yet? - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) cure() return FALSE if(3) @@ -35,15 +35,15 @@ if(DT_PROB(0.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your throat feels sore.") + to_chat(affected_mob, span_danger("Your throat feels sore.")) if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Mucous runs down the back of your throat.") + to_chat(affected_mob, span_danger("Mucous runs down the back of your throat.")) if(DT_PROB(0.25, delta_time) && !LAZYFIND(affected_mob.disease_resistances, /datum/disease/flu)) var/datum/disease/Flu = new /datum/disease/flu() affected_mob.ForceContractDisease(Flu, FALSE, TRUE) cure() return FALSE if((affected_mob.body_position == LYING_DOWN && DT_PROB(12.5, delta_time)) || DT_PROB(0.005, delta_time)) //changed FROM prob(5) until sleeping is fixed - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) cure() return FALSE diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm index 408752112a1..222644b8f1d 100644 --- a/code/datums/diseases/cold9.dm +++ b/code/datums/diseases/cold9.dm @@ -24,11 +24,11 @@ if(DT_PROB(0.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your throat feels sore.") + to_chat(affected_mob, span_danger("Your throat feels sore.")) if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You feel stiff.") + to_chat(affected_mob, span_danger("You feel stiff.")) if(DT_PROB(0.05, delta_time)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) cure() return FALSE if(3) @@ -38,6 +38,6 @@ if(DT_PROB(0.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your throat feels sore.") + to_chat(affected_mob, span_danger("Your throat feels sore.")) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You feel stiff.") + to_chat(affected_mob, span_danger("You feel stiff.")) diff --git a/code/datums/diseases/decloning.dm b/code/datums/diseases/decloning.dm index 3988b955717..886a3bcfc5b 100644 --- a/code/datums/diseases/decloning.dm +++ b/code/datums/diseases/decloning.dm @@ -36,7 +36,7 @@ if(DT_PROB(1.5, delta_time)) affected_mob.adjustCloneLoss(1, FALSE) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "Your skin feels strange.") + to_chat(affected_mob, span_danger("Your skin feels strange.")) if(4) if(DT_PROB(1, delta_time)) @@ -54,11 +54,11 @@ if(DT_PROB(1, delta_time)) affected_mob.emote("drool") if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "Your skin starts degrading!") + to_chat(affected_mob, span_danger("Your skin starts degrading!")) if(DT_PROB(5, delta_time)) affected_mob.adjustCloneLoss(5, FALSE) affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2, 170) if(affected_mob.cloneloss >= 100) - affected_mob.visible_message("[affected_mob] skin turns to dust!", "Your skin turns to dust!") + affected_mob.visible_message(span_danger("[affected_mob] skin turns to dust!"), span_boldwarning("Your skin turns to dust!")) affected_mob.dust() return FALSE diff --git a/code/datums/diseases/dna_spread.dm b/code/datums/diseases/dna_spread.dm index d04b4f0ecd5..0aae3eaafa0 100644 --- a/code/datums/diseases/dna_spread.dm +++ b/code/datums/diseases/dna_spread.dm @@ -42,11 +42,11 @@ if(DT_PROB(4, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your muscles ache.") + to_chat(affected_mob, span_danger("Your muscles ache.")) if(prob(20)) affected_mob.take_bodypart_damage(1, updating_health = FALSE) if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your stomach hurts.") + to_chat(affected_mob, span_danger("Your stomach hurts.")) if(prob(20)) affected_mob.adjustToxLoss(2, FALSE) if(4) @@ -55,7 +55,7 @@ original_dna = new affected_mob.dna.type affected_mob.dna.copy_dna(original_dna) - to_chat(affected_mob, "You don't feel like yourself..") + to_chat(affected_mob, span_danger("You don't feel like yourself..")) var/datum/dna/transform_dna = strain_data["dna"] transform_dna.transfer_identity(affected_mob, transfer_SE = 1) @@ -74,5 +74,5 @@ affected_mob.updateappearance(mutcolor_update=1) affected_mob.domutcheck() - to_chat(affected_mob, "You feel more like yourself.") + to_chat(affected_mob, span_notice("You feel more like yourself.")) return ..() diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm index 4024d6525f7..f238e17369e 100644 --- a/code/datums/diseases/fake_gbs.dm +++ b/code/datums/diseases/fake_gbs.dm @@ -26,7 +26,7 @@ else if(DT_PROB(2.5, delta_time)) affected_mob.emote("gasp") if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You're starting to feel very weak...") + to_chat(affected_mob, span_danger("You're starting to feel very weak...")) if(4) if(DT_PROB(5, delta_time)) affected_mob.emote("cough") diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm index 0566fed6fc5..38f18fba44c 100644 --- a/code/datums/diseases/flu.dm +++ b/code/datums/diseases/flu.dm @@ -24,15 +24,15 @@ if(DT_PROB(0.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your muscles ache.") + to_chat(affected_mob, span_danger("Your muscles ache.")) if(prob(20)) affected_mob.take_bodypart_damage(1, updating_health = FALSE) if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your stomach hurts.") + to_chat(affected_mob, span_danger("Your stomach hurts.")) if(prob(20)) affected_mob.adjustToxLoss(1, FALSE) if(affected_mob.body_position == LYING_DOWN && DT_PROB(10, delta_time)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) stage-- return @@ -42,14 +42,14 @@ if(DT_PROB(0.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your muscles ache.") + to_chat(affected_mob, span_danger("Your muscles ache.")) if(prob(20)) affected_mob.take_bodypart_damage(1, updating_health = FALSE) if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "Your stomach hurts.") + to_chat(affected_mob, span_danger("Your stomach hurts.")) if(prob(20)) affected_mob.adjustToxLoss(1, FALSE) if(affected_mob.body_position == LYING_DOWN && DT_PROB(7.5, delta_time)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) stage-- return diff --git a/code/datums/diseases/fluspanish.dm b/code/datums/diseases/fluspanish.dm index f5cff8cc309..85998123bdc 100644 --- a/code/datums/diseases/fluspanish.dm +++ b/code/datums/diseases/fluspanish.dm @@ -25,7 +25,7 @@ if(DT_PROB(2.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "You're burning in your own skin!") + to_chat(affected_mob, span_danger("You're burning in your own skin!")) affected_mob.take_bodypart_damage(0, 5, updating_health = FALSE) if(3) @@ -35,5 +35,5 @@ if(DT_PROB(2.5, delta_time)) affected_mob.emote("cough") if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You're burning in your own skin!") + to_chat(affected_mob, span_danger("You're burning in your own skin!")) affected_mob.take_bodypart_damage(0, 5, updating_health = FALSE) diff --git a/code/datums/diseases/gastrolisis.dm b/code/datums/diseases/gastrolisis.dm index 42e75ae13c6..f5c26ea744f 100644 --- a/code/datums/diseases/gastrolisis.dm +++ b/code/datums/diseases/gastrolisis.dm @@ -40,8 +40,8 @@ if(!eyes && DT_PROB(2.5, delta_time)) var/obj/item/organ/eyes/snail/new_eyes = new() new_eyes.Insert(affected_mob, drop_if_replaced = TRUE) - affected_mob.visible_message("[affected_mob]'s eyes fall out, with snail eyes taking its place!", \ - "You scream in pain as your eyes are pushed out by your new snail eyes!") + affected_mob.visible_message(span_warning("[affected_mob]'s eyes fall out, with snail eyes taking its place!"), \ + span_userdanger("You scream in pain as your eyes are pushed out by your new snail eyes!")) affected_mob.emote("scream") return @@ -51,8 +51,8 @@ if(!shell && DT_PROB(2.5, delta_time)) if(affected_mob.dropItemToGround(affected_mob.get_item_by_slot(ITEM_SLOT_BACK))) affected_mob.equip_to_slot_or_del(new /obj/item/storage/backpack/snail(affected_mob), ITEM_SLOT_BACK) - affected_mob.visible_message("[affected_mob] grows a grotesque shell on their back!", \ - "You scream in pain as a shell pushes itself out from under your skin!") + affected_mob.visible_message(span_warning("[affected_mob] grows a grotesque shell on their back!"), \ + span_userdanger("You scream in pain as a shell pushes itself out from under your skin!")) affected_mob.emote("scream") return @@ -60,14 +60,14 @@ if(!tongue && DT_PROB(2.5, delta_time)) var/obj/item/organ/tongue/snail/new_tongue = new() new_tongue.Insert(affected_mob) - to_chat(affected_mob, "You feel your speech slow down...") + to_chat(affected_mob, span_userdanger("You feel your speech slow down...")) return if(shell && eyes && tongue && DT_PROB(2.5, delta_time)) affected_mob.set_species(/datum/species/snail) affected_mob.client?.give_award(/datum/award/achievement/misc/snail, affected_mob) - affected_mob.visible_message("[affected_mob] turns into a snail!", \ - "You turned into a snail person! You feel an urge to cccrrraaawwwlll...") + affected_mob.visible_message(span_warning("[affected_mob] turns into a snail!"), \ + span_boldnotice("You turned into a snail person! You feel an urge to cccrrraaawwwlll...")) cure() return FALSE diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm index 5bc4548f0e5..524b547ac00 100644 --- a/code/datums/diseases/gbs.dm +++ b/code/datums/diseases/gbs.dm @@ -25,9 +25,9 @@ if(DT_PROB(2.5, delta_time)) affected_mob.emote("gasp") if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "Your body hurts all over!") + to_chat(affected_mob, span_danger("Your body hurts all over!")) if(4) - to_chat(affected_mob, "Your body feels as if it's trying to rip itself apart!") + to_chat(affected_mob, span_userdanger("Your body feels as if it's trying to rip itself apart!")) if(DT_PROB(30, delta_time)) affected_mob.gib() return FALSE diff --git a/code/datums/diseases/heart_failure.dm b/code/datums/diseases/heart_failure.dm index f82542647be..8bf8c5e9475 100644 --- a/code/datums/diseases/heart_failure.dm +++ b/code/datums/diseases/heart_failure.dm @@ -34,25 +34,25 @@ switch(stage) if(1 to 2) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel [pick("discomfort", "pressure", "a burning sensation", "pain")] in your chest.") + to_chat(affected_mob, span_warning("You feel [pick("discomfort", "pressure", "a burning sensation", "pain")] in your chest.")) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel dizzy.") + to_chat(affected_mob, span_warning("You feel dizzy.")) affected_mob.add_confusion(6) if(DT_PROB(1.5, delta_time)) - to_chat(affected_mob, "You feel [pick("full", "nauseated", "sweaty", "weak", "tired", "short on breath", "uneasy")].") + to_chat(affected_mob, span_warning("You feel [pick("full", "nauseated", "sweaty", "weak", "tired", "short on breath", "uneasy")].")) if(3 to 4) if(!sound) affected_mob.playsound_local(affected_mob, 'sound/health/slowbeat.ogg', 40, FALSE, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) sound = TRUE if(DT_PROB(1.5, delta_time)) - to_chat(affected_mob, "You feel a sharp pain in your chest!") + to_chat(affected_mob, span_danger("You feel a sharp pain in your chest!")) if(prob(25)) affected_mob.vomit(95) affected_mob.emote("cough") affected_mob.Paralyze(40) affected_mob.losebreath += 4 if(DT_PROB(1.5, delta_time)) - to_chat(affected_mob, "You feel very weak and dizzy...") + to_chat(affected_mob, span_danger("You feel very weak and dizzy...")) affected_mob.add_confusion(8) affected_mob.adjustStaminaLoss(40, FALSE) affected_mob.emote("cough") @@ -60,8 +60,8 @@ affected_mob.stop_sound_channel(CHANNEL_HEARTBEAT) affected_mob.playsound_local(affected_mob, 'sound/effects/singlebeat.ogg', 100, FALSE, use_reverb = FALSE) if(affected_mob.stat == CONSCIOUS) - affected_mob.visible_message("[affected_mob] clutches at [affected_mob.p_their()] chest as if [affected_mob.p_their()] heart is stopping!", \ - "You feel a terrible pain in your chest, as if your heart has stopped!") + affected_mob.visible_message(span_danger("[affected_mob] clutches at [affected_mob.p_their()] chest as if [affected_mob.p_their()] heart is stopping!"), \ + span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!")) affected_mob.adjustStaminaLoss(60, FALSE) affected_mob.set_heartattack(TRUE) affected_mob.reagents.add_reagent(/datum/reagent/medicine/c2/penthrite, 3) // To give the victim a final chance to shock their heart before losing consciousness diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm index b10915d1581..243cdd56bc2 100644 --- a/code/datums/diseases/magnitis.dm +++ b/code/datums/diseases/magnitis.dm @@ -22,7 +22,7 @@ switch(stage) if(2) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel a slight shock course through your body.") + to_chat(affected_mob, span_danger("You feel a slight shock course through your body.")) if(DT_PROB(1, delta_time)) for(var/obj/nearby_object in orange(2, affected_mob)) if(nearby_object.anchored || !(nearby_object.flags_1 & CONDUCT_1)) @@ -36,9 +36,9 @@ nearby_silicon.Move(get_step(nearby_silicon, move_dir), move_dir) if(3) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel a strong shock course through your body.") + to_chat(affected_mob, span_danger("You feel a strong shock course through your body.")) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel like clowning around.") + to_chat(affected_mob, span_danger("You feel like clowning around.")) if(DT_PROB(2, delta_time)) for(var/obj/nearby_object in orange(4, affected_mob)) if(nearby_object.anchored || !(nearby_object.flags_1 & CONDUCT_1)) @@ -56,9 +56,9 @@ break if(4) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel a powerful shock course through your body.") + to_chat(affected_mob, span_danger("You feel a powerful shock course through your body.")) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You query upon the nature of miracles.") + to_chat(affected_mob, span_danger("You query upon the nature of miracles.")) if(DT_PROB(4, delta_time)) for(var/obj/nearby_object in orange(6, affected_mob)) if(nearby_object.anchored || !(nearby_object.flags_1 & CONDUCT_1)) diff --git a/code/datums/diseases/parasitic_infection.dm b/code/datums/diseases/parasitic_infection.dm index c6840f5b90f..c3c83879286 100644 --- a/code/datums/diseases/parasitic_infection.dm +++ b/code/datums/diseases/parasitic_infection.dm @@ -22,7 +22,7 @@ var/obj/item/organ/liver/affected_liver = affected_mob.getorgan(/obj/item/organ/liver) if(!affected_liver) - affected_mob.visible_message("[affected_mob]'s liver is covered in tiny larva! They quickly shrivel and die after being exposed to the open air.") + affected_mob.visible_message(span_notice("[affected_mob]'s liver is covered in tiny larva! They quickly shrivel and die after being exposed to the open air.")) cure() return FALSE @@ -33,21 +33,21 @@ if(2) if(DT_PROB(5, delta_time)) if(prob(50)) - to_chat(affected_mob, "You feel the weight loss already!") + to_chat(affected_mob, span_notice("You feel the weight loss already!")) affected_mob.adjust_nutrition(-3) if(3) if(DT_PROB(10, delta_time)) if(prob(20)) - to_chat(affected_mob, "You're... REALLY starting to feel the weight loss.") + to_chat(affected_mob, span_notice("You're... REALLY starting to feel the weight loss.")) affected_mob.adjust_nutrition(-6) if(4) if(DT_PROB(16, delta_time)) if(affected_mob.nutrition >= 100) if(prob(10)) - to_chat(affected_mob, "You feel like your body's shedding weight rapidly!") + to_chat(affected_mob, span_warning("You feel like your body's shedding weight rapidly!")) affected_mob.adjust_nutrition(-12) else - to_chat(affected_mob, "You feel much, MUCH lighter!") + to_chat(affected_mob, span_warning("You feel much, MUCH lighter!")) affected_mob.vomit(20, TRUE) affected_liver.Remove(affected_mob) affected_liver.forceMove(get_turf(affected_mob)) diff --git a/code/datums/diseases/parrotpossession.dm b/code/datums/diseases/parrotpossession.dm index a7188a0bd77..937f735c124 100644 --- a/code/datums/diseases/parrotpossession.dm +++ b/code/datums/diseases/parrotpossession.dm @@ -32,5 +32,5 @@ /datum/disease/parrot_possession/cure() if(parrot && parrot.loc == affected_mob) parrot.forceMove(affected_mob.drop_location()) - affected_mob.visible_message("[parrot] is violently driven out of [affected_mob]!", "[parrot] bursts out of your chest!") + affected_mob.visible_message(span_danger("[parrot] is violently driven out of [affected_mob]!"), span_userdanger("[parrot] bursts out of your chest!")) ..() diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm index 403fad4613f..c725aa20a29 100644 --- a/code/datums/diseases/pierrot_throat.dm +++ b/code/datums/diseases/pierrot_throat.dm @@ -20,13 +20,13 @@ switch(stage) if(1) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You feel a little silly.") + to_chat(affected_mob, span_danger("You feel a little silly.")) if(2) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You start seeing rainbows.") + to_chat(affected_mob, span_danger("You start seeing rainbows.")) if(3) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "Your thoughts are interrupted by a loud HONK!") + to_chat(affected_mob, span_danger("Your thoughts are interrupted by a loud HONK!")) if(4) if(DT_PROB(2.5, delta_time)) affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) , forced = "pierrot's throat") diff --git a/code/datums/diseases/retrovirus.dm b/code/datums/diseases/retrovirus.dm index deb1312e8e4..954ca675ab5 100644 --- a/code/datums/diseases/retrovirus.dm +++ b/code/datums/diseases/retrovirus.dm @@ -34,39 +34,39 @@ switch(stage) if(1) if(DT_PROB(4, delta_time)) - to_chat(affected_mob, "Your head hurts.") + to_chat(affected_mob, span_danger("Your head hurts.")) if(DT_PROB(4.5, delta_time)) - to_chat(affected_mob, "You feel a tingling sensation in your chest.") + to_chat(affected_mob, span_danger("You feel a tingling sensation in your chest.")) if(DT_PROB(4.5, delta_time)) - to_chat(affected_mob, "You feel angry.") + to_chat(affected_mob, span_danger("You feel angry.")) if(restcure && affected_mob.body_position == LYING_DOWN && DT_PROB(16, delta_time)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) cure() return FALSE if(2) if(DT_PROB(4, delta_time)) - to_chat(affected_mob, "Your skin feels loose.") + to_chat(affected_mob, span_danger("Your skin feels loose.")) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You feel very strange.") + to_chat(affected_mob, span_danger("You feel very strange.")) if(DT_PROB(2, delta_time)) - to_chat(affected_mob, "You feel a stabbing pain in your head!") + to_chat(affected_mob, span_danger("You feel a stabbing pain in your head!")) affected_mob.Unconscious(40) if(DT_PROB(2, delta_time)) - to_chat(affected_mob, "Your stomach churns.") + to_chat(affected_mob, span_danger("Your stomach churns.")) if(restcure && affected_mob.body_position == LYING_DOWN && DT_PROB(10, delta_time)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) cure() return FALSE if(3) if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "Your entire body vibrates.") + to_chat(affected_mob, span_danger("Your entire body vibrates.")) if(DT_PROB(19, delta_time)) if(prob(50)) scramble_dna(affected_mob, 1, 0, rand(15,45)) else scramble_dna(affected_mob, 0, 1, rand(15,45)) if(restcure && affected_mob.body_position == LYING_DOWN && DT_PROB(10, delta_time)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) cure() return FALSE if(4) @@ -76,6 +76,6 @@ else scramble_dna(affected_mob, 0, 1, rand(50,75)) if(restcure && affected_mob.body_position == LYING_DOWN && DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) cure() return FALSE diff --git a/code/datums/diseases/rhumba_beat.dm b/code/datums/diseases/rhumba_beat.dm index 91c06097bcc..76b6941ad9e 100644 --- a/code/datums/diseases/rhumba_beat.dm +++ b/code/datums/diseases/rhumba_beat.dm @@ -20,14 +20,14 @@ if(DT_PROB(26, delta_time)) affected_mob.adjustFireLoss(5, FALSE) if(DT_PROB(0.5, delta_time)) - to_chat(affected_mob, "You feel strange...") + to_chat(affected_mob, span_danger("You feel strange...")) if(3) if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You feel the urge to dance...") + to_chat(affected_mob, span_danger("You feel the urge to dance...")) else if(DT_PROB(2.5, delta_time)) affected_mob.emote("gasp") else if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You feel the need to chick chicky boom...") + to_chat(affected_mob, span_danger("You feel the need to chick chicky boom...")) if(4) if(DT_PROB(10, delta_time)) if(prob(50)) @@ -35,8 +35,8 @@ affected_mob.IgniteMob() else affected_mob.emote("gasp") - to_chat(affected_mob, "You feel a burning beat inside...") + to_chat(affected_mob, span_danger("You feel a burning beat inside...")) if(5) - to_chat(affected_mob, "Your body is unable to contain the Rhumba Beat...") + to_chat(affected_mob, span_danger("Your body is unable to contain the Rhumba Beat...")) if(DT_PROB(29, delta_time)) explosion(affected_mob, devastation_range = -1, light_impact_range = 2, flame_range = 2, flash_range = 3, adminlog = FALSE) // This is equivalent to a lvl 1 fireball diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index baa400b8172..81e9f6e8622 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -86,12 +86,12 @@ var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as [affected_mob.real_name]?", bantype, bantype, 50, affected_mob) if(LAZYLEN(candidates)) var/mob/dead/observer/C = pick(candidates) - to_chat(affected_mob, "Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!") + to_chat(affected_mob, span_userdanger("Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!")) message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(affected_mob)]) to replace a jobbanned player.") affected_mob.ghostize(0) affected_mob.key = C.key else - to_chat(new_mob, "Your mob has been claimed by death! Appeal your job ban if you want to avoid this in the future!") + to_chat(new_mob, span_userdanger("Your mob has been claimed by death! Appeal your job ban if you want to avoid this in the future!")) new_mob.death() if (!QDELETED(new_mob)) new_mob.ghostize(can_reenter_corpse = FALSE) @@ -138,10 +138,10 @@ switch(stage) if(2) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.") + to_chat(affected_mob, span_notice("Your [pick("back", "arm", "leg", "elbow", "head")] itches.")) if(3) if(DT_PROB(2, delta_time)) - to_chat(affected_mob, "You feel a stabbing pain in your head.") + to_chat(affected_mob, span_danger("You feel a stabbing pain in your head.")) affected_mob.add_confusion(10) if(4) if(DT_PROB(1.5, delta_time)) @@ -192,7 +192,7 @@ if (DT_PROB(4, delta_time)) affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"), forced = "robotic transformation") if (DT_PROB(2, delta_time)) - to_chat(affected_mob, "You feel a stabbing pain in your head.") + to_chat(affected_mob, span_danger("You feel a stabbing pain in your head.")) affected_mob.Unconscious(40) if(4) if (DT_PROB(10, delta_time)) @@ -226,7 +226,7 @@ switch(stage) if(3) if(DT_PROB(2, delta_time)) - to_chat(affected_mob, "You feel a stabbing pain in your head.") + to_chat(affected_mob, span_danger("You feel a stabbing pain in your head.")) affected_mob.Unconscious(40) if(4) if(DT_PROB(10, delta_time)) @@ -356,5 +356,5 @@ if(DT_PROB(1, delta_time)) var/obj/item/held_item = affected_mob.get_active_held_item() if(held_item) - to_chat(affected_mob, "You let go of what you were holding.") + to_chat(affected_mob, span_danger("You let go of what you were holding.")) affected_mob.dropItemToGround(held_item) diff --git a/code/datums/diseases/tuberculosis.dm b/code/datums/diseases/tuberculosis.dm index fa94110d31d..edb45219c84 100644 --- a/code/datums/diseases/tuberculosis.dm +++ b/code/datums/diseases/tuberculosis.dm @@ -22,40 +22,40 @@ if(2) if(DT_PROB(1, delta_time)) affected_mob.emote("cough") - to_chat(affected_mob, "Your chest hurts.") + to_chat(affected_mob, span_danger("Your chest hurts.")) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "Your stomach violently rumbles!") + to_chat(affected_mob, span_danger("Your stomach violently rumbles!")) if(DT_PROB(2.5, delta_time)) - to_chat(affected_mob, "You feel a cold sweat form.") + to_chat(affected_mob, span_danger("You feel a cold sweat form.")) if(4) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You see four of everything!") + to_chat(affected_mob, span_userdanger("You see four of everything!")) affected_mob.Dizzy(5) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel a sharp pain from your lower chest!") + to_chat(affected_mob, span_danger("You feel a sharp pain from your lower chest!")) affected_mob.adjustOxyLoss(5, FALSE) affected_mob.emote("gasp") if(DT_PROB(5, delta_time)) - to_chat(affected_mob, "You feel air escape from your lungs painfully.") + to_chat(affected_mob, span_danger("You feel air escape from your lungs painfully.")) affected_mob.adjustOxyLoss(25, FALSE) affected_mob.emote("gasp") if(5) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]") + to_chat(affected_mob, span_userdanger("[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]")) affected_mob.adjustStaminaLoss(70, FALSE) if(DT_PROB(5, delta_time)) affected_mob.adjustStaminaLoss(100, FALSE) - affected_mob.visible_message("[affected_mob] faints!", "You surrender yourself and feel at peace...") + affected_mob.visible_message(span_warning("[affected_mob] faints!"), span_userdanger("You surrender yourself and feel at peace...")) affected_mob.AdjustSleeping(100) if(DT_PROB(1, delta_time)) - to_chat(affected_mob, "You feel your mind relax and your thoughts drift!") + to_chat(affected_mob, span_userdanger("You feel your mind relax and your thoughts drift!")) affected_mob.set_confusion(min(100, affected_mob.get_confusion() + 8)) if(DT_PROB(5, delta_time)) affected_mob.vomit(20) if(DT_PROB(1.5, delta_time)) - to_chat(affected_mob, "[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]") + to_chat(affected_mob, span_warning("[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]")) affected_mob.overeatduration = max(affected_mob.overeatduration - (200 SECONDS), 0) affected_mob.adjust_nutrition(-100) if(DT_PROB(7.5, delta_time)) - to_chat(affected_mob, "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit...", "You feel like taking off some clothes...")]") + to_chat(affected_mob, span_danger("[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit...", "You feel like taking off some clothes...")]")) affected_mob.adjust_bodytemperature(40) diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm index 688c8aa6bda..8dc530208b1 100644 --- a/code/datums/diseases/wizarditis.dm +++ b/code/datums/diseases/wizarditis.dm @@ -33,18 +33,18 @@ STI KALY - blind if(DT_PROB(0.25, delta_time)) affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"), forced = "wizarditis") if(DT_PROB(0.25, delta_time)) - to_chat(affected_mob, "You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")].") + to_chat(affected_mob, span_danger("You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")].")) if(3) if(DT_PROB(0.25, delta_time)) affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"), forced = "wizarditis") if(DT_PROB(0.25, delta_time)) - to_chat(affected_mob, "You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")].") + to_chat(affected_mob, span_danger("You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")].")) if(4) if(DT_PROB(0.5, delta_time)) affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!"), forced = "wizarditis") return if(DT_PROB(0.25, delta_time)) - to_chat(affected_mob, "You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].") + to_chat(affected_mob, span_danger("You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].")) spawn_wizard_clothes(50) if(DT_PROB(0.005, delta_time)) teleport() diff --git a/code/datums/dna.dm b/code/datums/dna.dm index fe40a06b6fd..a8714fa8c85 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -238,17 +238,17 @@ if(alert) switch(stability) if(70 to 90) - message = "You shiver." + message = span_warning("You shiver.") if(60 to 69) - message = "You feel cold." + message = span_warning("You feel cold.") if(40 to 59) - message = "You feel sick." + message = span_warning("You feel sick.") if(20 to 39) - message = "It feels like your skin is moving." + message = span_warning("It feels like your skin is moving.") if(1 to 19) - message = "You can feel your cells burning." + message = span_warning("You can feel your cells burning.") if(-INFINITY to 0) - message = "You can feel your DNA exploding, we need to do something fast!" + message = span_boldwarning("You can feel your DNA exploding, we need to do something fast!") if(stability <= 0) holder.apply_status_effect(STATUS_EFFECT_DNA_MELT) if(message) @@ -601,21 +601,21 @@ if(1) gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic) new/obj/vehicle/ridden/wheelchair(get_turf(src)) //don't buckle, because I can't imagine to plethora of things to go through that could otherwise break - to_chat(src, "My flesh turned into a wheelchair and I can't feel my legs.") + to_chat(src, span_warning("My flesh turned into a wheelchair and I can't feel my legs.")) if(2) corgize() if(3) - to_chat(src, "Oh, I actually feel quite alright!") + to_chat(src, span_notice("Oh, I actually feel quite alright!")) if(4) - to_chat(src, "Oh, I actually feel quite alright!") //you thought + to_chat(src, span_notice("Oh, I actually feel quite alright!")) //you thought physiology.damage_resistance = -20000 if(5) - to_chat(src, "Oh, I actually feel quite alright!") + to_chat(src, span_notice("Oh, I actually feel quite alright!")) reagents.add_reagent(/datum/reagent/aslimetoxin, 10) if(6) apply_status_effect(STATUS_EFFECT_GO_AWAY) if(7) - to_chat(src, "Oh, I actually feel quite alright!") + to_chat(src, span_notice("Oh, I actually feel quite alright!")) ForceContractDisease(new/datum/disease/decloning()) //slow acting, non-viral clone damage based GBS if(8) var/list/elligible_organs = list() @@ -625,13 +625,13 @@ if(elligible_organs.len) var/obj/item/organ/O = pick(elligible_organs) O.Remove(src) - visible_message("[src] vomits up their [O.name]!", "You vomit up your [O.name]") //no "vomit up your heart" + visible_message(span_danger("[src] vomits up their [O.name]!"), span_danger("You vomit up your [O.name]")) //no "vomit up your heart" O.forceMove(drop_location()) if(prob(20)) O.animate_atom_living() if(9 to 10) ForceContractDisease(new/datum/disease/gastrolosis()) - to_chat(src, "Oh, I actually feel quite alright!") + to_chat(src, span_notice("Oh, I actually feel quite alright!")) else switch(rand(0,5)) if(0) @@ -652,13 +652,13 @@ else set_species(/datum/species/dullahan) if(4) - visible_message("[src]'s skin melts off!", "Your skin melts off!") + visible_message(span_warning("[src]'s skin melts off!"), span_boldwarning("Your skin melts off!")) spawn_gibs() set_species(/datum/species/skeleton) if(prob(90)) addtimer(CALLBACK(src, .proc/death), 30) if(5) - to_chat(src, "LOOK UP!") + to_chat(src, span_phobia("LOOK UP!")) addtimer(CALLBACK(src, .proc/something_horrible_mindmelt), 30) @@ -669,5 +669,5 @@ return eyes.Remove(src) qdel(eyes) - visible_message("[src] looks up and their eyes melt away!", "='userdanger'>I understand now.") + visible_message(span_notice("[src] looks up and their eyes melt away!"), "='userdanger'>I understand now.") addtimer(CALLBACK(src, .proc/adjustOrganLoss, ORGAN_SLOT_BRAIN, 200), 20) diff --git a/code/datums/elements/art.dm b/code/datums/elements/art.dm index 344608f24d9..715e67afe82 100644 --- a/code/datums/elements/art.dm +++ b/code/datums/elements/art.dm @@ -32,8 +32,8 @@ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "artbad", /datum/mood_event/artbad) msg = "Wow, [source.p_they()] sucks." - user.visible_message("[user] stops and looks intently at [source].", \ - "You appraise [source]... [msg]") + user.visible_message(span_notice("[user] stops and looks intently at [source]."), \ + span_notice("You appraise [source]... [msg]")) /datum/element/art/proc/on_examine(atom/source, mob/user, list/examine_texts) SIGNAL_HANDLER @@ -42,7 +42,7 @@ INVOKE_ASYNC(src, .proc/appraise, source, user) //Do not sleep the proc. /datum/element/art/proc/appraise(atom/source, mob/user) - to_chat(user, "You start appraising [source]...") + to_chat(user, span_notice("You start appraising [source]...")) if(!do_after(user, 2 SECONDS, target = source)) return var/mult = 1 @@ -62,5 +62,5 @@ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "artbad", /datum/mood_event/artbad) msg = "Wow, [source.p_they()] sucks." - user.visible_message("[user] stops to inspect [source].", \ - "You appraise [source], inspecting the fine craftsmanship of the proletariat... [msg]") + user.visible_message(span_notice("[user] stops to inspect [source]."), \ + span_notice("You appraise [source], inspecting the fine craftsmanship of the proletariat... [msg]")) diff --git a/code/datums/elements/bed_tucking.dm b/code/datums/elements/bed_tucking.dm index 10135871a7a..c8b4822e4be 100644 --- a/code/datums/elements/bed_tucking.dm +++ b/code/datums/elements/bed_tucking.dm @@ -39,7 +39,7 @@ if(!tucker.transferItemToLoc(tucked, target_bed.drop_location())) return - to_chat(tucker, "You lay [tucked] out on [target_bed].") + to_chat(tucker, span_notice("You lay [tucked] out on [target_bed].")) tucked.pixel_x = x_offset tucked.pixel_y = y_offset if(rotation_degree) diff --git a/code/datums/elements/caltrop.dm b/code/datums/elements/caltrop.dm index f6071fef111..4d31ffc6ead 100644 --- a/code/datums/elements/caltrop.dm +++ b/code/datums/elements/caltrop.dm @@ -84,8 +84,8 @@ if(!(flags & CALTROP_SILENT) && !H.has_status_effect(/datum/status_effect/caltropped)) H.apply_status_effect(/datum/status_effect/caltropped) - H.visible_message("[H] steps on [caltrop].", \ - "You step on [caltrop]!") + H.visible_message(span_danger("[H] steps on [caltrop]."), \ + span_userdanger("You step on [caltrop]!")) H.apply_damage(damage, BRUTE, picked_def_zone, wound_bonus = CANT_WOUND) H.Paralyze(60) diff --git a/code/datums/elements/cleaning.dm b/code/datums/elements/cleaning.dm index 6845e9e1dec..b37ae8b7ce7 100644 --- a/code/datums/elements/cleaning.dm +++ b/code/datums/elements/cleaning.dm @@ -29,4 +29,4 @@ if(cleaned_human.body_position == LYING_DOWN) cleaned_human.wash(CLEAN_SCRUB) cleaned_human.regenerate_icons() - to_chat(cleaned_human, "[AM] cleans your face!") + to_chat(cleaned_human, span_danger("[AM] cleans your face!")) diff --git a/code/datums/elements/climbable.dm b/code/datums/elements/climbable.dm index 0d3b936c88d..7bdc037e38c 100644 --- a/code/datums/elements/climbable.dm +++ b/code/datums/elements/climbable.dm @@ -31,7 +31,7 @@ SIGNAL_HANDLER if(can_climb(source, user)) - examine_texts += "[source] looks climbable." + examine_texts += span_notice("[source] looks climbable.") /datum/element/climbable/proc/can_climb(atom/source, mob/user) return TRUE @@ -46,15 +46,15 @@ user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(climbed_thing) structure_climber.Paralyze(40) - structure_climber.visible_message("[structure_climber] is knocked off [climbed_thing].", "You're knocked off [climbed_thing]!", "You hear a cry from [structure_climber], followed by a slam.") + structure_climber.visible_message(span_warning("[structure_climber] is knocked off [climbed_thing]."), span_warning("You're knocked off [climbed_thing]!"), span_hear("You hear a cry from [structure_climber], followed by a slam.")) /datum/element/climbable/proc/climb_structure(atom/climbed_thing, mob/living/user) if(!can_climb(climbed_thing, user)) return climbed_thing.add_fingerprint(user) - user.visible_message("[user] starts climbing onto [climbed_thing].", \ - "You start climbing onto [climbed_thing]...") + user.visible_message(span_warning("[user] starts climbing onto [climbed_thing]."), \ + span_notice("You start climbing onto [climbed_thing]...")) var/adjusted_climb_time = climb_time var/adjusted_climb_stun = climb_stun if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //climbing takes twice as long without help from the hands. @@ -69,13 +69,13 @@ if(QDELETED(climbed_thing)) //Checking if structure has been destroyed return if(do_climb(climbed_thing, user)) - user.visible_message("[user] climbs onto [climbed_thing].", \ - "You climb onto [climbed_thing].") + user.visible_message(span_warning("[user] climbs onto [climbed_thing]."), \ + span_notice("You climb onto [climbed_thing].")) log_combat(user, climbed_thing, "climbed onto") if(adjusted_climb_stun) user.Stun(adjusted_climb_stun) else - to_chat(user, "You fail to climb onto [climbed_thing].") + to_chat(user, span_warning("You fail to climb onto [climbed_thing].")) LAZYREMOVEASSOC(current_climbers, climbed_thing, user) diff --git a/code/datums/elements/curse_announcement.dm b/code/datums/elements/curse_announcement.dm index ee9db67ddcd..6462cf5ce50 100644 --- a/code/datums/elements/curse_announcement.dm +++ b/code/datums/elements/curse_announcement.dm @@ -53,7 +53,7 @@ cursed_item.name = replacetext(cursed_item.name, quality_suffix_text,"") //modifications to the item so it looks cursed - to_chat(cursed, "[announcement_message]") + to_chat(cursed, span_userdanger("[announcement_message]")) cursed_item.add_filter("cursed_item", 9, list("type" = "outline", "color" = filter_color, "size" = 1)) cursed_item.name = "[cursed_item][new_name]" diff --git a/code/datums/elements/easily_fragmented.dm b/code/datums/elements/easily_fragmented.dm index 70c5a8e8568..b1a7ff66fed 100644 --- a/code/datums/elements/easily_fragmented.dm +++ b/code/datums/elements/easily_fragmented.dm @@ -28,5 +28,5 @@ var/obj/item/item = source if(prob(break_chance)) - user.visible_message("[user]'s [item.name] snap[item.p_s()] into tiny pieces in [user.p_their()] hand.") + user.visible_message(span_danger("[user]'s [item.name] snap[item.p_s()] into tiny pieces in [user.p_their()] hand.")) item.deconstruct(disassembled = FALSE) diff --git a/code/datums/elements/embed.dm b/code/datums/elements/embed.dm index d05e17db986..f667d04938d 100644 --- a/code/datums/elements/embed.dm +++ b/code/datums/elements/embed.dm @@ -93,7 +93,7 @@ var/pen_mod = -(armor * penetrative_behaviour) // if our shrapnel is weak into armor, then we restore our armor to the full value. actual_chance += pen_mod // doing the armor pen as a separate calc just in case this ever gets expanded on if(actual_chance <= 0) - victim.visible_message("[weapon] bounces off [victim]'s armor, unable to embed!", "[weapon] bounces off your armor, unable to embed!", vision_distance = COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[weapon] bounces off [victim]'s armor, unable to embed!"), span_notice("[weapon] bounces off your armor, unable to embed!"), vision_distance = COMBAT_MESSAGE_RANGE) return if(!prob(actual_chance)) diff --git a/code/datums/elements/eyestab.dm b/code/datums/elements/eyestab.dm index b74b3687c58..b7d73867ea8 100644 --- a/code/datums/elements/eyestab.dm +++ b/code/datums/elements/eyestab.dm @@ -43,15 +43,15 @@ return if (target.is_eyes_covered()) - to_chat(user, "You failed to stab [target.p_their()] eyes, you need to remove [target.p_their()] eye protection first!") + to_chat(user, span_warning("You failed to stab [target.p_their()] eyes, you need to remove [target.p_their()] eye protection first!")) return if (isalien(target)) - to_chat(user, "You cannot locate any eyes on this creature!") + to_chat(user, span_warning("You cannot locate any eyes on this creature!")) return if (isbrain(target)) - to_chat(user, "You cannot locate any organic eyes on this brain!") + to_chat(user, span_warning("You cannot locate any organic eyes on this brain!")) return item.add_fingerprint(user) @@ -62,13 +62,13 @@ if (target == user) user.visible_message( - "[user] stabs [user.p_them()]self in the eyes with [item]!", - "You stab yourself in the eyes with [item]!", + span_danger("[user] stabs [user.p_them()]self in the eyes with [item]!"), + span_userdanger("You stab yourself in the eyes with [item]!"), ) else target.visible_message( - "[user] stabs [target] in the eye with [item]!", - "[user] stabs you in the eye with [item]!", + span_danger("[user] stabs [target] in the eye with [item]!"), + span_userdanger("[user] stabs you in the eye with [item]!"), ) if (target_limb) @@ -92,23 +92,23 @@ target.adjust_blurriness(15) if (target.stat != DEAD) - to_chat(target, "Your eyes start to bleed profusely!") + to_chat(target, span_danger("Your eyes start to bleed profusely!")) if (!target.is_blind() && !HAS_TRAIT(target, TRAIT_NEARSIGHT)) - to_chat(target, "You become nearsighted!") + to_chat(target, span_danger("You become nearsighted!")) target.become_nearsighted(EYE_DAMAGE) if (prob(50)) if (target.stat != DEAD && target.drop_all_held_items()) - to_chat(target, "You drop what you're holding and clutch at your eyes!") + to_chat(target, span_danger("You drop what you're holding and clutch at your eyes!")) target.adjust_blurriness(10) target.Unconscious(20) target.Paralyze(40) if (prob(eyes.damage - EYESTAB_BLEEDING_THRESHOLD + 1)) target.become_blind(EYE_DAMAGE) - to_chat(target, "You go blind!") + to_chat(target, span_danger("You go blind!")) #undef CLUMSY_ATTACK_SELF_CHANCE #undef EYESTAB_BLEEDING_THRESHOLD diff --git a/code/datums/elements/food/dunkable.dm b/code/datums/elements/food/dunkable.dm index 4b978f5065a..4a515eaa215 100644 --- a/code/datums/elements/food/dunkable.dm +++ b/code/datums/elements/food/dunkable.dm @@ -24,13 +24,13 @@ var/obj/item/reagent_containers/container = target // the container we're trying to dunk into if(istype(container) && container.reagent_flags & DUNKABLE) // container should be a valid target for dunking if(!container.is_drainable()) - to_chat(user, "[container] is unable to be dunked in!") + to_chat(user, span_warning("[container] is unable to be dunked in!")) return var/obj/item/I = source // the item that has the dunkable element if(container.reagents.trans_to(I, dunk_amount, transfered_by = user)) //if reagents were transfered, show the message - to_chat(user, "You dunk \the [I] into \the [container].") + to_chat(user, span_notice("You dunk \the [I] into \the [container].")) return if(!container.reagents.total_volume) - to_chat(user, "[container] is empty!") + to_chat(user, span_warning("[container] is empty!")) else - to_chat(user, "[I] is full!") + to_chat(user, span_warning("[I] is full!")) diff --git a/code/datums/elements/food/food_trash.dm b/code/datums/elements/food/food_trash.dm index a2fedbbcaf4..39c1c8c8626 100644 --- a/code/datums/elements/food/food_trash.dm +++ b/code/datums/elements/food/food_trash.dm @@ -57,7 +57,7 @@ playsound(source, 'sound/effects/chipbagpop.ogg', 100) - popper.visible_message("[popper] steps on \the [source], popping the bag!", "You step on \the [source], popping the bag!", "You hear a sharp crack!", COMBAT_MESSAGE_RANGE) + popper.visible_message(span_danger("[popper] steps on \the [source], popping the bag!"), span_danger("You step on \the [source], popping the bag!"), span_danger("You hear a sharp crack!"), COMBAT_MESSAGE_RANGE) INVOKE_ASYNC(src, .proc/async_generate_trash, source) qdel(source) @@ -65,7 +65,7 @@ /datum/element/food_trash/proc/open_trash(datum/source, mob/user) SIGNAL_HANDLER - to_chat(user, "You open the [source], revealing \a [initial(trash.name)].") + to_chat(user, span_notice("You open the [source], revealing \a [initial(trash.name)].")) INVOKE_ASYNC(src, .proc/async_generate_trash, source) qdel(source) diff --git a/code/datums/elements/food/processable.dm b/code/datums/elements/food/processable.dm index 8fdc48e6055..c421acc3393 100644 --- a/code/datums/elements/food/processable.dm +++ b/code/datums/elements/food/processable.dm @@ -38,6 +38,6 @@ SIGNAL_HANDLER if(amount_created > 1) - examine_list += "It can be turned into [amount_created] [initial(result_atom_type.name)]s with [tool_behaviour_name(tool_behaviour)]!" + examine_list += span_notice("It can be turned into [amount_created] [initial(result_atom_type.name)]s with [tool_behaviour_name(tool_behaviour)]!") else - examine_list += "It can be turned into \a [initial(result_atom_type.name)] with [tool_behaviour_name(tool_behaviour)]!" + examine_list += span_notice("It can be turned into \a [initial(result_atom_type.name)] with [tool_behaviour_name(tool_behaviour)]!") diff --git a/code/datums/elements/kneejerk.dm b/code/datums/elements/kneejerk.dm index bc974147304..4b4eff75e3e 100644 --- a/code/datums/elements/kneejerk.dm +++ b/code/datums/elements/kneejerk.dm @@ -40,8 +40,8 @@ return user.do_attack_animation(target) - target.visible_message("[user] gently taps [target]'s knee with [item].", \ - "[user] taps your knee with [item].") + target.visible_message(span_warning("[user] gently taps [target]'s knee with [item]."), \ + span_userdanger("[user] taps your knee with [item].")) if(target.stat == DEAD) //dead men have no reflexes! return @@ -53,17 +53,17 @@ if(target_brain_damage < BRAIN_DAMAGE_MILD) //a healthy brain produces a normal reaction playsound(target, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - target.visible_message("[target]'s leg kicks out sharply!", \ - "Your leg kicks out sharply!") + target.visible_message(span_danger("[target]'s leg kicks out sharply!"), \ + span_danger("Your leg kicks out sharply!")) else if(target_brain_damage < BRAIN_DAMAGE_SEVERE) //a mildly damaged brain produces a delayed reaction playsound(target, 'sound/weapons/punchmiss.ogg', 15, TRUE, -1) - target.visible_message("After a moment, [target]'s leg kicks out sharply!", \ - "After a moment, your leg kicks out sharply!") + target.visible_message(span_danger("After a moment, [target]'s leg kicks out sharply!"), \ + span_danger("After a moment, your leg kicks out sharply!")) else if(target_brain_damage < BRAIN_DAMAGE_DEATH) //a severely damaged brain produces a delayed + weaker reaction playsound(target, 'sound/weapons/punchmiss.ogg', 5, TRUE, -1) - target.visible_message("After a moment, [target]'s leg kicks out weakly!", \ - "After a moment, your leg kicks out weakly!") + target.visible_message(span_danger("After a moment, [target]'s leg kicks out weakly!"), \ + span_danger("After a moment, your leg kicks out weakly!")) return diff --git a/code/datums/elements/light_eaten.dm b/code/datums/elements/light_eaten.dm index 8e6a70662b9..3183fef1efd 100644 --- a/code/datums/elements/light_eaten.dm +++ b/code/datums/elements/light_eaten.dm @@ -63,10 +63,10 @@ /// Signal handler for light eater flavortext /datum/element/light_eaten/proc/on_examine(atom/eaten_light, mob/examiner, list/examine_text) SIGNAL_HANDLER - examine_text += "It's dark and empty..." + examine_text += span_warning("It's dark and empty...") if(isliving(examiner) && prob(20)) var/mob/living/target = examiner - examine_text += "You can feel something in [eaten_light.p_them()] gnash at your eyes!" + examine_text += span_danger("You can feel something in [eaten_light.p_them()] gnash at your eyes!") target.blind_eyes(5) target.blur_eyes(10) return NONE diff --git a/code/datums/elements/light_eater.dm b/code/datums/elements/light_eater.dm index 236a7ce961c..026258122a7 100644 --- a/code/datums/elements/light_eater.dm +++ b/code/datums/elements/light_eater.dm @@ -52,9 +52,9 @@ return food.visible_message( - "Something dark in [eater] lashes out at [food] and [food.p_their()] light goes out in an instant!", - "You feel something dark in [eater] lash out and gnaw through your light in an instant! It recedes just as fast, but you can feel that [eater.p_theyve()] left something hungry behind.", - "You feel a gnawing pulse eat at your sight." + span_danger("Something dark in [eater] lashes out at [food] and [food.p_their()] light goes out in an instant!"), + span_userdanger("You feel something dark in [eater] lash out and gnaw through your light in an instant! It recedes just as fast, but you can feel that [eater.p_theyve()] left something hungry behind."), + span_danger("You feel a gnawing pulse eat at your sight.") ) /** diff --git a/code/datums/elements/ridable.dm b/code/datums/elements/ridable.dm index faeb6172164..3bc31b14494 100644 --- a/code/datums/elements/ridable.dm +++ b/code/datums/elements/ridable.dm @@ -51,13 +51,13 @@ ride_check_flags |= RIDER_NEEDS_ARMS if(arms_needed && !equip_buckle_inhands(potential_rider, arms_needed, target_movable)) // can be either 1 (cyborg riding) or 2 (human piggybacking) hands - potential_rider.visible_message("[potential_rider] can't get a grip on [target_movable] because [potential_rider.p_their()] hands are full!", - "You can't get a grip on [target_movable] because your hands are full!") + potential_rider.visible_message(span_warning("[potential_rider] can't get a grip on [target_movable] because [potential_rider.p_their()] hands are full!"), + span_warning("You can't get a grip on [target_movable] because your hands are full!")) return COMPONENT_BLOCK_BUCKLE if((ride_check_flags & RIDER_NEEDS_LEGS) && HAS_TRAIT(potential_rider, TRAIT_FLOORED)) - potential_rider.visible_message("[potential_rider] can't get [potential_rider.p_their()] footing on [target_movable]!", - "You can't get your footing on [target_movable]!") + potential_rider.visible_message(span_warning("[potential_rider] can't get [potential_rider.p_their()] footing on [target_movable]!"), + span_warning("You can't get your footing on [target_movable]!")) return COMPONENT_BLOCK_BUCKLE var/mob/living/target_living = target_movable @@ -65,8 +65,8 @@ // need to see if !equip_buckle_inhands() checks are enough to skip any needed incapac/restrain checks // CARRIER_NEEDS_ARM shouldn't apply if the ridden isn't even a living mob if((ride_check_flags & CARRIER_NEEDS_ARM) && !equip_buckle_inhands(target_living, 1, target_living, potential_rider)) // hardcode 1 hand for now - target_living.visible_message("[target_living] can't get a grip on [potential_rider] because [target_living.p_their()] hands are full!", - "You can't get a grip on [potential_rider] because your hands are full!") + target_living.visible_message(span_warning("[target_living] can't get a grip on [potential_rider] because [target_living.p_their()] hands are full!"), + span_warning("You can't get a grip on [potential_rider] because your hands are full!")) return COMPONENT_BLOCK_BUCKLE target_living.AddComponent(riding_component_type, potential_rider, force, ride_check_flags, potion_boost = potion_boosted) @@ -114,10 +114,10 @@ if(!istype(speed_potion)) return if(potion_boosted) - to_chat(user, "[ridable_atom] has already been coated with red, that's as fast as it'll go!") + to_chat(user, span_warning("[ridable_atom] has already been coated with red, that's as fast as it'll go!")) return if(ridable_atom.has_buckled_mobs()) // effect won't take place til the next time someone mounts it, so just prevent that situation - to_chat(user, "It's too dangerous to smear [speed_potion] on [ridable_atom] while it's being ridden!") + to_chat(user, span_warning("It's too dangerous to smear [speed_potion] on [ridable_atom] while it's being ridden!")) return var/speed_limit = round(CONFIG_GET(number/movedelay/run_delay) * 0.85, 0.01) @@ -125,12 +125,12 @@ var/theoretical_speed = initial(theoretical_riding_component.vehicle_move_delay) if(theoretical_speed <= speed_limit) // i say speed but this is actually move delay, so you have to be ABOVE the speed limit to pass - to_chat(user, "[ridable_atom] can't be made any faster!") + to_chat(user, span_warning("[ridable_atom] can't be made any faster!")) return Detach(ridable_atom) ridable_atom.AddElement(/datum/element/ridable, component_type = riding_component_type, potion_boost = TRUE) - to_chat(user, "You slather the red gunk over [ridable_atom], making it faster.") + to_chat(user, span_notice("You slather the red gunk over [ridable_atom], making it faster.")) ridable_atom.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) ridable_atom.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY) qdel(speed_potion) @@ -184,6 +184,6 @@ return //Piggyback user. user.unbuckle_mob(rider) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You gently let go of [rider].") + to_chat(user, span_notice("You gently let go of [rider].")) return return rider diff --git a/code/datums/elements/selfknockback.dm b/code/datums/elements/selfknockback.dm index 3c41161e941..e5287ca0482 100644 --- a/code/datums/elements/selfknockback.dm +++ b/code/datums/elements/selfknockback.dm @@ -48,7 +48,7 @@ clamping the Knockback_Force value below. */ var/target_angle = Get_Angle(attacktarget, usertarget) var/move_target = get_ranged_target_turf(usertarget, angle2dir(target_angle), knockback_force) usertarget.throw_at(move_target, knockback_force, knockback_speed) - usertarget.visible_message("[usertarget] gets thrown back by the force of \the [I] impacting \the [attacktarget]!", "The force of \the [I] impacting \the [attacktarget] sends you flying!") + usertarget.visible_message(span_warning("[usertarget] gets thrown back by the force of \the [I] impacting \the [attacktarget]!"), span_warning("The force of \the [I] impacting \the [attacktarget] sends you flying!")) /datum/element/selfknockback/proc/Projectile_SelfKnockback(obj/projectile/P) SIGNAL_HANDLER diff --git a/code/datums/elements/skittish.dm b/code/datums/elements/skittish.dm index 25d3e8f71e3..22a155dc2ad 100644 --- a/code/datums/elements/skittish.dm +++ b/code/datums/elements/skittish.dm @@ -47,7 +47,7 @@ scooby.forceMove(closet_turf) if(!closet.close(scooby)) - to_chat(scooby, "You can't get [closet] to close!") + to_chat(scooby, span_warning("You can't get [closet] to close!")) if(closet.horizontal) scooby.set_resting(FALSE, silent = TRUE) return @@ -57,6 +57,6 @@ if(closet.horizontal) scooby.set_resting(FALSE, silent = TRUE) - closet_turf.visible_message("[scooby] dives into [closet]!") + closet_turf.visible_message(span_warning("[scooby] dives into [closet]!")) // If you run into a locker, you don't want to run out immediately scooby.Immobilize(0.5 SECONDS) diff --git a/code/datums/elements/squashable.dm b/code/datums/elements/squashable.dm index bfb9d331269..7a9614a3852 100644 --- a/code/datums/elements/squashable.dm +++ b/code/datums/elements/squashable.dm @@ -50,19 +50,19 @@ var/mob/living/crossing_mob = crossing_movable if(crossing_mob.mob_size > MOB_SIZE_SMALL && !(crossing_mob.movement_type & FLYING)) if(HAS_TRAIT(crossing_mob, TRAIT_PACIFISM)) - crossing_mob.visible_message("[crossing_mob] carefully steps over [parent_as_living].", "You carefully step over [parent_as_living] to avoid hurting it.") + crossing_mob.visible_message(span_notice("[crossing_mob] carefully steps over [parent_as_living]."), span_notice("You carefully step over [parent_as_living] to avoid hurting it.")) return if(should_squash) - crossing_mob.visible_message("[crossing_mob] squashed [parent_as_living].", "You squashed [parent_as_living].") + crossing_mob.visible_message(span_notice("[crossing_mob] squashed [parent_as_living]."), span_notice("You squashed [parent_as_living].")) Squish(parent_as_living) else - parent_as_living.visible_message("[parent_as_living] avoids getting crushed.") + parent_as_living.visible_message(span_notice("[parent_as_living] avoids getting crushed.")) else if(isstructure(crossing_movable)) if(should_squash) - crossing_movable.visible_message("[parent_as_living] is crushed under [crossing_movable].") + crossing_movable.visible_message(span_notice("[parent_as_living] is crushed under [crossing_movable].")) Squish(parent_as_living) else - parent_as_living.visible_message("[parent_as_living] avoids getting crushed.") + parent_as_living.visible_message(span_notice("[parent_as_living] avoids getting crushed.")) /datum/component/squashable/proc/Squish(mob/living/target) if(squash_flags & SQUASHED_SHOULD_BE_GIBBED) diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index 49fbecbb6b6..8b3d78873f1 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -79,7 +79,7 @@ return FALSE if (HAS_TRAIT(equipping, TRAIT_NODROP)) - to_chat(user, "You can't put [equipping] on [source], it's stuck to your hand!") + to_chat(user, span_warning("You can't put [equipping] on [source], it's stuck to your hand!")) return FALSE return TRUE @@ -91,14 +91,14 @@ var/obj/item/clothing/clothing = source if(clothing.clothing_flags & DANGEROUS_OBJECT) source.visible_message( - "[user] tries to put [equipping] on [source].", - "[user] tries to put [equipping] on you.", + span_danger("[user] tries to put [equipping] on [source]."), + span_userdanger("[user] tries to put [equipping] on you."), ignored_mobs = user, ) else source.visible_message( - "[user] tries to put [equipping] on [source].", - "[user] tries to put [equipping] on you.", + span_notice("[user] tries to put [equipping] on [source]."), + span_notice("[user] tries to put [equipping] on you."), ignored_mobs = user, ) @@ -109,7 +109,7 @@ var/list/new_entry = list(list(user.name, "tried equipping you with [equipping]", world.time)) LAZYADD(victim_human.afk_thefts, new_entry) - to_chat(user, "You try to put [equipping] on [source]...") + to_chat(user, span_notice("You try to put [equipping] on [source]...")) var/log = "[key_name(source)] is having [equipping] put on them by [key_name(user)]" source.log_message(log, LOG_ATTACK, color="red") @@ -149,12 +149,12 @@ return FALSE source.visible_message( - "[user] tries to remove [source]'s [item].", - "[user] tries to remove your [item].", + span_warning("[user] tries to remove [source]'s [item]."), + span_userdanger("[user] tries to remove your [item]."), ignored_mobs = user, ) - to_chat(user, "You try to remove [source]'s [item]...") + to_chat(user, span_danger("You try to remove [source]'s [item]...")) source.log_message("[key_name(source)] is being stripped of [item] by [key_name(user)]", LOG_ATTACK, color="red") user.log_message("[key_name(source)] is being stripped of [item] by [key_name(user)]", LOG_ATTACK, color="red", log_globally=FALSE) item.add_fingerprint(src) @@ -222,7 +222,7 @@ disable_warning = TRUE, bypass_equip_delay_self = TRUE, )) - to_chat(user, "\The [equipping] doesn't fit in that place!") + to_chat(user, span_warning("\The [equipping] doesn't fit in that place!")) return FALSE return TRUE diff --git a/code/datums/elements/weapon_description.dm b/code/datums/elements/weapon_description.dm index 194f969986f..0314e2a8d52 100644 --- a/code/datums/elements/weapon_description.dm +++ b/code/datums/elements/weapon_description.dm @@ -43,7 +43,7 @@ SIGNAL_HANDLER if(item.force >= 5 || item.throwforce >= 5 || item.override_notes || item.offensive_notes) /// Only show this tag for items that could feasibly be weapons, shields, or those that have special notes - examine_texts += "It appears to have an ever-updating bluespace warning label." + examine_texts += span_notice("It appears to have an ever-updating bluespace warning label.") /** * @@ -61,7 +61,7 @@ SIGNAL_HANDLER if(href_list["examine"]) - to_chat(user, "[build_label_text(source)]") + to_chat(user, span_notice("[build_label_text(source)]")) /** * @@ -76,22 +76,22 @@ var/list/readout = list("") // Readout is used to store the text block output to the user so it all can be sent in one message // Meaningless flavor text. The number of crimes is constantly changing because of the complex Nanotrasen legal system and the esoteric nature of time itself! - readout += "WARNING: This item has been marked as dangerous by the NT legal team because of its use in [rand(2,99)] [crimes[rand(1, crimes.len)]] in the past hour.\n" + readout += "[span_warning("WARNING:")] This item has been marked as dangerous by the NT legal team because of its use in [span_warning("[rand(2,99)] [crimes[rand(1, crimes.len)]]")] in the past hour.\n" // Doesn't show the base notes for items that have the override notes variable set to true if(!source.override_notes) // Make sure not to divide by 0 on accident if(source.force > 0) - readout += "Our extensive research has shown that it takes a mere [round((100 / source.force), 0.1)] hit\s to beat down [victims[rand(1, victims.len)]] with no armor." + readout += "Our extensive research has shown that it takes a mere [span_warning("[round((100 / source.force), 0.1)]")] hit\s to beat down [victims[rand(1, victims.len)]] with no armor." else readout += "Our extensive research found that you couldn't beat anyone to death with this if you tried." if(source.throwforce > 0) - readout += "If you decide to throw this object instead, one will take [round((100 / source.throwforce), 0.1)] hit\s before collapsing." + readout += "If you decide to throw this object instead, one will take [span_warning("[round((100 / source.throwforce), 0.1)]")] hit\s before collapsing." else readout += "If you decide to throw this object instead, then you will have trouble damaging anything." if(source.armour_penetration > 0 || source.block_chance > 0) - readout += "This item has proven itself [weapon_tag_convert(source.armour_penetration)] of piercing armor and [weapon_tag_convert(source.block_chance)] of blocking attacks." + readout += "This item has proven itself [span_warning("[weapon_tag_convert(source.armour_penetration)]")] of piercing armor and [span_warning("[weapon_tag_convert(source.block_chance)]")] of blocking attacks." // Custom manual notes if(source.offensive_notes) readout += source.offensive_notes diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 9dc8b320400..d0d96d37b01 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -140,7 +140,7 @@ if(user.emotes_used && user.emotes_used[src] + cooldown > world.time) var/datum/emote/default_emote = /datum/emote if(cooldown > initial(default_emote.cooldown)) // only worry about longer-than-normal emotes - to_chat(user, "You must wait another [DisplayTimeText(user.emotes_used[src] - world.time + cooldown)] before using that emote.") + to_chat(user, span_danger("You must wait another [DisplayTimeText(user.emotes_used[src] - world.time + cooldown)] before using that emote.")) return FALSE if(!user.emotes_used) user.emotes_used = list() @@ -242,16 +242,16 @@ return FALSE switch(user.stat) if(SOFT_CRIT) - to_chat(user, "You cannot [key] while in a critical condition!") + to_chat(user, span_warning("You cannot [key] while in a critical condition!")) if(UNCONSCIOUS, HARD_CRIT) - to_chat(user, "You cannot [key] while unconscious!") + to_chat(user, span_warning("You cannot [key] while unconscious!")) if(DEAD) - to_chat(user, "You cannot [key] while dead!") + to_chat(user, span_warning("You cannot [key] while dead!")) return FALSE if(hands_use_check && HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) if(!intentional) return FALSE - to_chat(user, "You cannot use your hands to [key] right now!") + to_chat(user, span_warning("You cannot use your hands to [key] right now!")) return FALSE if(isliving(user)) diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 7ce4a74dfdc..3c8faa4b77f 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -38,7 +38,7 @@ precision = max(rand(1,100)*bagholding.len,100) if(isliving(teleatom)) var/mob/living/MM = teleatom - to_chat(MM, "The bluespace interface on your bag of holding interferes with the teleport!") + to_chat(MM, span_warning("The bluespace interface on your bag of holding interferes with the teleport!")) // if effects are not specified and not explicitly disabled, sparks if ((!effectin || !effectout) && !no_effects) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 40839dbf0b3..1702bafcaa6 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -253,10 +253,10 @@ record.caller_image = holodiskOriginal.record.caller_image record.entries = holodiskOriginal.record.entries.Copy() record.language = holodiskOriginal.record.language - to_chat(user, "You copy the record from [holodiskOriginal] to [src] by connecting the ports!") + to_chat(user, span_notice("You copy the record from [holodiskOriginal] to [src] by connecting the ports!")) name = holodiskOriginal.name else - to_chat(user, "[holodiskOriginal] has no record on it!") + to_chat(user, span_warning("[holodiskOriginal] has no record on it!")) ..() /obj/item/disk/holodisk/proc/build_record() diff --git a/code/datums/keybinding/mob.dm b/code/datums/keybinding/mob.dm index 48431198359..eb4fa2f31c3 100644 --- a/code/datums/keybinding/mob.dm +++ b/code/datums/keybinding/mob.dm @@ -15,7 +15,7 @@ return var/mob/M = user.mob if(!M.pulling) - to_chat(user, "You are not pulling anything.") + to_chat(user, span_notice("You are not pulling anything.")) else M.stop_pulling() return TRUE @@ -66,7 +66,7 @@ var/mob/M = user.mob var/obj/item/I = M.get_active_held_item() if(!I) - to_chat(user, "You have nothing to drop in your hand!") + to_chat(user, span_warning("You have nothing to drop in your hand!")) else user.mob.dropItemToGround(I) return TRUE diff --git a/code/datums/mapgen/CaveGenerator.dm b/code/datums/mapgen/CaveGenerator.dm index 26e14eb004b..7aa8a6f51e8 100644 --- a/code/datums/mapgen/CaveGenerator.dm +++ b/code/datums/mapgen/CaveGenerator.dm @@ -140,5 +140,5 @@ CHECK_TICK var/message = "[name] finished in [(REALTIMEOFDAY - start_time)/10]s!" - to_chat(world, "[message]") + to_chat(world, span_boldannounce("[message]")) log_world(message) diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 0fc7de1d8d5..186313c3c26 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -3,11 +3,11 @@ id = MARTIALART_BOXING /datum/martial_art/boxing/disarm_act(mob/living/A, mob/living/D) - to_chat(A, "Can't disarm while boxing!") + to_chat(A, span_warning("Can't disarm while boxing!")) return TRUE /datum/martial_art/boxing/grab_act(mob/living/A, mob/living/D) - to_chat(A, "Can't grab while boxing!") + to_chat(A, span_warning("Can't grab while boxing!")) return TRUE /datum/martial_art/boxing/harm_act(mob/living/A, mob/living/D) @@ -22,9 +22,9 @@ var/damage = rand(5, 8) + species.punchdamagelow if(!damage) playsound(D.loc, species.miss_sound, 25, TRUE, -1) - D.visible_message("[A]'s [atk_verb] misses [D]!", \ - "You avoid [A]'s [atk_verb]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "Your [atk_verb] misses [D]!") + D.visible_message(span_warning("[A]'s [atk_verb] misses [D]!"), \ + span_danger("You avoid [A]'s [atk_verb]!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_warning("Your [atk_verb] misses [D]!")) log_combat(A, D, "attempted to hit", atk_verb) return FALSE @@ -34,18 +34,18 @@ playsound(D.loc, species.attack_sound, 25, TRUE, -1) - D.visible_message("[A] [atk_verb]ed [D]!", \ - "You're [atk_verb]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You [atk_verb]ed [D]!") + D.visible_message(span_danger("[A] [atk_verb]ed [D]!"), \ + span_userdanger("You're [atk_verb]ed by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You [atk_verb]ed [D]!")) D.apply_damage(damage, STAMINA, affecting, armor_block) log_combat(A, D, "punched (boxing) ") if(D.getStaminaLoss() > 50 && istype(D.mind?.martial_art, /datum/martial_art/boxing)) var/knockout_prob = D.getStaminaLoss() + rand(-15,15) if((D.stat != DEAD) && prob(knockout_prob)) - D.visible_message("[A] knocks [D] out with a haymaker!", \ - "You're knocked unconscious by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You knock [D] out with a haymaker!") + D.visible_message(span_danger("[A] knocks [D] out with a haymaker!"), \ + span_userdanger("You're knocked unconscious by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You knock [D] out with a haymaker!")) D.apply_effect(200,EFFECT_KNOCKDOWN,armor_block) D.SetSleeping(100) log_combat(A, D, "knocked out (boxing) ") diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 744a411b25b..8345ea93407 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -46,9 +46,9 @@ if(!can_use(A)) return FALSE if(D.body_position == STANDING_UP) - D.visible_message("[A] slams [D] into the ground!", \ - "You're slammed into the ground by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You slam [D] into the ground!") + D.visible_message(span_danger("[A] slams [D] into the ground!"), \ + span_userdanger("You're slammed into the ground by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You slam [D] into the ground!")) playsound(get_turf(A), 'sound/weapons/slam.ogg', 50, TRUE, -1) D.apply_damage(10, BRUTE) D.Paralyze(120) @@ -59,9 +59,9 @@ if(!can_use(A)) return FALSE if(!D.stat || !D.IsParalyzed()) - D.visible_message("[A] kicks [D] back!", \ - "You're kicked back by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You kick [D] back!") + D.visible_message(span_danger("[A] kicks [D] back!"), \ + span_userdanger("You're kicked back by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You kick [D] back!")) playsound(get_turf(A), 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(D, A.dir) D.throw_at(throw_target, 1, 14, A) @@ -69,9 +69,9 @@ log_combat(A, D, "kicked (CQC)") if(D.IsParalyzed() && !D.stat) log_combat(A, D, "knocked out (Head kick)(CQC)") - D.visible_message("[A] kicks [D]'s head, knocking [D.p_them()] out!", \ - "You're knocked unconscious by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You kick [D]'s head, knocking [D.p_them()] out!") + D.visible_message(span_danger("[A] kicks [D]'s head, knocking [D.p_them()] out!"), \ + span_userdanger("You're knocked unconscious by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You kick [D]'s head, knocking [D.p_them()] out!")) playsound(get_turf(A), 'sound/weapons/genhit1.ogg', 50, TRUE, -1) D.SetSleeping(300) D.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 150) @@ -81,9 +81,9 @@ if(!can_use(A)) return FALSE log_combat(A, D, "pressured (CQC)") - D.visible_message("[A] punches [D]'s neck!", \ - "Your neck is punched by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You punch [D]'s neck!") + D.visible_message(span_danger("[A] punches [D]'s neck!"), \ + span_userdanger("Your neck is punched by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You punch [D]'s neck!")) D.adjustStaminaLoss(60) playsound(get_turf(A), 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) return TRUE @@ -95,9 +95,9 @@ return FALSE if(!D.stat) log_combat(A, D, "restrained (CQC)") - D.visible_message("[A] locks [D] into a restraining position!", \ - "You're locked into a restraining position by [A]!", "You hear shuffling and a muffled groan!", null, A) - to_chat(A, "You lock [D] into a restraining position!") + D.visible_message(span_warning("[A] locks [D] into a restraining position!"), \ + span_userdanger("You're locked into a restraining position by [A]!"), span_hear("You hear shuffling and a muffled groan!"), null, A) + to_chat(A, span_danger("You lock [D] into a restraining position!")) D.adjustStaminaLoss(20) D.Stun(100) restraining = TRUE @@ -109,9 +109,9 @@ return FALSE if(!D.stat) log_combat(A, D, "consecutive CQC'd (CQC)") - D.visible_message("[A] strikes [D]'s abdomen, neck and back consecutively", \ - "Your abdomen, neck and back are struck consecutively by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You strike [D]'s abdomen, neck and back consecutively!") + D.visible_message(span_danger("[A] strikes [D]'s abdomen, neck and back consecutively"), \ + span_userdanger("Your abdomen, neck and back are struck consecutively by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You strike [D]'s abdomen, neck and back consecutively!")) playsound(get_turf(D), 'sound/weapons/cqchit2.ogg', 50, TRUE, -1) var/obj/item/I = D.get_active_held_item() if(I && D.temporarilyRemoveItemFromInventory(I)) @@ -131,9 +131,9 @@ D.drop_all_held_items() A.setGrabState(GRAB_AGGRESSIVE) //Instant agressive grab if on grab intent log_combat(A, D, "grabbed", addition="aggressively") - D.visible_message("[A] violently grabs [D]!", \ - "You're grabbed violently by [A]!", "You hear sounds of aggressive fondling!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You violently grab [D]!") + D.visible_message(span_warning("[A] violently grabs [D]!"), \ + span_userdanger("You're grabbed violently by [A]!"), span_hear("You hear sounds of aggressive fondling!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You violently grab [D]!")) return TRUE else return FALSE @@ -156,14 +156,14 @@ playsound(get_turf(D), 'sound/weapons/cqchit2.ogg', 50, TRUE, -1) else playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) - D.visible_message("[A] [picked_hit_type]ed [D]!", \ - "You're [picked_hit_type]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You [picked_hit_type] [D]!") + D.visible_message(span_danger("[A] [picked_hit_type]ed [D]!"), \ + span_userdanger("You're [picked_hit_type]ed by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You [picked_hit_type] [D]!")) log_combat(A, D, "[picked_hit_type]s (CQC)") if(A.resting && !D.stat && !D.IsParalyzed()) - D.visible_message("[A] leg sweeps [D]!", \ - "Your legs are sweeped by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You leg sweep [D]!") + D.visible_message(span_danger("[A] leg sweeps [D]!"), \ + span_userdanger("Your legs are sweeped by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You leg sweep [D]!")) playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) D.apply_damage(10, BRUTE) D.Paralyze(60) @@ -180,25 +180,25 @@ if(prob(65)) if(!D.stat || !D.IsParalyzed() || !restraining) I = D.get_active_held_item() - D.visible_message("[A] strikes [D]'s jaw with their hand!", \ - "Your jaw is struck by [A], you feel disoriented!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You strike [D]'s jaw, leaving [D.p_them()] disoriented!") + D.visible_message(span_danger("[A] strikes [D]'s jaw with their hand!"), \ + span_userdanger("Your jaw is struck by [A], you feel disoriented!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You strike [D]'s jaw, leaving [D.p_them()] disoriented!")) playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 50, TRUE, -1) if(I && D.temporarilyRemoveItemFromInventory(I)) A.put_in_hands(I) D.Jitter(2) D.apply_damage(5, A.get_attack_type()) else - D.visible_message("[A] fails to disarm [D]!", \ - "You're nearly disarmed by [A]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You fail to disarm [D]!") + D.visible_message(span_danger("[A] fails to disarm [D]!"), \ + span_userdanger("You're nearly disarmed by [A]!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_warning("You fail to disarm [D]!")) playsound(D, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) log_combat(A, D, "disarmed (CQC)", "[I ? " grabbing \the [I]" : ""]") if(restraining && A.pulling == D) log_combat(A, D, "knocked out (Chokehold)(CQC)") - D.visible_message("[A] puts [D] into a chokehold!", \ - "You're put into a chokehold by [A]!", "You hear shuffling and a muffled groan!", null, A) - to_chat(A, "You put [D] into a chokehold!") + D.visible_message(span_danger("[A] puts [D] into a chokehold!"), \ + span_userdanger("You're put into a chokehold by [A]!"), span_hear("You hear shuffling and a muffled groan!"), null, A) + to_chat(A, span_danger("You put [D] into a chokehold!")) D.SetSleeping(400) restraining = FALSE if(A.grab_state < GRAB_NECK && !HAS_TRAIT(A, TRAIT_PACIFISM)) @@ -214,11 +214,11 @@ set category = "CQC" to_chat(usr, "You try to remember some of the basics of CQC.") - to_chat(usr, "Slam: Grab Harm. Slam opponent into the ground, knocking them down.") - to_chat(usr, "CQC Kick: Harm Harm. Knocks opponent away. Knocks out stunned or knocked down opponents.") - to_chat(usr, "Restrain: Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a chokehold.") - to_chat(usr, "Pressure: Disarm Grab. Decent stamina damage.") - to_chat(usr, "Consecutive CQC: Disarm Disarm Harm. Mainly offensive move, huge damage and decent stamina damage.") + to_chat(usr, "[span_notice("Slam")]: Grab Harm. Slam opponent into the ground, knocking them down.") + to_chat(usr, "[span_notice("CQC Kick")]: Harm Harm. Knocks opponent away. Knocks out stunned or knocked down opponents.") + to_chat(usr, "[span_notice("Restrain")]: Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a chokehold.") + to_chat(usr, "[span_notice("Pressure")]: Disarm Grab. Decent stamina damage.") + to_chat(usr, "[span_notice("Consecutive CQC")]: Disarm Disarm Harm. Mainly offensive move, huge damage and decent stamina damage.") to_chat(usr, "In addition, by having your throw mode on when being attacked, you enter an active defense mode where you have a chance to block and sometimes even counter attacks done to you.") diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index ff52857c168..b9c42600876 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -12,13 +12,13 @@ /datum/action/neck_chop/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't use [name] while you're incapacitated.") + to_chat(owner, span_warning("You can't use [name] while you're incapacitated.")) return if (owner.mind.martial_art.streak == "neck_chop") - owner.visible_message("[owner] assumes a neutral stance.", "Your next attack is cleared.") + owner.visible_message(span_danger("[owner] assumes a neutral stance."), "Your next attack is cleared.") owner.mind.martial_art.streak = "" else - owner.visible_message("[owner] assumes the Neck Chop stance!", "Your next attack will be a Neck Chop.") + owner.visible_message(span_danger("[owner] assumes the Neck Chop stance!"), "Your next attack will be a Neck Chop.") owner.mind.martial_art.streak = "neck_chop" /datum/action/leg_sweep @@ -28,13 +28,13 @@ /datum/action/leg_sweep/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't use [name] while you're incapacitated.") + to_chat(owner, span_warning("You can't use [name] while you're incapacitated.")) return if (owner.mind.martial_art.streak == "leg_sweep") - owner.visible_message("[owner] assumes a neutral stance.", "Your next attack is cleared.") + owner.visible_message(span_danger("[owner] assumes a neutral stance."), "Your next attack is cleared.") owner.mind.martial_art.streak = "" else - owner.visible_message("[owner] assumes the Leg Sweep stance!", "Your next attack will be a Leg Sweep.") + owner.visible_message(span_danger("[owner] assumes the Leg Sweep stance!"), "Your next attack will be a Leg Sweep.") owner.mind.martial_art.streak = "leg_sweep" /datum/action/lung_punch//referred to internally as 'quick choke' @@ -44,25 +44,25 @@ /datum/action/lung_punch/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't use [name] while you're incapacitated.") + to_chat(owner, span_warning("You can't use [name] while you're incapacitated.")) return if (owner.mind.martial_art.streak == "quick_choke") - owner.visible_message("[owner] assumes a neutral stance.", "Your next attack is cleared.") + owner.visible_message(span_danger("[owner] assumes a neutral stance."), "Your next attack is cleared.") owner.mind.martial_art.streak = "" else - owner.visible_message("[owner] assumes the Lung Punch stance!", "Your next attack will be a Lung Punch.") + owner.visible_message(span_danger("[owner] assumes the Lung Punch stance!"), "Your next attack will be a Lung Punch.") owner.mind.martial_art.streak = "quick_choke"//internal name for lung punch /datum/martial_art/krav_maga/teach(mob/living/owner, make_temporary=FALSE) if(..()) - to_chat(owner, "You know the arts of [name]!") - to_chat(owner, "Place your cursor over a move at the top of the screen to see what it does.") + to_chat(owner, span_userdanger("You know the arts of [name]!")) + to_chat(owner, span_danger("Place your cursor over a move at the top of the screen to see what it does.")) neckchop.Grant(owner) legsweep.Grant(owner) lungpunch.Grant(owner) /datum/martial_art/krav_maga/on_remove(mob/living/owner) - to_chat(owner, "You suddenly forget the arts of [name]...") + to_chat(owner, span_userdanger("You suddenly forget the arts of [name]...")) neckchop.Remove(owner) legsweep.Remove(owner) lungpunch.Remove(owner) @@ -88,9 +88,9 @@ return FALSE var/obj/item/bodypart/affecting = D.get_bodypart(BODY_ZONE_CHEST) var/armor_block = D.run_armor_check(affecting, MELEE) - D.visible_message("[A] leg sweeps [D]!", \ - "Your legs are sweeped by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You leg sweep [D]!") + D.visible_message(span_warning("[A] leg sweeps [D]!"), \ + span_userdanger("Your legs are sweeped by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You leg sweep [D]!")) playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) D.apply_damage(rand(20,30), STAMINA, affecting, armor_block) D.Knockdown(60) @@ -98,9 +98,9 @@ return TRUE /datum/martial_art/krav_maga/proc/quick_choke(mob/living/A, mob/living/D)//is actually lung punch - D.visible_message("[A] pounds [D] on the chest!", \ - "Your chest is slammed by [A]! You can't breathe!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You pound [D] on the chest!") + D.visible_message(span_warning("[A] pounds [D] on the chest!"), \ + span_userdanger("Your chest is slammed by [A]! You can't breathe!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You pound [D] on the chest!")) playsound(get_turf(A), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) if(D.losebreath <= 10) D.losebreath = clamp(D.losebreath + 5, 0, 10) @@ -109,9 +109,9 @@ return TRUE /datum/martial_art/krav_maga/proc/neck_chop(mob/living/A, mob/living/D) - D.visible_message("[A] karate chops [D]'s neck!", \ - "Your neck is karate chopped by [A], rendering you unable to speak!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You karate chop [D]'s neck, rendering [D.p_them()] unable to speak!") + D.visible_message(span_warning("[A] karate chops [D]'s neck!"), \ + span_userdanger("Your neck is karate chopped by [A], rendering you unable to speak!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You karate chop [D]'s neck, rendering [D.p_them()] unable to speak!")) playsound(get_turf(A), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) D.apply_damage(5, A.get_attack_type()) if (iscarbon(D)) @@ -145,9 +145,9 @@ else A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) playsound(get_turf(D), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) - D.visible_message("[A] [picked_hit_type]s [D]!", \ - "You're [picked_hit_type]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You [picked_hit_type] [D]!") + D.visible_message(span_danger("[A] [picked_hit_type]s [D]!"), \ + span_userdanger("You're [picked_hit_type]ed by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You [picked_hit_type] [D]!")) log_combat(A, D, "[picked_hit_type] with [name]") return TRUE @@ -157,23 +157,23 @@ var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) var/armor_block = D.run_armor_check(affecting, MELEE) if(D.body_position == STANDING_UP) - D.visible_message("[A] reprimands [D]!", \ - "You're slapped by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You jab [D]!") + D.visible_message(span_danger("[A] reprimands [D]!"), \ + span_userdanger("You're slapped by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You jab [D]!")) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) playsound(D, 'sound/effects/hit_punch.ogg', 50, TRUE, -1) D.apply_damage(rand(5,10), STAMINA, affecting, armor_block) log_combat(A, D, "punched nonlethally") if(D.body_position == LYING_DOWN) - D.visible_message("[A] reprimands [D]!", \ - "You're manhandled by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You stomp [D]!") + D.visible_message(span_danger("[A] reprimands [D]!"), \ + span_userdanger("You're manhandled by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You stomp [D]!")) A.do_attack_animation(D, ATTACK_EFFECT_KICK) playsound(D, 'sound/effects/hit_punch.ogg', 50, TRUE, -1) D.apply_damage(rand(10,15), STAMINA, affecting, armor_block) log_combat(A, D, "stomped nonlethally") if(prob(D.getStaminaLoss())) - D.visible_message("[D] sputters and recoils in pain!", "You recoil in pain as you are jabbed in a nerve!") + D.visible_message(span_warning("[D] sputters and recoils in pain!"), span_userdanger("You recoil in pain as you are jabbed in a nerve!")) D.drop_all_held_items() return TRUE diff --git a/code/datums/martial/mushpunch.dm b/code/datums/martial/mushpunch.dm index e1c9732b95d..2a9daf050a3 100644 --- a/code/datums/martial/mushpunch.dm +++ b/code/datums/martial/mushpunch.dm @@ -4,15 +4,15 @@ /datum/martial_art/mushpunch/harm_act(mob/living/A, mob/living/D) var/atk_verb - to_chat(A, "You begin to wind up an attack...") + to_chat(A, span_spider("You begin to wind up an attack...")) if(!do_after(A, 25, target = D)) - to_chat(A, "Your attack was interrupted!") + to_chat(A, span_spider("Your attack was interrupted!")) return TRUE //martial art code was a mistake A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) atk_verb = pick("punch", "smash", "crack") - D.visible_message("[A] [atk_verb]ed [D] with such inhuman strength that it sends [D.p_them()] flying backwards!", \ - "You're [atk_verb]ed by [A] with such inhuman strength that it sends you flying backwards!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You [atk_verb] [D] with such inhuman strength that it sends [D.p_them()] flying backwards!") + D.visible_message(span_danger("[A] [atk_verb]ed [D] with such inhuman strength that it sends [D.p_them()] flying backwards!"), \ + span_userdanger("You're [atk_verb]ed by [A] with such inhuman strength that it sends you flying backwards!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You [atk_verb] [D] with such inhuman strength that it sends [D.p_them()] flying backwards!")) D.apply_damage(rand(15,30), A.get_attack_type()) playsound(D, 'sound/effects/meteorimpact.ogg', 25, TRUE, -1) var/throwtarget = get_edge_target_turf(A, get_dir(A, get_step_away(D, A))) @@ -31,10 +31,10 @@ /obj/item/mushpunch/attack_self(mob/living/user) if(!istype(user) || !user) return - var/message = "You devour [src], and a confluence of skill and power from the mushroom enhances your punches! You do need a short moment to charge these powerful punches." + var/message = span_spider("You devour [src], and a confluence of skill and power from the mushroom enhances your punches! You do need a short moment to charge these powerful punches.") to_chat(user, message) var/datum/martial_art/mushpunch/mush = new(null) mush.teach(user) qdel(src) - visible_message("[user] devours [src].", \ - "You devour [src].") + visible_message(span_warning("[user] devours [src]."), \ + span_notice("You devour [src].")) diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index 71799e7f0fa..5cbef0b4e55 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -43,9 +43,9 @@ return /datum/martial_art/plasma_fist/proc/Throwback(mob/living/A, mob/living/D) - D.visible_message("[A] hits [D] with Plasma Punch!", \ - "You're hit with a Plasma Punch by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You hit [D] with Plasma Punch!") + D.visible_message(span_danger("[A] hits [D] with Plasma Punch!"), \ + span_userdanger("You're hit with a Plasma Punch by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You hit [D] with Plasma Punch!")) playsound(D.loc, 'sound/weapons/punch1.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(D, get_dir(D, get_step_away(D, A))) D.throw_at(throw_target, 200, 4,A) @@ -59,24 +59,24 @@ A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) playsound(D.loc, 'sound/weapons/punch1.ogg', 50, TRUE, -1) A.say("PLASMA FIST!", forced="plasma fist") - D.visible_message("[A] hits [D] with THE PLASMA FIST TECHNIQUE!", \ - "You're suddenly hit with THE PLASMA FIST TECHNIQUE by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You hit [D] with THE PLASMA FIST TECHNIQUE!") + D.visible_message(span_danger("[A] hits [D] with THE PLASMA FIST TECHNIQUE!"), \ + span_userdanger("You're suddenly hit with THE PLASMA FIST TECHNIQUE by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You hit [D] with THE PLASMA FIST TECHNIQUE!")) log_combat(A, D, "gibbed (Plasma Fist)") var/turf/Dturf = get_turf(D) D.gib() if(nobomb) return if(!hasclient) - to_chat(A, "Taking this plasma energy for your Apotheosis would bring dishonor to the clan!") + to_chat(A, span_warning("Taking this plasma energy for your [span_notice("Apotheosis")] would bring dishonor to the clan!")) new /obj/effect/temp_visual/plasma_soul(Dturf)//doesn't beam to you, so it just hangs around and poofs. return else if(plasma_power >= plasma_cap) - to_chat(A, "You cannot power up your Apotheosis any more!") + to_chat(A, span_warning("You cannot power up your [span_notice("Apotheosis")] any more!")) new /obj/effect/temp_visual/plasma_soul(Dturf)//doesn't beam to you, so it just hangs around and poofs. else plasma_power += plasma_increment - to_chat(A, "Power increasing! Your Apotheosis is now at power level [plasma_power]!") + to_chat(A, span_nicegreen("Power increasing! Your [span_notice("Apotheosis")] is now at power level [plasma_power]!")) new /obj/effect/temp_visual/plasma_soul(Dturf, A) var/oldcolor = A.color A.color = "#9C00FF" @@ -101,7 +101,7 @@ log_combat(user, user, "triggered final plasma explosion with size [plasma_power], [plasma_power*2], [plasma_power*4] (Plasma Fist)") message_admins("[key_name_admin(user)] triggered final plasma explosion with size [plasma_power], [plasma_power*2], [plasma_power*4].") - to_chat(user, "The explosion knocks your soul out of your body!") + to_chat(user, span_userdanger("The explosion knocks your soul out of your body!")) user.ghostize(FALSE) //prevents... horrible memes just believe me user.apply_damage(rand(50,70), BRUTE) @@ -130,7 +130,7 @@ if(check_streak(A,D)) return TRUE if(A == D)//there is no disarming yourself, so we need to let plasma fist user know - to_chat(A, "You have added a disarm to your streak.") + to_chat(A, span_notice("You have added a disarm to your streak.")) return FALSE /datum/martial_art/plasma_fist/grab_act(mob/living/A, mob/living/D) @@ -146,11 +146,11 @@ var/datum/martial_art/plasma_fist/martial = usr.mind.martial_art to_chat(usr, "You clench your fists and have a flashback of knowledge...") - to_chat(usr, "Tornado Sweep: Harm Harm Disarm. Repulses opponent and everyone back.") - to_chat(usr, "Throwback: Disarm Harm Disarm. Throws the opponent and an item at them.") - to_chat(usr, "The Plasma Fist: Harm Disarm Disarm Disarm Harm. Instantly gibs an opponent.[martial.nobomb ? "" : " Each kill with this grows your Apotheosis explosion size."]") + to_chat(usr, "[span_notice("Tornado Sweep")]: Harm Harm Disarm. Repulses opponent and everyone back.") + to_chat(usr, "[span_notice("Throwback")]: Disarm Harm Disarm. Throws the opponent and an item at them.") + to_chat(usr, "[span_notice("The Plasma Fist")]: Harm Disarm Disarm Disarm Harm. Instantly gibs an opponent.[martial.nobomb ? "" : " Each kill with this grows your [span_notice("Apotheosis")] explosion size."]") if(!martial.nobomb) - to_chat(usr, "Apotheosis: Use The Plasma Fist on yourself. Sends you away in a glorious explosion.") + to_chat(usr, "[span_notice("Apotheosis")]: Use [span_notice("The Plasma Fist")] on yourself. Sends you away in a glorious explosion.") /obj/effect/temp_visual/plasma_soul @@ -171,7 +171,7 @@ /obj/effect/temp_visual/plasma_soul/Destroy() if(!beam_target) - visible_message("[src] fades away...") + visible_message(span_notice("[src] fades away...")) . = ..() /obj/effect/ebeam/plasma_fist diff --git a/code/datums/martial/psychotic_brawl.dm b/code/datums/martial/psychotic_brawl.dm index 8ff39fbb968..329144feebb 100644 --- a/code/datums/martial/psychotic_brawl.dm +++ b/code/datums/martial/psychotic_brawl.dm @@ -33,9 +33,9 @@ D.stop_pulling() if(grab_attack) log_combat(A, D, "grabbed", addition="aggressively") - D.visible_message("[A] violently grabs [D]!", \ - "You're violently grabbed by [A]!", "You hear sounds of aggressive fondling!", null, A) - to_chat(A, "You violently grab [D]!") + D.visible_message(span_warning("[A] violently grabs [D]!"), \ + span_userdanger("You're violently grabbed by [A]!"), span_hear("You hear sounds of aggressive fondling!"), null, A) + to_chat(A, span_danger("You violently grab [D]!")) A.setGrabState(GRAB_AGGRESSIVE) //Instant aggressive grab else log_combat(A, D, "grabbed", addition="passively") @@ -43,9 +43,9 @@ if(4) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) atk_verb = "headbutt" - D.visible_message("[A] [atk_verb]s [D]!", \ - "You're [atk_verb]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You [atk_verb] [D]!") + D.visible_message(span_danger("[A] [atk_verb]s [D]!"), \ + span_userdanger("You're [atk_verb]ed by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You [atk_verb] [D]!")) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 40, TRUE, -1) D.apply_damage(rand(5,10), A.get_attack_type(), BODY_ZONE_HEAD) A.apply_damage(rand(5,10), A.get_attack_type(), BODY_ZONE_HEAD) @@ -58,9 +58,9 @@ if(5,6) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) atk_verb = pick("kick", "hit", "slam") - D.visible_message("[A] [atk_verb]s [D] with such inhuman strength that it sends [D.p_them()] flying backwards!", \ - "You're [atk_verb]ed by [A] with such inhuman strength that it sends you flying backwards!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You [atk_verb] [D] with such inhuman strength that it sends [D.p_them()] flying backwards!") + D.visible_message(span_danger("[A] [atk_verb]s [D] with such inhuman strength that it sends [D.p_them()] flying backwards!"), \ + span_userdanger("You're [atk_verb]ed by [A] with such inhuman strength that it sends you flying backwards!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You [atk_verb] [D] with such inhuman strength that it sends [D.p_them()] flying backwards!")) D.apply_damage(rand(15,30), A.get_attack_type()) playsound(get_turf(D), 'sound/effects/meteorimpact.ogg', 25, TRUE, -1) var/throwtarget = get_edge_target_turf(A, get_dir(A, get_step_away(D, A))) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index e53723b3bcc..a21584faff7 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -30,9 +30,9 @@ var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("precisely kick", "brutally chop", "cleanly hit", "viciously slam") - D.visible_message("[A] [atk_verb]s [D]!", \ - "[A] [atk_verb]s you!", null, null, A) - to_chat(A, "You [atk_verb] [D]!") + D.visible_message(span_danger("[A] [atk_verb]s [D]!"), \ + span_userdanger("[A] [atk_verb]s you!"), null, null, A) + to_chat(A, span_danger("You [atk_verb] [D]!")) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) log_combat(A, D, "strong punched (Sleeping Carp)") D.apply_damage(20, A.get_attack_type(), affecting) @@ -41,8 +41,8 @@ ///Crashing Wave Kick: Harm Disarm combo, throws people seven tiles backwards /datum/martial_art/the_sleeping_carp/proc/launchKick(mob/living/A, mob/living/D) A.do_attack_animation(D, ATTACK_EFFECT_KICK) - D.visible_message("[A] kicks [D] square in the chest, sending them flying!", \ - "You are kicked square in the chest by [A], sending you flying!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + D.visible_message(span_warning("[A] kicks [D] square in the chest, sending them flying!"), \ + span_userdanger("You are kicked square in the chest by [A], sending you flying!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(D, A.dir) D.throw_at(throw_target, 7, 14, A) @@ -58,14 +58,14 @@ D.apply_damage(10, A.get_attack_type(), BODY_ZONE_HEAD, wound_bonus = CANT_WOUND) D.apply_damage(40, STAMINA, BODY_ZONE_HEAD) D.Knockdown(40) - D.visible_message("[A] kicks [D] in the head, sending them face first into the floor!", \ - "You are kicked in the head by [A], sending you crashing to the floor!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + D.visible_message(span_warning("[A] kicks [D] in the head, sending them face first into the floor!"), \ + span_userdanger("You are kicked in the head by [A], sending you crashing to the floor!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) else D.apply_damage(5, A.get_attack_type(), BODY_ZONE_HEAD, wound_bonus = CANT_WOUND) D.apply_damage(40, STAMINA, BODY_ZONE_HEAD) D.drop_all_held_items() - D.visible_message("[A] kicks [D] in the head!", \ - "You are kicked in the head by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + D.visible_message(span_warning("[A] kicks [D] in the head!"), \ + span_userdanger("You are kicked in the head by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) log_combat(A, D, "dropkicked (Sleeping Carp)") return @@ -83,9 +83,9 @@ var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("kick", "chop", "hit", "slam") - D.visible_message("[A] [atk_verb]s [D]!", \ - "[A] [atk_verb]s you!", null, null, A) - to_chat(A, "You [atk_verb] [D]!") + D.visible_message(span_danger("[A] [atk_verb]s [D]!"), \ + span_userdanger("[A] [atk_verb]s you!"), null, null, A) + to_chat(A, span_danger("You [atk_verb] [D]!")) D.apply_damage(rand(10,15), BRUTE, affecting, wound_bonus = CANT_WOUND) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) log_combat(A, D, "punched (Sleeping Carp)") @@ -110,7 +110,7 @@ if(!isturf(A.loc)) //NO MOTHERFLIPPIN MECHS! return BULLET_ACT_HIT if(A.throw_mode) - A.visible_message("[A] effortlessly swats the projectile aside! They can block bullets with their bare hands!", "You deflect the projectile!") + A.visible_message(span_danger("[A] effortlessly swats the projectile aside! They can block bullets with their bare hands!"), span_userdanger("You deflect the projectile!")) playsound(get_turf(A), pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) P.firer = A P.set_angle(rand(0, 360))//SHING @@ -142,9 +142,9 @@ set category = "Sleeping Carp" to_chat(usr, "You retreat inward and recall the teachings of the Sleeping Carp...\n\ - Gnashing Teeth: Harm Harm. Deal additional damage every second (consecutive) punch!\n\ - Crashing Wave Kick: Harm Disarm. Launch your opponent away from you with incredible force!\n\ - Keelhaul: Harm Grab. Kick an opponent to the floor, knocking them down! If your opponent is already prone, this move will disarm them and deal additional stamina damage to them.\n\ + [span_notice("Gnashing Teeth")]: Harm Harm. Deal additional damage every second (consecutive) punch!\n\ + [span_notice("Crashing Wave Kick")]: Harm Disarm. Launch your opponent away from you with incredible force!\n\ + [span_notice("Keelhaul")]: Harm Grab. Kick an opponent to the floor, knocking them down! If your opponent is already prone, this move will disarm them and deal additional stamina damage to them.\n\ While in throw mode (and not stunned, not a hulk, and not in a mech), you can reflect all projectiles that come your way, sending them back at the people who fired them!\ Also, you are more resilient against suffering wounds in combat, and your limbs cannot be dismembered. This grants you extra staying power during extended combat, especially against slashing and other bleeding weapons.\ You are not invincible, however- while you may not suffer debilitating wounds often, you must still watch your health and appropriate medical supplies when possible for use during downtime.\ @@ -197,7 +197,7 @@ /obj/item/staff/bostaff/attack(mob/target, mob/living/user, params) add_fingerprint(user) if((HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) - to_chat(user, "You club yourself over the head with [src].") + to_chat(user, span_warning("You club yourself over the head with [src].")) user.Paralyze(60) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -211,7 +211,7 @@ return ..() var/mob/living/carbon/C = target if(C.stat) - to_chat(user, "It would be dishonorable to attack a foe while they cannot retaliate.") + to_chat(user, span_warning("It would be dishonorable to attack a foe while they cannot retaliate.")) return var/list/modifiers = params2list(params) if(LAZYACCESS(modifiers, RIGHT_CLICK)) @@ -221,21 +221,21 @@ return ..() var/mob/living/carbon/human/H = target var/list/fluffmessages = list("club", "smack", "broadside", "beat", "slam") - H.visible_message("[user] [pick(fluffmessages)]s [H] with [src]!", \ - "[user] [pick(fluffmessages)]s you with [src]!", "You hear a sickening sound of flesh hitting flesh!", null, user) - to_chat(user, "You [pick(fluffmessages)] [H] with [src]!") + H.visible_message(span_warning("[user] [pick(fluffmessages)]s [H] with [src]!"), \ + span_userdanger("[user] [pick(fluffmessages)]s you with [src]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, user) + to_chat(user, span_danger("You [pick(fluffmessages)] [H] with [src]!")) playsound(get_turf(user), 'sound/effects/woodhit.ogg', 75, TRUE, -1) H.adjustStaminaLoss(rand(13,20)) if(prob(10)) - H.visible_message("[H] collapses!", \ - "Your legs give out!") + H.visible_message(span_warning("[H] collapses!"), \ + span_userdanger("Your legs give out!")) H.Paralyze(80) if(H.staminaloss && !H.IsSleeping()) var/total_health = (H.health - H.staminaloss) if(total_health <= HEALTH_THRESHOLD_CRIT && !H.stat) - H.visible_message("[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!", \ - "You're knocked unconscious by [user]!", "You hear a sickening sound of flesh hitting flesh!", null, user) - to_chat(user, "You deliver a heavy hit to [H]'s head, knocking [H.p_them()] out cold!") + H.visible_message(span_warning("[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!"), \ + span_userdanger("You're knocked unconscious by [user]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, user) + to_chat(user, span_danger("You deliver a heavy hit to [H]'s head, knocking [H.p_them()] out cold!")) H.SetSleeping(600) H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 150) else diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index 126f94e739b..767f05dfd8a 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -11,9 +11,9 @@ If you make a derivative work from this code, you must include this notification set category = "Wrestling" to_chat(usr, "You flex your muscles and have a revelation...") - to_chat(usr, "Clinch: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.") - to_chat(usr, "Suplex: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor.") - to_chat(usr, "Advanced grab: Grab. Passively causes stamina damage when grabbing someone.") + to_chat(usr, "[span_notice("Clinch")]: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.") + to_chat(usr, "[span_notice("Suplex")]: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor.") + to_chat(usr, "[span_notice("Advanced grab")]: Grab. Passively causes stamina damage when grabbing someone.") /datum/martial_art/wrestling name = "Wrestling" @@ -54,9 +54,9 @@ If you make a derivative work from this code, you must include this notification /datum/action/slam/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.") + to_chat(owner, span_warning("You can't WRESTLE while you're OUT FOR THE COUNT.")) return - owner.visible_message("[owner] prepares to BODY SLAM!", "Your next attack will be a BODY SLAM.") + owner.visible_message(span_danger("[owner] prepares to BODY SLAM!"), "Your next attack will be a BODY SLAM.") owner.mind.martial_art.streak = "slam" /datum/action/throw_wrassle @@ -65,9 +65,9 @@ If you make a derivative work from this code, you must include this notification /datum/action/throw_wrassle/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.") + to_chat(owner, span_warning("You can't WRESTLE while you're OUT FOR THE COUNT.")) return - owner.visible_message("[owner] prepares to THROW!", "Your next attack will be a THROW.") + owner.visible_message(span_danger("[owner] prepares to THROW!"), "Your next attack will be a THROW.") owner.mind.martial_art.streak = "throw" /datum/action/kick @@ -76,9 +76,9 @@ If you make a derivative work from this code, you must include this notification /datum/action/kick/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.") + to_chat(owner, span_warning("You can't WRESTLE while you're OUT FOR THE COUNT.")) return - owner.visible_message("[owner] prepares to KICK!", "Your next attack will be a KICK.") + owner.visible_message(span_danger("[owner] prepares to KICK!"), "Your next attack will be a KICK.") owner.mind.martial_art.streak = "kick" /datum/action/strike @@ -87,9 +87,9 @@ If you make a derivative work from this code, you must include this notification /datum/action/strike/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.") + to_chat(owner, span_warning("You can't WRESTLE while you're OUT FOR THE COUNT.")) return - owner.visible_message("[owner] prepares to STRIKE!", "Your next attack will be a STRIKE.") + owner.visible_message(span_danger("[owner] prepares to STRIKE!"), "Your next attack will be a STRIKE.") owner.mind.martial_art.streak = "strike" /datum/action/drop @@ -98,15 +98,15 @@ If you make a derivative work from this code, you must include this notification /datum/action/drop/Trigger() if(owner.incapacitated()) - to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.") + to_chat(owner, span_warning("You can't WRESTLE while you're OUT FOR THE COUNT.")) return - owner.visible_message("[owner] prepares to LEG DROP!", "Your next attack will be a LEG DROP.") + owner.visible_message(span_danger("[owner] prepares to LEG DROP!"), "Your next attack will be a LEG DROP.") owner.mind.martial_art.streak = "drop" /datum/martial_art/wrestling/teach(mob/living/owner, make_temporary=FALSE) if(..()) - to_chat(owner, "SNAP INTO A THIN TIM!") - to_chat(owner, "Place your cursor over a move at the top of the screen to see what it does.") + to_chat(owner, span_userdanger("SNAP INTO A THIN TIM!")) + to_chat(owner, span_danger("Place your cursor over a move at the top of the screen to see what it does.")) drop.Grant(owner) kick.Grant(owner) slam.Grant(owner) @@ -114,7 +114,7 @@ If you make a derivative work from this code, you must include this notification strike.Grant(owner) /datum/martial_art/wrestling/on_remove(mob/living/owner) - to_chat(owner, "You no longer feel that the tower of power is too sweet to be sour...") + to_chat(owner, span_userdanger("You no longer feel that the tower of power is too sweet to be sour...")) drop.Remove(owner) kick.Remove(owner) slam.Remove(owner) @@ -131,15 +131,15 @@ If you make a derivative work from this code, you must include this notification if(!D) return if(!A.pulling || A.pulling != D) - to_chat(A, "You need to have [D] in a cinch!") + to_chat(A, span_warning("You need to have [D] in a cinch!")) return D.forceMove(A.loc) D.setDir(get_dir(D, A)) D.Stun(80) - D.visible_message("[A] starts spinning around with [D]!", \ - "You're spun around by [A]!", "You hear aggressive shuffling!", null, A) - to_chat(A, "You start spinning around with [D]!") + D.visible_message(span_danger("[A] starts spinning around with [D]!"), \ + span_userdanger("You're spun around by [A]!"), span_hear("You hear aggressive shuffling!"), null, A) + to_chat(A, span_danger("You start spinning around with [D]!")) A.emote("scream") for (var/i = 0, i < 20, i++) @@ -159,11 +159,11 @@ If you make a derivative work from this code, you must include this notification if (A && D) if (get_dist(A, D) > 1) - to_chat(A, "[D] is too far away!") + to_chat(A, span_warning("[D] is too far away!")) return if (!isturf(A.loc) || !isturf(D.loc)) - to_chat(A, "You can't throw [D] from here!") + to_chat(A, span_warning("You can't throw [D] from here!")) return A.setDir(turn(A.dir, 90)) @@ -181,18 +181,18 @@ If you make a derivative work from this code, you must include this notification // These are necessary because of the sleep call. if (get_dist(A, D) > 1) - to_chat(A, "[D] is too far away!") + to_chat(A, span_warning("[D] is too far away!")) return if (!isturf(A.loc) || !isturf(D.loc)) - to_chat(A, "You can't throw [D] from here!") + to_chat(A, span_warning("You can't throw [D] from here!")) return D.forceMove(A.loc) // Maybe this will help with the wallthrowing bug. - D.visible_message("[A] throws [D]!", \ - "You're thrown by [A]!", "You hear aggressive shuffling and a loud thud!", null, A) - to_chat(A, "You throw [D]!") + D.visible_message(span_danger("[A] throws [D]!"), \ + span_userdanger("You're thrown by [A]!"), span_hear("You hear aggressive shuffling and a loud thud!"), null, A) + to_chat(A, span_danger("You throw [D]!")) playsound(A.loc, "swing_hit", 50, TRUE) var/turf/T = get_edge_target_turf(A, A.dir) if (T && isturf(T)) @@ -214,15 +214,15 @@ If you make a derivative work from this code, you must include this notification if(!D) return if(!A.pulling || A.pulling != D) - to_chat(A, "You need to have [D] in a cinch!") + to_chat(A, span_warning("You need to have [D] in a cinch!")) return D.forceMove(A.loc) A.setDir(get_dir(A, D)) D.setDir(get_dir(D, A)) - D.visible_message("[A] lifts [D] up!", \ - "You're lifted up by [A]!", "You hear aggressive shuffling!", null, A) - to_chat(A, "You lift [D] up!") + D.visible_message(span_danger("[A] lifts [D] up!"), \ + span_userdanger("You're lifted up by [A]!"), span_hear("You hear aggressive shuffling!"), null, A) + to_chat(A, span_danger("You lift [D] up!")) FlipAnimation() @@ -244,7 +244,7 @@ If you make a derivative work from this code, you must include this notification D.pixel_x = A.pixel_x + 8 if (get_dist(A, D) > 1) - to_chat(A, "[D] is too far away!") + to_chat(A, span_warning("[D] is too far away!")) A.pixel_x = A.base_pixel_x A.pixel_y = A.base_pixel_y D.pixel_x = D.base_pixel_x @@ -252,7 +252,7 @@ If you make a derivative work from this code, you must include this notification return if (!isturf(A.loc) || !isturf(D.loc)) - to_chat(A, "You can't slam [D] here!") + to_chat(A, span_warning("You can't slam [D] here!")) A.pixel_x = A.base_pixel_x A.pixel_y = A.base_pixel_y D.pixel_x = D.base_pixel_x @@ -276,11 +276,11 @@ If you make a derivative work from this code, you must include this notification D.pixel_y = D.base_pixel_y if (get_dist(A, D) > 1) - to_chat(A, "[D] is too far away!") + to_chat(A, span_warning("[D] is too far away!")) return if (!isturf(A.loc) || !isturf(D.loc)) - to_chat(A, "You can't slam [D] here!") + to_chat(A, span_warning("You can't slam [D] here!")) return D.forceMove(A.loc) @@ -292,9 +292,9 @@ If you make a derivative work from this code, you must include this notification if (3) fluff = "atomic [fluff]" - D.visible_message("[A] [fluff] [D]!", \ - "You're [fluff]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You [fluff] [D]!") + D.visible_message(span_danger("[A] [fluff] [D]!"), \ + span_userdanger("You're [fluff]ed by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You [fluff] [D]!")) playsound(A.loc, "swing_hit", 50, TRUE) if (!D.stat) D.emote("scream") @@ -337,9 +337,9 @@ If you make a derivative work from this code, you must include this notification A.forceMove(D.loc) addtimer(CALLBACK(src, .proc/CheckStrikeTurf, A, T), 4) - D.visible_message("[A] headbutts [D]!", \ - "You're headbutted by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You headbutt [D]!") + D.visible_message(span_danger("[A] headbutts [D]!"), \ + span_userdanger("You're headbutted by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You headbutt [D]!")) D.adjustBruteLoss(rand(10,20)) playsound(A.loc, "swing_hit", 50, TRUE) D.Unconscious(20) @@ -352,9 +352,9 @@ If you make a derivative work from this code, you must include this notification A.emote("flip") A.setDir(turn(A.dir, 90)) - D.visible_message("[A] roundhouse-kicks [D]!", \ - "You're roundhouse-kicked by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You roundhouse-kick [D]!") + D.visible_message(span_danger("[A] roundhouse-kicks [D]!"), \ + span_userdanger("You're roundhouse-kicked by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You roundhouse-kick [D]!")) playsound(A.loc, "swing_hit", 50, TRUE) D.adjustBruteLoss(rand(10,20)) @@ -386,8 +386,8 @@ If you make a derivative work from this code, you must include this notification if (surface && (ST && isturf(ST))) A.forceMove(ST) - A.visible_message("[A] climbs onto [surface]!", \ - "You climb onto [surface]!") + A.visible_message(span_danger("[A] climbs onto [surface]!"), \ + span_danger("You climb onto [surface]!")) A.pixel_y = A.base_pixel_y + 10 falling = 1 sleep(10) @@ -398,16 +398,16 @@ If you make a derivative work from this code, you must include this notification if ((falling == 0 && get_dist(A, D) > 1) || (falling == 1 && get_dist(A, D) > 2)) // We climbed onto stuff. A.pixel_y = A.base_pixel_y if (falling == 1) - A.visible_message("...and dives head-first into the ground, ouch!", \ - "...and dive head-first into the ground, ouch!") + A.visible_message(span_danger("...and dives head-first into the ground, ouch!"), \ + span_userdanger("...and dive head-first into the ground, ouch!")) A.adjustBruteLoss(rand(10,20)) A.Paralyze(60) - to_chat(A, "[D] is too far away!") + to_chat(A, span_warning("[D] is too far away!")) return if (!isturf(A.loc) || !isturf(D.loc)) A.pixel_y = A.base_pixel_y - to_chat(A, "You can't drop onto [D] from here!") + to_chat(A, span_warning("You can't drop onto [D] from here!")) return if(A) @@ -418,9 +418,9 @@ If you make a derivative work from this code, you must include this notification A.forceMove(D.loc) - D.visible_message("[A] leg-drops [D]!", \ - "You're leg-dropped by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You leg-drop [D]!") + D.visible_message(span_danger("[A] leg-drops [D]!"), \ + span_userdanger("You're leg-dropped by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, A) + to_chat(A, span_danger("You leg-drop [D]!")) playsound(A.loc, "swing_hit", 50, TRUE) A.emote("scream") @@ -454,9 +454,9 @@ If you make a derivative work from this code, you must include this notification if(A.pulling == D) return 1 A.start_pulling(D) - D.visible_message("[A] gets [D] in a cinch!", \ - "You're put into a cinch by [A]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You get [D] in a cinch!") + D.visible_message(span_danger("[A] gets [D] in a cinch!"), \ + span_userdanger("You're put into a cinch by [A]!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, A) + to_chat(A, span_danger("You get [D] in a cinch!")) D.Stun(rand(60,100)) log_combat(A, D, "cinched") return 1 diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 5478d156827..77ceb547f76 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -234,9 +234,9 @@ if(known_skills[i][SKILL_LVL] > SKILL_LEVEL_NONE) //Do we actually have a level in this? shown_skills += i if(!length(shown_skills)) - to_chat(user, "You don't seem to have any particularly outstanding skills.") + to_chat(user, span_notice("You don't seem to have any particularly outstanding skills.")) return - var/msg = "*---------*\nYour skills\n" + var/msg = "[span_info("*---------*\nYour skills")]\n" for(var/i in shown_skills) var/datum/skill/the_skill = i msg += "[initial(the_skill.name)] - [get_skill_level_name(the_skill)]\n" @@ -405,11 +405,11 @@ U.setup_unlock_code() if(!silent) if(uplink_loc == R) - to_chat(traitor_mob, "[employer] has cunningly disguised a Syndicate Uplink as your [R.name]. Simply dial the frequency [format_frequency(U.unlock_code)] to unlock its hidden features.") + to_chat(traitor_mob, span_boldnotice("[employer] has cunningly disguised a Syndicate Uplink as your [R.name]. Simply dial the frequency [format_frequency(U.unlock_code)] to unlock its hidden features.")) else if(uplink_loc == PDA) - to_chat(traitor_mob, "[employer] has cunningly disguised a Syndicate Uplink as your [PDA.name]. Simply enter the code \"[U.unlock_code]\" into the ringtone select to unlock its hidden features.") + to_chat(traitor_mob, span_boldnotice("[employer] has cunningly disguised a Syndicate Uplink as your [PDA.name]. Simply enter the code \"[U.unlock_code]\" into the ringtone select to unlock its hidden features.")) else if(uplink_loc == P) - to_chat(traitor_mob, "[employer] has cunningly disguised a Syndicate Uplink as your [P.name]. Simply twist the top of the pen [english_list(U.unlock_code)] from its starting position to unlock its hidden features.") + to_chat(traitor_mob, span_boldnotice("[employer] has cunningly disguised a Syndicate Uplink as your [P.name]. Simply twist the top of the pen [english_list(U.unlock_code)] from its starting position to unlock its hidden features.")) if(uplink_owner) uplink_owner.antag_memory += U.unlock_note + "
" @@ -419,7 +419,7 @@ var/obj/item/implant/uplink/starting/I = new(traitor_mob) I.implant(traitor_mob, null, silent = TRUE) if(!silent) - to_chat(traitor_mob, "[employer] has cunningly implanted you with a Syndicate Uplink (although uplink implants cost valuable TC, so you will have slightly less). Simply trigger the uplink to access it.") + to_chat(traitor_mob, span_boldnotice("[employer] has cunningly implanted you with a Syndicate Uplink (although uplink implants cost valuable TC, so you will have slightly less). Simply trigger the uplink to access it.")) return I @@ -449,7 +449,7 @@ if(creator.mind.special_role) message_admins("[ADMIN_LOOKUPFLW(current)] has been created by [ADMIN_LOOKUPFLW(creator)], an antagonist.") - to_chat(current, "Despite your creator's current allegiances, your true master remains [creator.real_name]. If their loyalties change, so do yours. This will never change unless your creator's body is destroyed.") + to_chat(current, span_userdanger("Despite your creator's current allegiances, your true master remains [creator.real_name]. If their loyalties change, so do yours. This will never change unless your creator's body is destroyed.")) /datum/mind/proc/show_memory(mob/recipient, window=1) if(!recipient) @@ -491,7 +491,7 @@ if(href_list["remove_antag"]) var/datum/antagonist/A = locate(href_list["remove_antag"]) in antag_datums if(!istype(A)) - to_chat(usr,"Invalid antagonist ref to be removed.") + to_chat(usr,span_warning("Invalid antagonist ref to be removed.")) return A.admin_remove(usr) @@ -643,7 +643,7 @@ log_admin("[key_name(usr)] changed [current]'s telecrystal count to [crystals].") if("uplink") if(!equip_traitor()) - to_chat(usr, "Equipping a syndicate failed!") + to_chat(usr, span_danger("Equipping a syndicate failed!")) log_admin("[key_name(usr)] tried and failed to give [current] an uplink.") else log_admin("[key_name(usr)] gave [current] an uplink.") @@ -665,7 +665,7 @@ /datum/mind/proc/announce_objectives() var/obj_count = 1 - to_chat(current, "Your current objectives:") + to_chat(current, span_notice("Your current objectives:")) for(var/datum/objective/objective as anything in get_all_objectives()) to_chat(current, "[objective.objective_name] #[obj_count]: [objective.explanation_text]") obj_count++ diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index e84dcac1c74..cb6774ee6b6 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -206,7 +206,7 @@ description = "[sadtarget.name] seems upset...\n" /datum/mood_event/sacrifice_bad - description ="Those darn savages!\n" + description = "Those darn savages!\n" mood_change = -5 timeout = 2 MINUTES @@ -216,7 +216,7 @@ timeout = 2 MINUTES /datum/mood_event/graverobbing - description ="I just desecrated someone's grave... I can't believe I did that...\n" + description = "I just desecrated someone's grave... I can't believe I did that...\n" mood_change = -8 timeout = 3 MINUTES @@ -287,7 +287,7 @@ description = "+++++++[message]+++++++\n" /datum/mood_event/bald - description ="I need something to cover my head...\n" + description = "I need something to cover my head...\n" mood_change = -3 /datum/mood_event/bad_touch diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 26d585aa99f..5be193843ed 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -153,7 +153,7 @@ mood_change = 5 /datum/mood_event/sacrifice_good - description ="The gods are pleased with this offering!\n" + description = "The gods are pleased with this offering!\n" mood_change = 5 timeout = 3 MINUTES diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index 363db599d1f..79208a20175 100644 --- a/code/datums/mutations/_mutations.dm +++ b/code/datums/mutations/_mutations.dm @@ -69,7 +69,7 @@ var/datum/mutation/human/mewtayshun = M if(!(mewtayshun.type in conflicts) && !(type in mewtayshun.conflicts)) continue - to_chat(H, "You feel your genes resisting something.") + to_chat(H, span_warning("You feel your genes resisting something.")) return TRUE owner = H dna = H.dna diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 8a3ba3769c5..fbeb30dafaa 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -46,7 +46,7 @@ if(cached_gases[/datum/gas/miasma]) user.adjust_disgust(sensitivity * 45) - to_chat(user, "With your overly sensitive nose, you get a whiff of stench and feel sick! Try moving to a cleaner area!") + to_chat(user, span_warning("With your overly sensitive nose, you get a whiff of stench and feel sick! Try moving to a cleaner area!")) return var/atom/sniffed = user.get_active_held_item() @@ -59,42 +59,42 @@ if(prints[md5(C.dna.uni_identity)]) possible |= C if(!length(possible)) - to_chat(user,"Despite your best efforts, there are no scents to be found on [sniffed]...") + to_chat(user,span_warning("Despite your best efforts, there are no scents to be found on [sniffed]...")) return tracking_target = input(user, "Choose a scent to remember.", "Scent Tracking") as null|anything in sortNames(possible) if(!tracking_target) if(!old_target) - to_chat(user,"You decide against remembering any scents. Instead, you notice your own nose in your peripheral vision. This goes on to remind you of that one time you started breathing manually and couldn't stop. What an awful day that was.") + to_chat(user,span_warning("You decide against remembering any scents. Instead, you notice your own nose in your peripheral vision. This goes on to remind you of that one time you started breathing manually and couldn't stop. What an awful day that was.")) return tracking_target = old_target on_the_trail(user) return - to_chat(user,"You pick up the scent of [tracking_target]. The hunt begins.") + to_chat(user,span_notice("You pick up the scent of [tracking_target]. The hunt begins.")) on_the_trail(user) return if(!tracking_target) - to_chat(user,"You're not holding anything to smell, and you haven't smelled anything you can track. You smell your skin instead; it's kinda salty.") + to_chat(user,span_warning("You're not holding anything to smell, and you haven't smelled anything you can track. You smell your skin instead; it's kinda salty.")) return on_the_trail(user) /obj/effect/proc_holder/spell/targeted/olfaction/proc/on_the_trail(mob/living/user) if(!tracking_target) - to_chat(user,"You're not tracking a scent, but the game thought you were. Something's gone wrong! Report this as a bug.") + to_chat(user,span_warning("You're not tracking a scent, but the game thought you were. Something's gone wrong! Report this as a bug.")) return if(tracking_target == user) - to_chat(user,"You smell out the trail to yourself. Yep, it's you.") + to_chat(user,span_warning("You smell out the trail to yourself. Yep, it's you.")) return if(usr.z < tracking_target.z) - to_chat(user,"The trail leads... way up above you? Huh. They must be really, really far away.") + to_chat(user,span_warning("The trail leads... way up above you? Huh. They must be really, really far away.")) return else if(usr.z > tracking_target.z) - to_chat(user,"The trail leads... way down below you? Huh. They must be really, really far away.") + to_chat(user,span_warning("The trail leads... way down below you? Huh. They must be really, really far away.")) return var/direction_text = "[dir2text(get_dir(usr, tracking_target))]" if(direction_text) - to_chat(user,"You consider [tracking_target]'s scent. The trail leads [direction_text].") + to_chat(user,span_notice("You consider [tracking_target]'s scent. The trail leads [direction_text].")) /datum/mutation/human/firebreath name = "Fire Breath" @@ -136,7 +136,7 @@ if(C.is_mouth_covered()) C.adjust_fire_stacks(2) C.IgniteMob() - to_chat(C,"Something in front of your mouth caught fire!") + to_chat(C,span_warning("Something in front of your mouth caught fire!")) return FALSE /obj/effect/proc_holder/spell/aimed/firebreath/ready_projectile(obj/projectile/P, atom/target, mob/user, iteration) @@ -226,7 +226,7 @@ if(BP.dismemberable) parts += BP if(!parts.len) - to_chat(usr, "You can't shed any more limbs!") + to_chat(usr, span_notice("You can't shed any more limbs!")) return var/obj/item/bodypart/BP = pick(parts) @@ -267,7 +267,7 @@ break if(!tongue) - to_chat(C, "You don't have a tongue to shoot!") + to_chat(C, span_notice("You don't have a tongue to shoot!")) return tongue.Remove(C, special = TRUE) @@ -305,7 +305,7 @@ /obj/item/hardened_spike/unembedded() var/turf/T = get_turf(src) - visible_message("[src] cracks and twists, changing shape!") + visible_message(span_warning("[src] cracks and twists, changing shape!")) for(var/i in contents) var/obj/o = i o.forceMove(T) @@ -344,11 +344,11 @@ chems = new chems.transfered = embedded_mob chems.spikey = src - to_chat(fired_by, "Link established! Use the \"Transfer Chemicals\" ability to send your chemicals to the linked target!") + to_chat(fired_by, span_notice("Link established! Use the \"Transfer Chemicals\" ability to send your chemicals to the linked target!")) chems.Grant(fired_by) /obj/item/hardened_spike/chem/unembedded() - to_chat(fired_by, "Link lost!") + to_chat(fired_by, span_warning("Link lost!")) QDEL_NULL(chems) ..() @@ -367,14 +367,14 @@ return var/mob/living/carbon/human/transferer = owner - to_chat(transfered, "You feel a tiny prick!") + to_chat(transfered, span_warning("You feel a tiny prick!")) transferer.reagents.trans_to(transfered, transferer.reagents.total_volume, 1, 1, 0, transfered_by = transferer) var/obj/item/bodypart/L = spikey.checkembedded() //this is where it would deal damage, if it transfers chems it removes itself so no damage spikey.forceMove(get_turf(L)) - transfered.visible_message("[spikey] falls out of [transfered]!") + transfered.visible_message(span_notice("[spikey] falls out of [transfered]!")) //spider webs /datum/mutation/human/webbing @@ -407,20 +407,20 @@ /obj/effect/proc_holder/spell/self/lay_genetic_web/cast(list/targets, mob/user = usr) var/failed = FALSE if(!isturf(user.loc)) - to_chat(user, "You can't lay webs here!") + to_chat(user, span_warning("You can't lay webs here!")) failed = TRUE var/turf/T = get_turf(user) var/obj/structure/spider/stickyweb/genetic/W = locate() in T if(W) - to_chat(user, "There's already a web here!") + to_chat(user, span_warning("There's already a web here!")) failed = TRUE if(failed) revert_cast(user) return FALSE - user.visible_message("[user] begins to secrete a sticky substance.","You begin to lay a web.") + user.visible_message(span_notice("[user] begins to secrete a sticky substance."),span_notice("You begin to lay a web.")) if(!do_after(user, 4 SECONDS, target = T)) - to_chat(user, "Your web spinning was interrupted!") + to_chat(user, span_warning("Your web spinning was interrupted!")) return else new /obj/structure/spider/stickyweb/genetic(T, user) diff --git a/code/datums/mutations/antenna.dm b/code/datums/mutations/antenna.dm index 1754772a23d..15721f888f7 100644 --- a/code/datums/mutations/antenna.dm +++ b/code/datums/mutations/antenna.dm @@ -59,15 +59,15 @@ /obj/effect/proc_holder/spell/targeted/mindread/cast(list/targets, mob/living/carbon/human/user = usr) for(var/mob/living/M in targets) if(usr.anti_magic_check(FALSE, FALSE, TRUE, 0) || M.anti_magic_check(FALSE, FALSE, TRUE, 0)) - to_chat(usr, "As you reach out with your mind, you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.") + to_chat(usr, span_warning("As you reach out with your mind, you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")) return if(M.stat == DEAD) - to_chat(user, "[M] is dead!") + to_chat(user, span_boldnotice("[M] is dead!")) return if(M.mind) - to_chat(user, "You plunge into [M]'s mind...") + to_chat(user, span_boldnotice("You plunge into [M]'s mind...")) if(prob(20)) - to_chat(M, "You feel something foreign enter your mind.")//chance to alert the read-ee + to_chat(M, span_danger("You feel something foreign enter your mind."))//chance to alert the read-ee var/list/recent_speech = list() var/list/say_log = list() var/log_source = M.logging @@ -85,16 +85,16 @@ if(prob(50)) recent_speech[spoken_memory] = say_log[spoken_memory] if(recent_speech.len) - to_chat(user, "You catch some drifting memories of their past conversations...") + to_chat(user, span_boldnotice("You catch some drifting memories of their past conversations...")) for(var/spoken_memory in recent_speech) - to_chat(user, "[recent_speech[spoken_memory]]") + to_chat(user, span_notice("[recent_speech[spoken_memory]]")) if(iscarbon(M)) var/mob/living/carbon/human/H = M - to_chat(user, "You find that their intent is to [H.combat_mode ? "Harm" : "Help"]...") + to_chat(user, span_boldnotice("You find that their intent is to [H.combat_mode ? "Harm" : "Help"]...")) if(H.mind) - to_chat(user, "You uncover that [H.p_their()] true identity is [H.mind.name].") + to_chat(user, span_boldnotice("You uncover that [H.p_their()] true identity is [H.mind.name].")) else - to_chat(user, "You can't find a mind to read inside of [M]!") + to_chat(user, span_warning("You can't find a mind to read inside of [M]!")) /datum/mutation/human/mindreader/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) ..() diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index e42eecf1229..6b9db21b3be 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -11,7 +11,7 @@ /datum/mutation/human/epilepsy/on_life(delta_time, times_fired) if(DT_PROB(0.5 * GET_MUTATION_SYNCHRONIZER(src), delta_time) && owner.stat == CONSCIOUS) - owner.visible_message("[owner] starts having a seizure!", "You have a seizure!") + owner.visible_message(span_danger("[owner] starts having a seizure!"), span_userdanger("You have a seizure!")) owner.Unconscious(200 * GET_MUTATION_POWER(src)) owner.Jitter(1000 * GET_MUTATION_POWER(src)) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "epilepsy", /datum/mood_event/epilepsy) @@ -97,7 +97,7 @@ new_transform.Scale(1, 0.8) owner.transform = new_transform.Multiply(owner.transform) passtable_on(owner, GENETIC_MUTATION) - owner.visible_message("[owner] suddenly shrinks!", "Everything around you seems to grow..") + owner.visible_message(span_danger("[owner] suddenly shrinks!"), span_notice("Everything around you seems to grow..")) /datum/mutation/human/dwarfism/on_losing(mob/living/carbon/human/owner) if(..()) @@ -107,7 +107,7 @@ new_transform.Scale(1, 1.25) owner.transform = new_transform.Multiply(owner.transform) passtable_off(owner, GENETIC_MUTATION) - owner.visible_message("[owner] suddenly grows!", "Everything around you seems to shrink..") + owner.visible_message(span_danger("[owner] suddenly grows!"), span_notice("Everything around you seems to shrink..")) //Clumsiness has a very large amount of small drawbacks depending on item. /datum/mutation/human/clumsy @@ -315,17 +315,17 @@ /datum/mutation/human/badblink/on_life(delta_time, times_fired) if(DT_PROB(warpchance, delta_time)) var/warpmessage = pick( - "With a sickening 720-degree twist of [owner.p_their()] back, [owner] vanishes into thin air.", - "[owner] does some sort of strange backflip into another dimension. It looks pretty painful.", - "[owner] does a jump to the left, a step to the right, and warps out of reality.", - "[owner]'s torso starts folding inside out until it vanishes from reality, taking [owner] with it.", - "One moment, you see [owner]. The next, [owner] is gone.") - owner.visible_message(warpmessage, "You feel a wave of nausea as you fall through reality!") + span_warning("With a sickening 720-degree twist of [owner.p_their()] back, [owner] vanishes into thin air."), + span_warning("[owner] does some sort of strange backflip into another dimension. It looks pretty painful."), + span_warning("[owner] does a jump to the left, a step to the right, and warps out of reality."), + span_warning("[owner]'s torso starts folding inside out until it vanishes from reality, taking [owner] with it."), + span_warning("One moment, you see [owner]. The next, [owner] is gone.")) + owner.visible_message(warpmessage, span_userdanger("You feel a wave of nausea as you fall through reality!")) var/warpdistance = rand(10, 15) * GET_MUTATION_POWER(src) do_teleport(owner, get_turf(owner), warpdistance, channel = TELEPORT_CHANNEL_FREE) owner.adjust_disgust(GET_MUTATION_SYNCHRONIZER(src) * (warpchance * warpdistance)) warpchance = 0 - owner.visible_message("[owner] appears out of nowhere!") + owner.visible_message(span_danger("[owner] appears out of nowhere!")) else warpchance += 0.0625 * GET_MUTATION_ENERGY(src) * delta_time @@ -342,11 +342,11 @@ /datum/mutation/human/acidflesh/on_life(delta_time, times_fired) if(DT_PROB(13, delta_time)) if(COOLDOWN_FINISHED(src, msgcooldown)) - to_chat(owner, "Your acid flesh bubbles...") + to_chat(owner, span_danger("Your acid flesh bubbles...")) COOLDOWN_START(src, msgcooldown, 20 SECONDS) if(prob(15)) owner.acid_act(rand(30, 50), 10) - owner.visible_message("[owner]'s skin bubbles and pops.", "Your bubbling flesh pops! It burns!") + owner.visible_message(span_warning("[owner]'s skin bubbles and pops."), span_userdanger("Your bubbling flesh pops! It burns!")) playsound(owner,'sound/weapons/sear.ogg', 50, TRUE) /datum/mutation/human/gigantism @@ -362,7 +362,7 @@ ADD_TRAIT(owner, TRAIT_GIANT, GENETIC_MUTATION) owner.resize = 1.25 owner.update_transform() - owner.visible_message("[owner] suddenly grows!", "Everything around you seems to shrink..") + owner.visible_message(span_danger("[owner] suddenly grows!"), span_notice("Everything around you seems to shrink..")) /datum/mutation/human/gigantism/on_losing(mob/living/carbon/human/owner) if(..()) @@ -370,7 +370,7 @@ REMOVE_TRAIT(owner, TRAIT_GIANT, GENETIC_MUTATION) owner.resize = 0.8 owner.update_transform() - owner.visible_message("[owner] suddenly shrinks!", "Everything around you seems to grow..") + owner.visible_message(span_danger("[owner] suddenly shrinks!"), span_notice("Everything around you seems to grow..")) /datum/mutation/human/spastic name = "Spastic" @@ -418,7 +418,7 @@ return if(owner.buckled || owner.body_position == LYING_DOWN || HAS_TRAIT(owner, TRAIT_IMMOBILIZED) || owner.throwing || owner.movement_type & (VENTCRAWLING | FLYING | FLOATING)) return //remove the 'edge' cases - to_chat(owner, "You trip over your own feet.") + to_chat(owner, span_danger("You trip over your own feet.")) owner.Knockdown(30) /datum/mutation/human/martyrdom @@ -455,15 +455,15 @@ for(var/mob/living/carbon/human/H in view(2,owner)) var/obj/item/organ/eyes/eyes = H.getorganslot(ORGAN_SLOT_EYES) if(eyes) - to_chat(H, "You are blinded by a shower of blood!") + to_chat(H, span_userdanger("You are blinded by a shower of blood!")) else - to_chat(H, "You are knocked down by a wave of... blood?!") + to_chat(H, span_userdanger("You are knocked down by a wave of... blood?!")) H.Stun(20) H.blur_eyes(20) eyes?.applyOrganDamage(5) H.add_confusion(3) for(var/mob/living/silicon/S in view(2,owner)) - to_chat(S, "Your sensors are disabled by a shower of blood!") + to_chat(S, span_userdanger("Your sensors are disabled by a shower of blood!")) S.Paralyze(60) owner.gib() @@ -484,7 +484,7 @@ var/obj/item/bodypart/head/head = owner.get_bodypart(BODY_ZONE_HEAD) if(head) - owner.visible_message("[owner]'s head splatters with a sickening crunch!", ignored_mobs = list(owner)) + owner.visible_message(span_warning("[owner]'s head splatters with a sickening crunch!"), ignored_mobs = list(owner)) new /obj/effect/gibspawner/generic(get_turf(owner), owner) head.dismember(BRUTE) head.drop_organs() @@ -506,7 +506,7 @@ return TRUE owner.dna.species.regenerate_organs(owner, replace_current = FALSE, excluded_zones = list(BODY_ZONE_CHEST)) //replace_current needs to be FALSE to prevent weird adding and removing mutation healing owner.apply_damage(damage = 50, damagetype = BRUTE, def_zone = BODY_ZONE_HEAD) //and this to DISCOURAGE organ farming, or at least not make it free. - owner.visible_message("[owner]'s head returns with a sickening crunch!", "Your head regrows with a sickening crack! Ouch.") + owner.visible_message(span_warning("[owner]'s head returns with a sickening crunch!"), span_warning("Your head regrows with a sickening crack! Ouch.")) new /obj/effect/gibspawner/generic(get_turf(owner), owner) diff --git a/code/datums/mutations/holy_mutation/burdened.dm b/code/datums/mutations/holy_mutation/burdened.dm index 97be748f23a..274d0d99703 100644 --- a/code/datums/mutations/holy_mutation/burdened.dm +++ b/code/datums/mutations/holy_mutation/burdened.dm @@ -61,42 +61,42 @@ //send a message and handle rewards switch(burden_level) if(0) - to_chat(owner, "You feel no weight on your shoulders. You are not feeling [GLOB.deity]'s suffering.") + to_chat(owner, span_warning("You feel no weight on your shoulders. You are not feeling [GLOB.deity]'s suffering.")) if(1) if(increase) - to_chat(owner, "You begin to feel the scars on [GLOB.deity]. You must continue to burden yourself.") + to_chat(owner, span_notice("You begin to feel the scars on [GLOB.deity]. You must continue to burden yourself.")) else - to_chat(owner, "The weight on your shoulders feels lighter. You are barely feeling [GLOB.deity]'s suffering.") + to_chat(owner, span_warning("The weight on your shoulders feels lighter. You are barely feeling [GLOB.deity]'s suffering.")) if(2) if(increase) - to_chat(owner, "You have done well to understand [GLOB.deity]. You are almost at a breakthrough.") + to_chat(owner, span_notice("You have done well to understand [GLOB.deity]. You are almost at a breakthrough.")) else - to_chat(owner, "The weight on your shoulders feels lighter. You have lost some universal truths.") + to_chat(owner, span_warning("The weight on your shoulders feels lighter. You have lost some universal truths.")) dna.remove_mutation(TELEPATHY) dna.remove_mutation(MUT_MUTE) owner.remove_filter("burden_outline") if(3) if(increase) - to_chat(owner, "Your suffering is only a fraction of [GLOB.deity]'s, and yet the universal truths are coming to you.") + to_chat(owner, span_notice("Your suffering is only a fraction of [GLOB.deity]'s, and yet the universal truths are coming to you.")) dna.add_mutation(TELEPATHY) dna.add_mutation(MUT_MUTE) owner.add_filter("burden_outline", 9, list("type" = "outline", "color" = "#6c6eff")) else - to_chat(owner, "The weight on your shoulders feels lighter. You feel like you're about to forget.") + to_chat(owner, span_warning("The weight on your shoulders feels lighter. You feel like you're about to forget.")) if(4) if(increase) - to_chat(owner, "The weight on your shoulders is immense. [GLOB.deity] is shattered across the cosmos.") + to_chat(owner, span_notice("The weight on your shoulders is immense. [GLOB.deity] is shattered across the cosmos.")) else - to_chat(owner, "The weight on your shoulders feels lighter. You're growing further from your goal.") + to_chat(owner, span_warning("The weight on your shoulders feels lighter. You're growing further from your goal.")) if(5) if(increase) - to_chat(owner, "You're on the cusp of another breakthrough. [GLOB.deity] lost everything.") + to_chat(owner, span_notice("You're on the cusp of another breakthrough. [GLOB.deity] lost everything.")) else - to_chat(owner, "The weight on your shoulders feels lighter. You have lost some universal truths.") + to_chat(owner, span_warning("The weight on your shoulders feels lighter. You have lost some universal truths.")) dna.remove_mutation(TK) dna.remove_mutation(MINDREAD) if(6) - to_chat(owner, "You have finally broken yourself enough to understand [GLOB.deity]. It's all so clear to you.") + to_chat(owner, span_notice("You have finally broken yourself enough to understand [GLOB.deity]. It's all so clear to you.")) dna.add_mutation(TK) dna.add_mutation(MINDREAD) diff --git a/code/datums/mutations/holy_mutation/honorbound.dm b/code/datums/mutations/holy_mutation/honorbound.dm index 77f4241f887..3785d2c3287 100644 --- a/code/datums/mutations/holy_mutation/honorbound.dm +++ b/code/datums/mutations/holy_mutation/honorbound.dm @@ -83,10 +83,10 @@ if(job in (GLOB.security_positions + GLOB.medical_positions)) return if(declaration) - to_chat(owner, "[user] is now considered guilty by [GLOB.deity] from your declaration.") + to_chat(owner, span_notice("[user] is now considered guilty by [GLOB.deity] from your declaration.")) else - to_chat(owner, "[user] is now considered guilty by [GLOB.deity] for attacking you first.") - to_chat(user, "[GLOB.deity] no longer considers you innocent!") + to_chat(owner, span_notice("[user] is now considered guilty by [GLOB.deity] for attacking you first.")) + to_chat(user, span_danger("[GLOB.deity] no longer considers you innocent!")) guilty += user /** @@ -102,7 +102,7 @@ if(honorbound_human == target_creature) return TRUE //oh come on now if(target_creature.IsSleeping() || target_creature.IsUnconscious() || HAS_TRAIT(target_creature, TRAIT_RESTRAINED)) - to_chat(honorbound_human, "There is no honor in attacking the unready.") + to_chat(honorbound_human, span_warning("There is no honor in attacking the unready.")) return FALSE //THE JUST (Applies over guilt except for med, so you best be careful!) if(ishuman(target_creature)) @@ -110,14 +110,14 @@ var/job = target_human.mind?.assigned_role var/is_holy = target_human.mind?.holy_role if(job in GLOB.security_positions || is_holy) - to_chat(honorbound_human, "There is nothing righteous in attacking the just.") + to_chat(honorbound_human, span_warning("There is nothing righteous in attacking the just.")) return FALSE if(job in GLOB.medical_positions) - to_chat(honorbound_human, "If you truly think this healer is not innocent, declare them guilty.") + to_chat(honorbound_human, span_warning("If you truly think this healer is not innocent, declare them guilty.")) return FALSE //THE INNOCENT if(!is_guilty) - to_chat(honorbound_human, "There is nothing righteous in attacking the innocent.") + to_chat(honorbound_human, span_warning("There is nothing righteous in attacking the innocent.")) return FALSE return TRUE @@ -188,14 +188,14 @@ if(SCHOOL_HOLY, SCHOOL_MIME, SCHOOL_RESTORATION) return if(SCHOOL_NECROMANCY, SCHOOL_FORBIDDEN) - to_chat(user, "[GLOB.deity] is enraged by your use of forbidden magic!") + to_chat(user, span_userdanger("[GLOB.deity] is enraged by your use of forbidden magic!")) lightningbolt(user) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "honorbound", /datum/mood_event/banished) user.dna.remove_mutation(HONORBOUND) user.mind.holy_role = NONE - to_chat(user, "You have been excommunicated! You are no longer holy!") + to_chat(user, span_userdanger("You have been excommunicated! You are no longer holy!")) else - to_chat(user, "[GLOB.deity] is angered by your use of [school] magic!") + to_chat(user, span_userdanger("[GLOB.deity] is angered by your use of [school] magic!")) lightningbolt(user) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "honorbound", /datum/mood_event/holy_smite)//permanently lose your moodlet after this @@ -227,21 +227,21 @@ var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(HONORBOUND) var/datum/religion_sect/honorbound/honorsect = GLOB.religious_sect if(honorsect.favor < 150) - to_chat(user, "You need at least 150 favor to declare someone evil!") + to_chat(user, span_warning("You need at least 150 favor to declare someone evil!")) return FALSE if(!honormut) return FALSE if(!targets.len) if(!silent) - to_chat(user, "Nobody to declare evil here!") + to_chat(user, span_warning("Nobody to declare evil here!")) return FALSE if(targets.len > 1) if(!silent) - to_chat(user, "Too many people to declare! Pick ONE!") + to_chat(user, span_warning("Too many people to declare! Pick ONE!")) return FALSE var/declaration_message = "[targets[1]]! By the divine light of [GLOB.deity], You are an evil of this world that must be wrought low!" if(!user.can_speak(declaration_message)) - to_chat(user, "You can't get the declaration out!") + to_chat(user, span_warning("You can't get the declaration out!")) return FALSE if(!can_target(targets[1], user, silent)) return FALSE @@ -256,24 +256,24 @@ return FALSE if(!isliving(target)) if(!silent) - to_chat(user, "You can only declare living beings evil!") + to_chat(user, span_warning("You can only declare living beings evil!")) return FALSE var/mob/living/victim = target if(victim.stat == DEAD) if(!silent) - to_chat(user, "Declaration on the dead? Really?") + to_chat(user, span_warning("Declaration on the dead? Really?")) return FALSE var/datum/mind/guilty_conscience = victim.mind if(!victim.key ||!guilty_conscience) //sec and medical are immune to becoming guilty through attack (we don't check holy because holy shouldn't be able to attack eachother anyways) if(!silent) - to_chat(user, "There is no evil a vacant mind can do.") + to_chat(user, span_warning("There is no evil a vacant mind can do.")) return FALSE if(guilty_conscience.holy_role)//also handles any kind of issues with self declarations if(!silent) - to_chat(user, "Followers of [GLOB.deity] cannot be evil!") + to_chat(user, span_warning("Followers of [GLOB.deity] cannot be evil!")) return FALSE if(guilty_conscience.assigned_role in GLOB.security_positions) if(!silent) - to_chat(user, "Members of security are uncorruptable! You cannot declare one evil!") + to_chat(user, span_warning("Members of security are uncorruptable! You cannot declare one evil!")) return FALSE return TRUE diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index e6b74eb74da..abf6f7cba76 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -68,7 +68,7 @@ /datum/mutation/human/hulk/on_life(delta_time, times_fired) if(owner.health < 0) on_losing(owner) - to_chat(owner, "You suddenly feel very weak.") + to_chat(owner, span_danger("You suddenly feel very weak.")) /datum/mutation/human/hulk/on_losing(mob/living/carbon/human/owner) if(..()) @@ -116,7 +116,7 @@ if(ishuman(possible_throwable)) var/mob/living/carbon/human/human_throwable = possible_throwable if(human_throwable.wear_suit && (human_throwable.wear_suit.flags_inv & HIDEJUMPSUIT)) - to_chat(user, "You can't reach [human_throwable]'s tail through [human_throwable.p_their()] [human_throwable.wear_suit.name]!") + to_chat(user, span_warning("You can't reach [human_throwable]'s tail through [human_throwable.p_their()] [human_throwable.wear_suit.name]!")) return user.face_atom(clicked_atom) @@ -132,21 +132,21 @@ log_combat(the_hulk, yeeted_person, "has started swinging by tail") yeeted_person.Stun(2 SECONDS) - yeeted_person.visible_message("[the_hulk] starts grasping [yeeted_person] by the tail...", \ - "[the_hulk] begins grasping your tail!", "You hear aggressive shuffling!", null, the_hulk) - to_chat(the_hulk, "You start grasping [yeeted_person] by the tail...") + yeeted_person.visible_message(span_danger("[the_hulk] starts grasping [yeeted_person] by the tail..."), \ + span_userdanger("[the_hulk] begins grasping your tail!"), span_hear("You hear aggressive shuffling!"), null, the_hulk) + to_chat(the_hulk, span_danger("You start grasping [yeeted_person] by the tail...")) if(!do_after(the_hulk, 2 SECONDS, yeeted_person)) - yeeted_person.visible_message("[yeeted_person] breaks free of [the_hulk]'s grasp!", \ - "You break free from [the_hulk]'s grasp!", "You hear aggressive shuffling!", null, the_hulk) - to_chat(the_hulk, "You lose your grasp on [yeeted_person]'s tail!") + yeeted_person.visible_message(span_danger("[yeeted_person] breaks free of [the_hulk]'s grasp!"), \ + span_userdanger("You break free from [the_hulk]'s grasp!"), span_hear("You hear aggressive shuffling!"), null, the_hulk) + to_chat(the_hulk, span_danger("You lose your grasp on [yeeted_person]'s tail!")) return // we're officially a-go! yeeted_person.Paralyze(8 SECONDS) - yeeted_person.visible_message("[the_hulk] starts spinning [yeeted_person] around by [yeeted_person.p_their()] tail!", \ - "[the_hulk] starts spinning you around by your tail!", "You hear wooshing sounds!", null, the_hulk) - to_chat(the_hulk, "You start spinning [yeeted_person] around by [yeeted_person.p_their()] tail!") + yeeted_person.visible_message(span_danger("[the_hulk] starts spinning [yeeted_person] around by [yeeted_person.p_their()] tail!"), \ + span_userdanger("[the_hulk] starts spinning you around by your tail!"), span_hear("You hear wooshing sounds!"), null, the_hulk) + to_chat(the_hulk, span_danger("You start spinning [yeeted_person] around by [yeeted_person.p_their()] tail!")) the_hulk.emote("scream") yeeted_person.emote("scream") swing_loop(the_hulk, yeeted_person, 0, original_dir) @@ -162,7 +162,7 @@ if(!yeeted_person || !the_hulk || the_hulk.incapacitated()) return if(get_dist(the_hulk, yeeted_person) > 1 || !isturf(the_hulk.loc) || !isturf(yeeted_person.loc)) - to_chat(the_hulk, "You lose your grasp on [yeeted_person]!") + to_chat(the_hulk, span_warning("You lose your grasp on [yeeted_person]!")) return var/delay = 5 @@ -204,14 +204,14 @@ log_combat(the_hulk, yeeted_person, "has smacked this person into someone while tail swinging") // i have no idea how to better word this if(collateral_mob == the_hulk) // if the hulk moves wrong and crosses himself - the_hulk.visible_message("[the_hulk] smacks [the_hulk.p_them()]self with [yeeted_person]!", "You end up smacking [yeeted_person] into yourself!", ignored_mobs = yeeted_person) - to_chat(yeeted_person, "[the_hulk] smacks you into [the_hulk.p_them()]self, turning you free!") + the_hulk.visible_message(span_warning("[the_hulk] smacks [the_hulk.p_them()]self with [yeeted_person]!"), span_userdanger("You end up smacking [yeeted_person] into yourself!"), ignored_mobs = yeeted_person) + to_chat(yeeted_person, span_userdanger("[the_hulk] smacks you into [the_hulk.p_them()]self, turning you free!")) the_hulk.adjustBruteLoss(step) return - yeeted_person.visible_message("[the_hulk] swings [yeeted_person] directly into [collateral_mob], sending [collateral_mob.p_them()] flying!", \ - "You're smacked into [collateral_mob]!", ignored_mobs = collateral_mob) - to_chat(collateral_mob, "[the_hulk] swings [yeeted_person] directly into you, sending you flying!") + yeeted_person.visible_message(span_warning("[the_hulk] swings [yeeted_person] directly into [collateral_mob], sending [collateral_mob.p_them()] flying!"), \ + span_userdanger("You're smacked into [collateral_mob]!"), ignored_mobs = collateral_mob) + to_chat(collateral_mob, span_userdanger("[the_hulk] swings [yeeted_person] directly into you, sending you flying!")) collateral_mob.adjustBruteLoss(step*0.5) collateral_mob.throw_at(collat_throw_target, round(step * 0.25) + 1, round(step * 0.25) + 1) @@ -222,8 +222,8 @@ if(step >= HULK_TAILTHROW_STEPS) finish_swing(the_hulk, yeeted_person, original_dir) else if(step < 0) - the_hulk.visible_message("[the_hulk] loses [the_hulk.p_their()] momentum on [yeeted_person]!", "You lose your momentum on swinging [yeeted_person]!", ignored_mobs = yeeted_person) - to_chat(yeeted_person, "[the_hulk] loses [the_hulk.p_their()] momentum and lets go of you!") + the_hulk.visible_message(span_danger("[the_hulk] loses [the_hulk.p_their()] momentum on [yeeted_person]!"), span_warning("You lose your momentum on swinging [yeeted_person]!"), ignored_mobs = yeeted_person) + to_chat(yeeted_person, span_userdanger("[the_hulk] loses [the_hulk.p_their()] momentum and lets go of you!")) else addtimer(CALLBACK(src, .proc/swing_loop, the_hulk, yeeted_person, step, original_dir), delay) @@ -232,14 +232,14 @@ if(!yeeted_person || !the_hulk || the_hulk.incapacitated()) return if(get_dist(the_hulk, yeeted_person) > 1 || !isturf(the_hulk.loc) || !isturf(yeeted_person.loc)) - to_chat(the_hulk, "You lose your grasp on [yeeted_person]!") + to_chat(the_hulk, span_warning("You lose your grasp on [yeeted_person]!")) return the_hulk.setDir(original_dir) yeeted_person.forceMove(the_hulk.loc) // Maybe this will help with the wallthrowing bug. - yeeted_person.visible_message("[the_hulk] throws [yeeted_person]!", \ - "You're thrown by [the_hulk]!", "You hear aggressive shuffling and a loud thud!", null, the_hulk) - to_chat(the_hulk, "You throw [yeeted_person]!") + yeeted_person.visible_message(span_danger("[the_hulk] throws [yeeted_person]!"), \ + span_userdanger("You're thrown by [the_hulk]!"), span_hear("You hear aggressive shuffling and a loud thud!"), null, the_hulk) + to_chat(the_hulk, span_danger("You throw [yeeted_person]!")) playsound(the_hulk.loc, "swing_hit", 50, TRUE) var/turf/T = get_edge_target_turf(the_hulk, the_hulk.dir) if(!isturf(T)) diff --git a/code/datums/mutations/sight.dm b/code/datums/mutations/sight.dm index c19584becd4..d6d6a81978e 100644 --- a/code/datums/mutations/sight.dm +++ b/code/datums/mutations/sight.dm @@ -153,7 +153,7 @@ if(!source.combat_mode) return - to_chat(source, "You shoot with your laser eyes!") + to_chat(source, span_warning("You shoot with your laser eyes!")) source.changeNext_move(CLICK_CD_RANGE) source.newtonian_move(get_dir(target, source)) var/obj/projectile/beam/laser_eyes/LE = new(source.loc) diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 94bca1f19a0..8890d5ff52a 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -16,7 +16,7 @@ name = "Wacky" desc = "You are not a clown. You are the entire circus." quality = MINOR_NEGATIVE - text_gain_indication = "You feel an off sensation in your voicebox." + text_gain_indication = "You feel an off sensation in your voicebox." text_lose_indication = "The off sensation passes." /datum/mutation/human/wacky/on_acquiring(mob/living/carbon/human/owner) diff --git a/code/datums/mutations/touch.dm b/code/datums/mutations/touch.dm index 73decd6293d..b9ee9143fcb 100644 --- a/code/datums/mutations/touch.dm +++ b/code/datums/mutations/touch.dm @@ -36,16 +36,16 @@ C.dropItemToGround(C.get_active_held_item()) C.dropItemToGround(C.get_inactive_held_item()) C.add_confusion(15) - C.visible_message("[user] electrocutes [target]!","[user] electrocutes you!") + C.visible_message(span_danger("[user] electrocutes [target]!"),span_userdanger("[user] electrocutes you!")) return ..() else - user.visible_message("[user] fails to electrocute [target]!") + user.visible_message(span_warning("[user] fails to electrocute [target]!")) return ..() else if(isliving(target)) var/mob/living/L = target L.electrocute_act(15, user, 1, SHOCK_NOSTUN) - L.visible_message("[user] electrocutes [target]!","[user] electrocutes you!") + L.visible_message(span_danger("[user] electrocutes [target]!"),span_userdanger("[user] electrocutes you!")) return ..() else - to_chat(user,"The electricity doesn't seem to affect [target]...") + to_chat(user,span_warning("The electricity doesn't seem to affect [target]...")) return ..() diff --git a/code/datums/quirks/_quirk.dm b/code/datums/quirks/_quirk.dm index 0431ff999ba..8f921e5ad5f 100644 --- a/code/datums/quirks/_quirk.dm +++ b/code/datums/quirks/_quirk.dm @@ -150,7 +150,7 @@ open_backpack = TRUE if(notify_player) - LAZYADD(where_items_spawned, "You have \a [quirk_item] [where]. [flavour_text]") + LAZYADD(where_items_spawned, span_boldnotice("You have \a [quirk_item] [where]. [flavour_text]")) /datum/quirk/item_quirk/post_add() if(open_backpack) diff --git a/code/datums/quirks/negative.dm b/code/datums/quirks/negative.dm index 2fc3cfdaea3..3d001c2960b 100644 --- a/code/datums/quirks/negative.dm +++ b/code/datums/quirks/negative.dm @@ -320,7 +320,7 @@ return if(quirk_holder.m_intent == MOVE_INTENT_RUN) - to_chat(quirk_holder, "Easy, easy, take it slow... You're in the dark...") + to_chat(quirk_holder, span_warning("Easy, easy, take it slow... you're in the dark...")) quirk_holder.toggle_move_intent() SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "nyctophobia", /datum/mood_event/nyctophobia) @@ -504,7 +504,7 @@ new_message += pick("uh,","erm,","um,") if(prob(min(5,(0.05*(nearby_people*12.5)*moodmod)))) //Max 1 in 20 chance of cutoff after a succesful filler roll, for 50% odds in a 15 word sentence quirker.silent = max(3, quirker.silent) - to_chat(quirker, "You feel self-conscious and stop talking. You need a moment to recover!") + to_chat(quirker, span_danger("You feel self-conscious and stop talking. You need a moment to recover!")) break if(prob(max(5,(nearby_people*12.5*moodmod)))) //Minimum 1/20 chance of stutter word = html_decode(word) @@ -531,14 +531,14 @@ var/mob/living/carbon/human/quirker = quirk_holder if(prob(min(50,(0.50*(nearby_people*12.5)*moodmod)))) //Max 50% chance of not talking if(dumb_thing) - to_chat(quirker, "You think of a dumb thing you said a long time ago and scream internally.") + to_chat(quirker, span_userdanger("You think of a dumb thing you said a long time ago and scream internally.")) dumb_thing = FALSE //only once per life if(prob(1)) new/obj/item/food/spaghetti/pastatomato(get_turf(quirker)) //now that's what I call spaghetti code else - to_chat(quirk_holder, "You think that wouldn't add much to the conversation and decide not to say it.") + to_chat(quirk_holder, span_warning("You think that wouldn't add much to the conversation and decide not to say it.")) if(prob(min(25,(0.25*(nearby_people*12.75)*moodmod)))) //Max 25% chance of silence stacks after succesful not talking roll - to_chat(quirker, "You retreat into yourself. You really don't feel up to talking.") + to_chat(quirker, span_danger("You retreat into yourself. You really don't feel up to talking.")) quirker.silent = max(5, quirker.silent) speech_args[SPEECH_MESSAGE] = pick("Uh.","Erm.","Um.") else @@ -552,7 +552,7 @@ if(prob(85) || (istype(mind_check) && mind_check.mind)) return - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, "You make eye contact with [A]."), 3) + addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, span_smallnotice("You make eye contact with [A].")), 3) /datum/quirk/social_anxiety/proc/eye_contact(datum/source, mob/living/other_mob, triggering_examiner) SIGNAL_HANDLER @@ -577,7 +577,7 @@ msg += "causing you to freeze up!" SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "anxiety_eyecontact", /datum/mood_event/anxiety_eyecontact) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, "[msg]"), 3) // so the examine signal has time to fire and this will print after + addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, span_userdanger("[msg]")), 3) // so the examine signal has time to fire and this will print after return COMSIG_BLOCK_EYECONTACT /datum/mood_event/anxiety_eyecontact @@ -669,7 +669,7 @@ if(deleted || missing_addiction) if(deleted) reagent_instance = new reagent_type() - to_chat(quirk_holder, "You thought you kicked it, but you feel like you're falling back onto bad habits..") + to_chat(quirk_holder, span_danger("You thought you kicked it, but you feel like you're falling back onto bad habits..")) for(var/addiction in reagent_instance.addiction_types) human_holder.mind.add_addiction_points(addiction, 1000) ///Max that shit out @@ -752,7 +752,7 @@ /datum/quirk/item_quirk/allergic/post_add() quirk_holder.mind.store_memory("You are allergic to [allergy_string]") - to_chat(quirk_holder, "You are allergic to [allergy_string], make sure not to consume any of these!") + to_chat(quirk_holder, span_boldnotice("You are allergic to [allergy_string], make sure not to consume any of these!")) /datum/quirk/item_quirk/allergic/process(delta_time) if(!iscarbon(quirk_holder)) diff --git a/code/datums/quirks/neutral.dm b/code/datums/quirks/neutral.dm index 23b52fd37a4..8db41b269ec 100644 --- a/code/datums/quirks/neutral.dm +++ b/code/datums/quirks/neutral.dm @@ -148,7 +148,7 @@ /datum/quirk/monochromatic/post_add() if(quirk_holder.mind.assigned_role == "Detective") - to_chat(quirk_holder, "Mmm. Nothing's ever clear on this station. It's all shades of gray...") + to_chat(quirk_holder, span_boldannounce("Mmm. Nothing's ever clear on this station. It's all shades of gray...")) quirk_holder.playsound_local(quirk_holder, 'sound/ambience/ambidet1.ogg', 50, FALSE) /datum/quirk/monochromatic/remove() @@ -269,7 +269,7 @@ give_item_to_holder(/obj/item/clothing/gloves/radio, list(LOCATION_GLOVES = ITEM_SLOT_GLOVES, LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS)) /datum/quirk/item_quirk/tongue_tied/post_add() - to_chat(quirk_holder, "Because you speak with your hands, having them full hinders your ability to communicate!") + to_chat(quirk_holder, span_boldannounce("Because you speak with your hands, having them full hinders your ability to communicate!")) /datum/quirk/item_quirk/photographer name = "Photographer" diff --git a/code/datums/saymode.dm b/code/datums/saymode.dm index d44abc2aadb..2b20aa1ced6 100644 --- a/code/datums/saymode.dm +++ b/code/datums/saymode.dm @@ -74,7 +74,7 @@ if(IS_MONKEY_LEADER(mind) || (ismonkey(user) && IS_INFECTED_MONKEY(mind))) user.log_talk(message, LOG_SAY, tag="monkey") if(prob(75) && ismonkey(user)) - user.visible_message("\The [user] chimpers.") + user.visible_message(span_notice("\The [user] chimpers.")) var/msg = "\[[IS_MONKEY_LEADER(mind) ? "Monkey Leader" : "Monkey"]\] [user]: [message]" for(var/_M in GLOB.mob_list) var/mob/M = _M @@ -94,5 +94,5 @@ var/datum/mafia_role/R = MF.player_role_lookup[user] if(!R || R.team != "mafia") return TRUE - MF.send_message("[R.body.real_name]: [message]","mafia") + MF.send_message(span_changeling("[R.body.real_name]: [message]"),"mafia") return FALSE diff --git a/code/datums/skills/_skill.dm b/code/datums/skills/_skill.dm index 9f8709700f3..1085068e43b 100644 --- a/code/datums/skills/_skill.dm +++ b/code/datums/skills/_skill.dm @@ -22,21 +22,21 @@ GLOBAL_LIST_INIT(skill_types, subtypesof(/datum/skill)) */ /datum/skill/New() . = ..() - levelUpMessages = list("What the hell is [name]? Tell an admin if you see this message.", //This first index shouldn't ever really be used - "I'm starting to figure out what [name] really is!", - "I'm getting a little better at [name]!", - "I'm getting much better at [name]!", - "I feel like I've become quite proficient at [name]!", + levelUpMessages = list(span_nicegreen("What the hell is [name]? Tell an admin if you see this message."), //This first index shouldn't ever really be used + span_nicegreen("I'm starting to figure out what [name] really is!"), + span_nicegreen("I'm getting a little better at [name]!"), + span_nicegreen("I'm getting much better at [name]!"), + span_nicegreen("I feel like I've become quite proficient at [name]!"), "After lots of practice, I've begun to truly understand the intricacies \ and surprising depth behind [name]. I now consider myself a master [title].", - "Through incredible determination and effort, I've reached the peak of my [name] abiltities. I'm finally able to consider myself a legendary [title]!" ) - levelDownMessages = list("I have somehow completely lost all understanding of [name]. Please tell an admin if you see this.", - "I'm starting to forget what [name] really even is. I need more practice...", - "I'm getting a little worse at [name]. I'll need to keep practicing to get better at it...", - "I'm getting a little worse at [name]...", - "I'm losing my [name] expertise ....", - "I feel like I'm losing my mastery of [name].", - "I feel as though my legendary [name] skills have deteriorated. I'll need more intense training to recover my lost skills." ) + span_nicegreen("Through incredible determination and effort, I've reached the peak of my [name] abiltities. I'm finally able to consider myself a legendary [title]!") ) + levelDownMessages = list(span_nicegreen("I have somehow completely lost all understanding of [name]. Please tell an admin if you see this."), + span_nicegreen("I'm starting to forget what [name] really even is. I need more practice..."), + span_nicegreen("I'm getting a little worse at [name]. I'll need to keep practicing to get better at it..."), + span_nicegreen("I'm getting a little worse at [name]..."), + span_nicegreen("I'm losing my [name] expertise ...."), + span_nicegreen("I feel like I'm losing my mastery of [name]."), + span_nicegreen("I feel as though my legendary [name] skills have deteriorated. I'll need more intense training to recover my lost skills.") ) /** * level_gained: Gives skill levelup messages to the user @@ -67,10 +67,10 @@ GLOBAL_LIST_INIT(skill_types, subtypesof(/datum/skill)) if (new_level != SKILL_LEVEL_LEGENDARY) return if (!ispath(skill_cape_path)) - to_chat(mind.current, "My legendary [name] skill is quite impressive, though it seems the Professional [title] Association doesn't have any status symbols to commemorate my abilities with. I should let Centcom know of this travesty, maybe they can do something about it.") + to_chat(mind.current, span_nicegreen("My legendary [name] skill is quite impressive, though it seems the Professional [title] Association doesn't have any status symbols to commemorate my abilities with. I should let Centcom know of this travesty, maybe they can do something about it.")) return if (LAZYFIND(mind.skills_rewarded, src.type)) - to_chat(mind.current, "It seems the Professional [title] Association won't send me another status symbol.") + to_chat(mind.current, span_nicegreen("It seems the Professional [title] Association won't send me another status symbol.")) return podspawn(list( "target" = get_turf(mind.current), @@ -79,5 +79,5 @@ GLOBAL_LIST_INIT(skill_types, subtypesof(/datum/skill)) "spawn" = skill_cape_path, "delays" = list(POD_TRANSIT = 150, POD_FALLING = 4, POD_OPENING = 30, POD_LEAVING = 30) )) - to_chat(mind.current, "My legendary skill has attracted the attention of the Professional [title] Association. It seems they are sending me a status symbol to commemorate my abilities.") + to_chat(mind.current, span_nicegreen("My legendary skill has attracted the attention of the Professional [title] Association. It seems they are sending me a status symbol to commemorate my abilities.")) LAZYADD(mind.skills_rewarded, src.type) diff --git a/code/datums/skills/gaming.dm b/code/datums/skills/gaming.dm index b737b7ee172..794ab1fb864 100644 --- a/code/datums/skills/gaming.dm +++ b/code/datums/skills/gaming.dm @@ -8,6 +8,6 @@ /datum/skill/gaming/New() . = ..() - levelUpMessages[1] = "I'm starting to get a hang of the controls of these games..." - levelUpMessages[4] = "I'm starting to pick up the meta of these arcade games. If I were to minmax the optimal strat and accentuate my playstyle around well-refined tech..." - levelUpMessages[6] = "Through incredible determination and effort, I've reached the peak of my [name] abilities. I wonder how I can become any more powerful... Maybe gamer fuel would actually help me play better..?" + levelUpMessages[1] = span_nicegreen("I'm starting to get a hang of the controls of these games...") + levelUpMessages[4] = span_nicegreen("I'm starting to pick up the meta of these arcade games. If I were to minmax the optimal strat and accentuate my playstyle around well-refined tech...") + levelUpMessages[6] = span_nicegreen("Through incredible determination and effort, I've reached the peak of my [name] abilities. I wonder how I can become any more powerful... Maybe gamer fuel would actually help me play better..?") diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 98ecaad6448..a114cc5a83c 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -57,13 +57,13 @@ alert_type = /atom/movable/screen/alert/status_effect/wish_granters_gift /datum/status_effect/wish_granters_gift/on_apply() - to_chat(owner, "Death is not your end! The Wish Granter's energy suffuses you, and you begin to rise...") + to_chat(owner, span_notice("Death is not your end! The Wish Granter's energy suffuses you, and you begin to rise...")) return ..() /datum/status_effect/wish_granters_gift/on_remove() owner.revive(full_heal = TRUE, admin_revive = TRUE) - owner.visible_message("[owner] appears to wake from the dead, having healed all wounds!", "You have regenerated.") + owner.visible_message(span_warning("[owner] appears to wake from the dead, having healed all wounds!"), span_notice("You have regenerated.")) /atom/movable/screen/alert/status_effect/wish_granters_gift @@ -86,7 +86,7 @@ if(isliving(B.current)) var/mob/living/M = B.current SEND_SOUND(M, sound('sound/hallucinations/veryfar_noise.ogg')) - to_chat(M, "The Cult's Master, [owner], has fallen in \the [A]!") + to_chat(M, span_cultlarge("The Cult's Master, [owner], has fallen in \the [A]!")) /datum/status_effect/cult_master/tick() if(owner.stat != DEAD && !alive) @@ -149,7 +149,7 @@ /datum/status_effect/sword_spin/on_apply() - owner.visible_message("[owner] begins swinging the sword with inhuman strength!") + owner.visible_message(span_danger("[owner] begins swinging the sword with inhuman strength!")) var/oldcolor = owner.color owner.color = "#ff0000" owner.add_stun_absorption("bloody bastard sword", duration, 2, "doesn't even flinch as the sword's power courses through them!", "You shrug off the stun!", " glowing with a blazing red aura!") @@ -168,7 +168,7 @@ slashy.attack(M, owner) /datum/status_effect/sword_spin/on_remove() - owner.visible_message("[owner]'s inhuman strength dissipates and the sword's runes grow cold!") + owner.visible_message(span_warning("[owner]'s inhuman strength dissipates and the sword's runes grow cold!")) //Used by changelings to rapidly heal @@ -258,11 +258,11 @@ qdel(L) consume_owner() //see above comment return - to_chat(itemUser, "Your arm suddenly grows back with the Rod of Asclepius still attached!") + to_chat(itemUser, span_notice("Your arm suddenly grows back with the Rod of Asclepius still attached!")) else //Otherwise get rid of whatever else is in their hand and return the rod to said hand itemUser.put_in_hand(newRod, hand, forced = TRUE) - to_chat(itemUser, "The Rod of Asclepius suddenly grows back out of your arm!") + to_chat(itemUser, span_notice("The Rod of Asclepius suddenly grows back out of your arm!")) //Because a servant of medicines stops at nothing to help others, lets keep them on their toes and give them an additional boost. if(itemUser.health < itemUser.maxHealth) new /obj/effect/temp_visual/heal(get_turf(itemUser), "#375637") @@ -293,7 +293,7 @@ SM.adjustHealth(-3.5, forced = TRUE) /datum/status_effect/hippocratic_oath/proc/consume_owner() - owner.visible_message("[owner]'s soul is absorbed into the rod, relieving the previous snake of its duty.") + owner.visible_message(span_notice("[owner]'s soul is absorbed into the rod, relieving the previous snake of its duty.")) var/list/chems = list(/datum/reagent/medicine/sal_acid, /datum/reagent/medicine/c2/convermol, /datum/reagent/medicine/oxandrolone) var/mob/living/simple_animal/hostile/retaliate/snake/healSnake = new(owner.loc, pick(chems)) healSnake.name = "Asclepius's Snake" @@ -349,7 +349,7 @@ examine_text = "They seem to be covered in a dull, grey aura." /datum/status_effect/antimagic/on_apply() - owner.visible_message("[owner] is coated with a dull aura!") + owner.visible_message(span_notice("[owner] is coated with a dull aura!")) ADD_TRAIT(owner, TRAIT_ANTIMAGIC, MAGIC_TRAIT) //glowing wings overlay playsound(owner, 'sound/weapons/fwoosh.ogg', 75, FALSE) @@ -357,7 +357,7 @@ /datum/status_effect/antimagic/on_remove() REMOVE_TRAIT(owner, TRAIT_ANTIMAGIC, MAGIC_TRAIT) - owner.visible_message("[owner]'s dull aura fades away...") + owner.visible_message(span_warning("[owner]'s dull aura fades away...")) /datum/status_effect/crucible_soul id = "Blessing of Crucible Soul" @@ -369,13 +369,13 @@ /datum/status_effect/crucible_soul/on_apply() . = ..() - to_chat(owner,"You phase through reality, nothing is out of bounds!") + to_chat(owner,span_notice("You phase through reality, nothing is out of bounds!")) owner.alpha = 180 owner.pass_flags |= PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSMACHINE | PASSSTRUCTURE | PASSTABLE | PASSMOB | PASSDOORS location = get_turf(owner) /datum/status_effect/crucible_soul/on_remove() - to_chat(owner,"You regain your physicality, returning you to your original location...") + to_chat(owner,span_notice("You regain your physicality, returning you to your original location...")) owner.alpha = initial(owner.alpha) owner.pass_flags &= ~(PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSMACHINE | PASSSTRUCTURE | PASSTABLE | PASSMOB | PASSDOORS) owner.forceMove(location) @@ -462,12 +462,12 @@ /datum/status_effect/lightningorb/on_apply() . = ..() owner.add_movespeed_modifier(/datum/movespeed_modifier/yellow_orb) - to_chat(owner, "You feel fast!") + to_chat(owner, span_notice("You feel fast!")) /datum/status_effect/lightningorb/on_remove() . = ..() owner.remove_movespeed_modifier(/datum/movespeed_modifier/yellow_orb) - to_chat(owner, "You slow down.") + to_chat(owner, span_notice("You slow down.")) /atom/movable/screen/alert/status_effect/lightningorb name = "Lightning Orb" @@ -492,13 +492,13 @@ owner.put_in_hands(chainsaw, forced = TRUE) chainsaw.attack_self(owner) owner.reagents.add_reagent(/datum/reagent/medicine/adminordrazine,25) - to_chat(owner, "KILL, KILL, KILL! YOU HAVE NO ALLIES ANYMORE, KILL THEM ALL!") + to_chat(owner, span_warning("KILL, KILL, KILL! YOU HAVE NO ALLIES ANYMORE, KILL THEM ALL!")) var/datum/client_colour/colour = owner.add_client_colour(/datum/client_colour/bloodlust) QDEL_IN(colour, 1.1 SECONDS) /datum/status_effect/mayhem/on_remove() . = ..() - to_chat(owner, "Your bloodlust seeps back into the bog of your subconscious and you regain self control.") + to_chat(owner, span_notice("Your bloodlust seeps back into the bog of your subconscious and you regain self control.")) owner.log_message("exited a blood frenzy", LOG_ATTACK) QDEL_NULL(chainsaw) diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 893e62696b6..588709f1b3c 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -272,11 +272,11 @@ if(!.) return - to_chat(owner, "You attempt to remove the durathread strand from around your neck.") + to_chat(owner, span_notice("You attempt to remove the durathread strand from around your neck.")) if(do_after(owner, 3.5 SECONDS, owner)) if(isliving(owner)) var/mob/living/living_owner = owner - to_chat(living_owner, "You succesfuly remove the durathread strand.") + to_chat(living_owner, span_notice("You succesfuly remove the durathread strand.")) living_owner.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND) //OTHER DEBUFFS @@ -640,7 +640,7 @@ ADD_TRAIT(owner, TRAIT_PACIFISM, CLOTHING_TRAIT) ADD_TRAIT(owner, TRAIT_MUTE, CLOTHING_TRAIT) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, type, /datum/mood_event/gondola) - to_chat(owner, "You suddenly feel at peace and feel no need to make any sudden or rash actions...") + to_chat(owner, span_notice("You suddenly feel at peace and feel no need to make any sudden or rash actions...")) /datum/status_effect/gonbola_pacify/on_remove() REMOVE_TRAIT(owner, TRAIT_PACIFISM, CLOTHING_TRAIT) @@ -673,8 +673,8 @@ RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/hypnotize) ADD_TRAIT(owner, TRAIT_MUTE, STATUS_EFFECT_TRAIT) owner.add_client_colour(/datum/client_colour/monochrome/trance) - owner.visible_message("[stun ? "[owner] stands still as [owner.p_their()] eyes seem to focus on a distant point." : ""]", \ - "[pick("You feel your thoughts slow down...", "You suddenly feel extremely dizzy...", "You feel like you're in the middle of a dream...","You feel incredibly relaxed...")]") + owner.visible_message("[stun ? span_warning("[owner] stands still as [owner.p_their()] eyes seem to focus on a distant point.") : ""]", \ + span_warning("[pick("You feel your thoughts slow down...", "You suddenly feel extremely dizzy...", "You feel like you're in the middle of a dream...","You feel incredibly relaxed...")]")) return TRUE /datum/status_effect/trance/on_creation(mob/living/new_owner, _duration, _stun = TRUE) @@ -687,7 +687,7 @@ REMOVE_TRAIT(owner, TRAIT_MUTE, STATUS_EFFECT_TRAIT) owner.dizziness = 0 owner.remove_client_colour(/datum/client_colour/monochrome/trance) - to_chat(owner, "You snap out of your trance!") + to_chat(owner, span_warning("You snap out of your trance!")) /datum/status_effect/trance/proc/hypnotize(datum/source, list/hearing_args) SIGNAL_HANDLER @@ -716,14 +716,14 @@ switch(rand(1,5)) if(1) if((owner.mobility_flags & MOBILITY_MOVE) && isturf(owner.loc)) - to_chat(owner, "Your leg spasms!") + to_chat(owner, span_warning("Your leg spasms!")) step(owner, pick(GLOB.cardinals)) if(2) if(owner.incapacitated()) return var/obj/item/I = owner.get_active_held_item() if(I) - to_chat(owner, "Your fingers spasm!") + to_chat(owner, span_warning("Your fingers spasm!")) owner.log_message("used [I] due to a Muscle Spasm", LOG_ATTACK) I.attack_self(owner) if(3) @@ -738,13 +738,13 @@ if(isliving(M)) targets += M if(LAZYLEN(targets)) - to_chat(owner, "Your arm spasms!") + to_chat(owner, span_warning("Your arm spasms!")) owner.log_message(" attacked someone due to a Muscle Spasm", LOG_ATTACK) //the following attack will log itself owner.ClickOn(pick(targets)) owner.set_combat_mode(FALSE) if(4) owner.set_combat_mode(TRUE) - to_chat(owner, "Your arm spasms!") + to_chat(owner, span_warning("Your arm spasms!")) owner.log_message("attacked [owner.p_them()]self to a Muscle Spasm", LOG_ATTACK) owner.ClickOn(owner) owner.set_combat_mode(FALSE) @@ -756,7 +756,7 @@ for(var/turf/T in oview(owner, 3)) targets += T if(LAZYLEN(targets) && I) - to_chat(owner, "Your arm spasms!") + to_chat(owner, span_warning("Your arm spasms!")) owner.log_message("threw [I] due to a Muscle Spasm", LOG_ATTACK) owner.throw_item(pick(targets)) @@ -768,14 +768,14 @@ /datum/status_effect/convulsing/on_creation(mob/living/zappy_boy) . = ..() - to_chat(zappy_boy, "You feel a shock moving through your body! Your hands start shaking!") + to_chat(zappy_boy, span_boldwarning("You feel a shock moving through your body! Your hands start shaking!")) /datum/status_effect/convulsing/tick() var/mob/living/carbon/H = owner if(prob(40)) var/obj/item/I = H.get_active_held_item() if(I && H.dropItemToGround(I)) - H.visible_message("[H]'s hand convulses, and they drop their [I.name]!","Your hand convulses violently, and you drop what you were holding!") + H.visible_message(span_notice("[H]'s hand convulses, and they drop their [I.name]!"),span_userdanger("Your hand convulses violently, and you drop what you were holding!")) H.jitteriness += 5 /atom/movable/screen/alert/status_effect/convulsing @@ -792,7 +792,7 @@ /datum/status_effect/dna_melt/on_creation(mob/living/new_owner, set_duration) . = ..() - to_chat(new_owner, "My body can't handle the mutations! I need to get my mutations removed fast!") + to_chat(new_owner, span_boldwarning("My body can't handle the mutations! I need to get my mutations removed fast!")) /datum/status_effect/dna_melt/on_remove() if(!ishuman(owner)) @@ -843,25 +843,25 @@ switch(msg_stage) if(0 to 300) if(prob(1)) - fake_msg = pick("[pick("Your head hurts.", "Your head pounds.")]", - "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]", - "[pick("You feel dizzy.", "Your head spins.")]", + fake_msg = pick(span_warning("[pick("Your head hurts.", "Your head pounds.")]"), + span_warning("[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]"), + span_warning("[pick("You feel dizzy.", "Your head spins.")]"), "[pick("You swallow excess mucus.", "You lightly cough.")]", - "[pick("Your head hurts.", "Your mind blanks for a moment.")]", - "[pick("Your throat hurts.", "You clear your throat.")]") + span_warning("[pick("Your head hurts.", "Your mind blanks for a moment.")]"), + span_warning("[pick("Your throat hurts.", "You clear your throat.")]")) if(301 to 600) if(prob(2)) - fake_msg = pick("[pick("Your head hurts a lot.", "Your head pounds incessantly.")]", - "[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]", - "You feel very [pick("dizzy","woozy","faint")].", - "[pick("You hear a ringing in your ear.", "Your ears pop.")]", - "You nod off for a moment.") + fake_msg = pick(span_warning("[pick("Your head hurts a lot.", "Your head pounds incessantly.")]"), + span_warning("[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]"), + span_warning("You feel very [pick("dizzy","woozy","faint")]."), + span_warning("[pick("You hear a ringing in your ear.", "Your ears pop.")]"), + span_warning("You nod off for a moment.")) else if(prob(3)) if(prob(50))// coin flip to throw a message or an emote - fake_msg = pick("[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]", - "[pick("Your lungs hurt!", "It hurts to breathe!")]", - "[pick("You feel nauseated.", "You feel like you're going to throw up!")]") + fake_msg = pick(span_userdanger("[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]"), + span_userdanger("[pick("Your lungs hurt!", "It hurts to breathe!")]"), + span_warning("[pick("You feel nauseated.", "You feel like you're going to throw up!")]")) else fake_emote = pick("cough", "sniff", "sneeze") @@ -880,7 +880,7 @@ /datum/status_effect/corrosion_curse/on_creation(mob/living/new_owner, ...) . = ..() - to_chat(owner, "Your feel your body starting to break apart...") + to_chat(owner, span_danger("Your feel your body starting to break apart...")) /datum/status_effect/corrosion_curse/tick() . = ..() @@ -919,7 +919,7 @@ /datum/status_effect/amok/on_apply(mob/living/afflicted) . = ..() - to_chat(owner, "You feel filled with a rage that is not your own!") + to_chat(owner, span_boldwarning("You feel filled with a rage that is not your own!")) /datum/status_effect/amok/tick() . = ..() diff --git a/code/datums/status_effects/drug_effects.dm b/code/datums/status_effects/drug_effects.dm index 2cf561f5d14..dcc45e5c5c2 100644 --- a/code/datums/status_effects/drug_effects.dm +++ b/code/datums/status_effects/drug_effects.dm @@ -50,8 +50,8 @@ duration = amplitude owner.Jitter(50) owner.Paralyze(duration) - owner.visible_message("[owner] drops to the ground as [owner.p_they()] start seizing up.", \ - "[pick("You can't collect your thoughts...", "You suddenly feel extremely dizzy...", "You cant think straight...","You can't move your face properly anymore...")]") + owner.visible_message(span_warning("[owner] drops to the ground as [owner.p_they()] start seizing up."), \ + span_warning("[pick("You can't collect your thoughts...", "You suddenly feel extremely dizzy...", "You cant think straight...","You can't move your face properly anymore...")]")) return TRUE /atom/movable/screen/alert/status_effect/seizure diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index e272b2b7bca..c4e671cdbfe 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -18,7 +18,7 @@ ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist) if(!owner.stat) - to_chat(owner, "You become frozen in a cube!") + to_chat(owner, span_userdanger("You become frozen in a cube!")) cube = icon('icons/effects/freeze.dmi', "ice_cube") owner.add_overlay(cube) @@ -32,16 +32,16 @@ INVOKE_ASYNC(src, .proc/do_resist) /datum/status_effect/freon/proc/do_resist() - to_chat(owner, "You start breaking out of the ice cube...") + to_chat(owner, span_notice("You start breaking out of the ice cube...")) if(do_mob(owner, owner, 40)) if(!QDELETED(src)) - to_chat(owner, "You break out of the ice cube!") + to_chat(owner, span_notice("You break out of the ice cube!")) owner.remove_status_effect(/datum/status_effect/freon) /datum/status_effect/freon/on_remove() if(!owner.stat) - to_chat(owner, "The cube melts!") + to_chat(owner, span_notice("The cube melts!")) owner.cut_overlay(cube) owner.adjust_bodytemperature(100) UnregisterSignal(owner, COMSIG_LIVING_RESIST) diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 487fc0e187c..b2500d2a697 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -92,7 +92,7 @@ rewarded = caster /datum/status_effect/bounty/on_apply() - to_chat(owner, "You hear something behind you talking... You have been marked for death by [rewarded]. If you die, they will be rewarded.") + to_chat(owner, span_boldnotice("You hear something behind you talking...
You have been marked for death by [rewarded]. If you die, they will be rewarded.")) playsound(owner, 'sound/weapons/gun/shotgun/rack.ogg', 75, FALSE) return ..() @@ -103,9 +103,9 @@ /datum/status_effect/bounty/proc/rewards() if(rewarded && rewarded.mind && rewarded.stat != DEAD) - to_chat(owner, "You hear something behind you talking... Bounty claimed.") + to_chat(owner, span_boldnotice("You hear something behind you talking... Bounty claimed.")) playsound(owner, 'sound/weapons/gun/shotgun/shot.ogg', 75, FALSE) - to_chat(rewarded, "You feel a surge of mana flow into you!") + to_chat(rewarded, span_greentext("You feel a surge of mana flow into you!")) for(var/obj/effect/proc_holder/spell/spell in rewarded.mind.spell_list) spell.charge_counter = spell.charge_max spell.recharging = FALSE @@ -168,8 +168,8 @@ return slap_item = slap - owner.visible_message("[owner] raises [owner.p_their()] arm, looking for a high-five!", \ - "You post up, looking for a high-five!", null, 2) + owner.visible_message(span_notice("[owner] raises [owner.p_their()] arm, looking for a high-five!"), \ + span_notice("You post up, looking for a high-five!"), null, 2) for(var/mob/living/carbon/possible_taker in orange(1, owner)) if(!owner.CanReach(possible_taker) || possible_taker.incapacitated()) @@ -177,8 +177,8 @@ register_candidate(possible_taker) if(!possible_takers) // in case we tried high-fiving with only a dead body around or something - owner.visible_message("[owner] realizes no one within range is actually capable of high-fiving, lowering [owner.p_their()] arm in shame...", \ - "You realize a moment too late that no one within range is actually capable of high-fiving you, oof...", null, 2) + owner.visible_message(span_danger("[owner] realizes no one within range is actually capable of high-fiving, lowering [owner.p_their()] arm in shame..."), \ + span_warning("You realize a moment too late that no one within range is actually capable of high-fiving you, oof..."), null, 2) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five_alone) qdel(src) return @@ -212,8 +212,8 @@ /// We failed to high-five broh, either because there's no one viable next to us anymore, or we lost the slapper, or what /datum/status_effect/high_fiving/proc/fail() - owner.visible_message("[owner] slowly lowers [owner.p_their()] arm, realizing no one will high-five [owner.p_them()]! How embarassing...", \ - "You realize the futility of continuing to wait for a high-five, and lower your arm...", null, 2) + owner.visible_message(span_danger("[owner] slowly lowers [owner.p_their()] arm, realizing no one will high-five [owner.p_them()]! How embarassing..."), \ + span_warning("You realize the futility of continuing to wait for a high-five, and lower your arm..."), null, 2) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/left_hanging) qdel(src) @@ -226,7 +226,7 @@ open_hands_taker++ if(!open_hands_taker) - to_chat(successful_taker, "You can't high-five [owner] with no open hands!") + to_chat(successful_taker, span_warning("You can't high-five [owner] with no open hands!")) SEND_SIGNAL(successful_taker, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five_full_hand) // not so successful now! return @@ -240,14 +240,14 @@ return if(slappers_owner >= 2) // we only check this if it's already established the taker has 2+ hands free - owner.visible_message("[successful_taker] enthusiastically high-tens [owner]!", "Wow! You're high-tenned [successful_taker]!", "You hear a sickening sound of flesh hitting flesh!", ignored_mobs=successful_taker) - to_chat(successful_taker, "You give high-tenning [owner] your all!") + owner.visible_message(span_notice("[successful_taker] enthusiastically high-tens [owner]!"), span_nicegreen("Wow! You're high-tenned [successful_taker]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), ignored_mobs=successful_taker) + to_chat(successful_taker, span_nicegreen("You give high-tenning [owner] your all!")) playsound(owner, 'sound/weapons/slap.ogg', 100, TRUE, 1) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_ten) SEND_SIGNAL(successful_taker, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_ten) else - owner.visible_message("[successful_taker] high-fives [owner]!", "All right! You're high-fived by [successful_taker]!", "You hear a sickening sound of flesh hitting flesh!", ignored_mobs=successful_taker) - to_chat(successful_taker, "You high-five [owner]!") + owner.visible_message(span_notice("[successful_taker] high-fives [owner]!"), span_nicegreen("All right! You're high-fived by [successful_taker]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), ignored_mobs=successful_taker) + to_chat(successful_taker, span_nicegreen("You high-five [owner]!")) playsound(owner, 'sound/weapons/slap.ogg', 50, TRUE, -1) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five) SEND_SIGNAL(successful_taker, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five) @@ -255,8 +255,8 @@ /// If we don't have any slappers in hand when someone goes to high-five us, we prank the hell out of them /datum/status_effect/high_fiving/proc/too_slow_p1(mob/living/carbon/rube) - owner.visible_message("[rube] rushes in to high-five [owner], but-", "[rube] falls for your trick just as planned, lunging for a high-five that no longer exists! Classic!", ignored_mobs=rube) - to_chat(rube, "You go in for [owner]'s high-five, but-") + owner.visible_message(span_notice("[rube] rushes in to high-five [owner], but-"), span_nicegreen("[rube] falls for your trick just as planned, lunging for a high-five that no longer exists! Classic!"), ignored_mobs=rube) + to_chat(rube, span_nicegreen("You go in for [owner]'s high-five, but-")) addtimer(CALLBACK(src, .proc/too_slow_p2, rube), 0.5 SECONDS) /// Part two of the ultimate prank @@ -264,9 +264,9 @@ if(!owner || !rube) qdel(src) return - owner.visible_message("[owner] pulls away from [rube]'s slap at the last second, dodging the high-five entirely!", "[rube] fails to make contact with your hand, making an utter fool of [rube.p_them()]self!", "You hear a disappointing sound of flesh not hitting flesh!", ignored_mobs=rube) + owner.visible_message(span_danger("[owner] pulls away from [rube]'s slap at the last second, dodging the high-five entirely!"), span_nicegreen("[rube] fails to make contact with your hand, making an utter fool of [rube.p_them()]self!"), span_hear("You hear a disappointing sound of flesh not hitting flesh!"), ignored_mobs=rube) var/all_caps_for_emphasis = uppertext("NO! [owner] PULLS [owner.p_their()] HAND AWAY FROM YOURS! YOU'RE TOO SLOW!") - to_chat(rube, "[all_caps_for_emphasis]") + to_chat(rube, span_userdanger("[all_caps_for_emphasis]")) playsound(owner, 'sound/weapons/thudswoosh.ogg', 100, TRUE, 1) rube.Knockdown(1 SECONDS) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/down_low) @@ -278,7 +278,7 @@ SIGNAL_HANDLER if(!slap_item) - examine_list += "[owner]'s arm appears tensed up, as if [owner.p_they()] plan on pulling it back suddenly...\n" + examine_list += "[span_warning("[owner]'s arm appears tensed up, as if [owner.p_they()] plan on pulling it back suddenly...")]\n" /// One of our possible takers moved, see if they left us hanging /datum/status_effect/high_fiving/proc/check_taker_in_range(mob/living/carbon/taker) @@ -286,7 +286,7 @@ if(owner.CanReach(taker) && !taker.incapacitated()) return - to_chat(taker, "You left [owner] hanging!") + to_chat(taker, span_warning("You left [owner] hanging!")) remove_candidate(taker) if(!possible_takers) fail() @@ -408,7 +408,7 @@ //These run on specific cycles switch(current_cycle) if(0) - to_chat(owner, "You feel like you're being pulled across to somewhere else. You feel empty inside.") + to_chat(owner, span_userdanger("You feel like you're being pulled across to somewhere else. You feel empty inside.")) //phase 1 if(1 to EIGENSTASIUM_PHASE_1_END) @@ -418,7 +418,7 @@ //phase 2 if(EIGENSTASIUM_PHASE_1_END to EIGENSTASIUM_PHASE_2_END) if(current_cycle == 51) - to_chat(owner, "You start to convlse violently as you feel your consciousness merges across realities, your possessions flying wildy off your body!") + to_chat(owner, span_userdanger("You start to convlse violently as you feel your consciousness merges across realities, your possessions flying wildy off your body!")) owner.Jitter(200) owner.Knockdown(10) var/items = owner.get_contents() @@ -436,7 +436,7 @@ switch(phase_3_cycle) //Loops 0 -> 1 -> 2 -> 1 -> 2 -> 1 ...ect. if(0) owner.Jitter(100) - to_chat(owner, "Your eigenstate starts to rip apart, drawing in alternative reality versions of yourself!") + to_chat(owner, span_userdanger("Your eigenstate starts to rip apart, drawing in alternative reality versions of yourself!")) if(1) var/typepath = owner.type alt_clone = new typepath(owner.loc) @@ -500,7 +500,7 @@ do_sparks(5, FALSE, owner) owner.Sleeping(100) owner.Jitter(50) - to_chat(owner, "You feel your eigenstate settle, as \"you\" become an alternative version of yourself!") + to_chat(owner, span_userdanger("You feel your eigenstate settle, as \"you\" become an alternative version of yourself!")) owner.emote("me",1,"flashes into reality suddenly, gasping as they gaze around in a bewildered and highly confused fashion!",TRUE) log_game("FERMICHEM: [owner] ckey: [owner.key] has become an alternative universe version of themselves.") //new you new stuff diff --git a/code/datums/status_effects/wound_effects.dm b/code/datums/status_effects/wound_effects.dm index 21a792ef60c..07fd641114f 100644 --- a/code/datums/status_effects/wound_effects.dm +++ b/code/datums/status_effects/wound_effects.dm @@ -11,14 +11,14 @@ /datum/status_effect/determined/on_apply() . = ..() - owner.visible_message("[owner]'s body tenses up noticeably, gritting against [owner.p_their()] pain!", "Your senses sharpen as your body tenses up from the wounds you've sustained!", \ + owner.visible_message(span_danger("[owner]'s body tenses up noticeably, gritting against [owner.p_their()] pain!"), span_notice("Your senses sharpen as your body tenses up from the wounds you've sustained!"), \ vision_distance=COMBAT_MESSAGE_RANGE) if(ishuman(owner)) var/mob/living/carbon/human/human_owner = owner human_owner.physiology.bleed_mod *= WOUND_DETERMINATION_BLEED_MOD /datum/status_effect/determined/on_remove() - owner.visible_message("[owner]'s body slackens noticeably!", "Your adrenaline rush dies off, and the pain from your wounds come aching back in...", vision_distance=COMBAT_MESSAGE_RANGE) + owner.visible_message(span_danger("[owner]'s body slackens noticeably!"), span_warning("Your adrenaline rush dies off, and the pain from your wounds come aching back in..."), vision_distance=COMBAT_MESSAGE_RANGE) if(ishuman(owner)) var/mob/living/carbon/human/human_owner = owner human_owner.physiology.bleed_mod /= WOUND_DETERMINATION_BLEED_MOD diff --git a/code/datums/tgs_event_handler.dm b/code/datums/tgs_event_handler.dm index e167b523fe9..6bf806915a0 100644 --- a/code/datums/tgs_event_handler.dm +++ b/code/datums/tgs_event_handler.dm @@ -20,7 +20,7 @@ message_admins("TGS: Deployment failed!") if(TGS_EVENT_DEPLOYMENT_COMPLETE) message_admins("TGS: Deployment complete!") - to_chat(world, "Server updated, changes will be applied on the next round...") + to_chat(world, span_boldannounce("Server updated, changes will be applied on the next round...")) if(TGS_EVENT_WATCHDOG_DETACH) message_admins("TGS restarting...") reattach_timer = addtimer(CALLBACK(src, .proc/LateOnReattach), 1 MINUTES, TIMER_STOPPABLE) @@ -28,14 +28,14 @@ var/datum/tgs_version/old_version = world.TgsVersion() var/datum/tgs_version/new_version = args[2] if(!old_version.Equals(new_version)) - to_chat(world, "TGS updated to v[new_version.deprefixed_parameter]") + to_chat(world, span_boldannounce("TGS updated to v[new_version.deprefixed_parameter]")) else message_admins("TGS: Back online") if(reattach_timer) deltimer(reattach_timer) reattach_timer = null if(TGS_EVENT_WATCHDOG_SHUTDOWN) - to_chat_immediate(world, "Server is shutting down!") + to_chat_immediate(world, span_boldannounce("Server is shutting down!")) /datum/tgs_event_handler/impl/proc/LateOnReattach() message_admins("Warning: TGS hasn't notified us of it coming back for a full minute! Is there a problem?") diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm index 70c5fd15686..ca6cb66aa2b 100644 --- a/code/datums/wires/_wires.dm +++ b/code/datums/wires/_wires.dm @@ -315,7 +315,7 @@ cut_color(target_wire) . = TRUE else - to_chat(L, "You need wirecutters!") + to_chat(L, span_warning("You need wirecutters!")) if("pulse") I = L.is_holding_tool_quality(TOOL_MULTITOOL) if(I || isAdminGhostAI(usr)) @@ -324,7 +324,7 @@ pulse_color(target_wire, L) . = TRUE else - to_chat(L, "You need a multitool!") + to_chat(L, span_warning("You need a multitool!")) if("attach") if(is_attached(target_wire)) I = detach_assembly(target_wire) @@ -342,6 +342,6 @@ A.forceMove(L.drop_location()) . = TRUE else - to_chat(L, "You need an attachable assembly!") + to_chat(L, span_warning("You need an attachable assembly!")) #undef MAXIMUM_EMP_WIRES diff --git a/code/datums/wires/mulebot.dm b/code/datums/wires/mulebot.dm index ebb6273000e..395c0d52b05 100644 --- a/code/datums/wires/mulebot.dm +++ b/code/datums/wires/mulebot.dm @@ -25,13 +25,13 @@ return //logically mulebots can't flash and beep if they don't have power. switch(wire) if(WIRE_POWER1, WIRE_POWER2) - holder.visible_message("[icon2html(M, viewers(holder))] The charge light flickers.") + holder.visible_message(span_notice("[icon2html(M, viewers(holder))] The charge light flickers.")) if(WIRE_AVOIDANCE) - holder.visible_message("[icon2html(M, viewers(holder))] The external warning lights flash briefly.") + holder.visible_message(span_notice("[icon2html(M, viewers(holder))] The external warning lights flash briefly.")) flick("[M.base_icon]1", M) if(WIRE_LOADCHECK) - holder.visible_message("[icon2html(M, viewers(holder))] The load platform clunks.") + holder.visible_message(span_notice("[icon2html(M, viewers(holder))] The load platform clunks.")) if(WIRE_MOTOR1, WIRE_MOTOR2) - holder.visible_message("[icon2html(M, viewers(holder))] The drive motor whines briefly.") + holder.visible_message(span_notice("[icon2html(M, viewers(holder))] The drive motor whines briefly.")) else - holder.visible_message("[icon2html(M, viewers(holder))] You hear a radio crackle.") + holder.visible_message(span_notice("[icon2html(M, viewers(holder))] You hear a radio crackle.")) diff --git a/code/datums/wires/robot.dm b/code/datums/wires/robot.dm index 1768f361274..20935e04731 100644 --- a/code/datums/wires/robot.dm +++ b/code/datums/wires/robot.dm @@ -50,17 +50,17 @@ if(WIRE_CAMERA) // Pulse to disable the camera. if(!QDELETED(R.builtInCamera) && !R.scrambledcodes) R.builtInCamera.toggle_cam(usr, 0) - R.visible_message("[R]'s camera lens focuses loudly.", "Your camera lens focuses loudly.") + R.visible_message(span_notice("[R]'s camera lens focuses loudly."), span_notice("Your camera lens focuses loudly.")) if(WIRE_LAWSYNC) // Forces a law update if possible. if(R.lawupdate) - R.visible_message("[R] gently chimes.", "LawSync protocol engaged.") + R.visible_message(span_notice("[R] gently chimes."), span_notice("LawSync protocol engaged.")) R.lawsync() R.show_laws() if(WIRE_LOCKDOWN) R.SetLockdown(!R.lockcharge) // Toggle if(WIRE_RESET_MODEL) if(R.has_model()) - R.visible_message("[R]'s model servos twitch.", "Your model display flickers.") + R.visible_message(span_notice("[R]'s model servos twitch."), span_notice("Your model display flickers.")) /datum/wires/robot/on_cut(wire, mend) var/mob/living/silicon/robot/R = holder @@ -83,7 +83,7 @@ if(!QDELETED(R.builtInCamera) && !R.scrambledcodes) R.builtInCamera.status = mend R.builtInCamera.toggle_cam(usr, 0) - R.visible_message("[R]'s camera lens focuses loudly.", "Your camera lens focuses loudly.") + R.visible_message(span_notice("[R]'s camera lens focuses loudly."), span_notice("Your camera lens focuses loudly.")) R.logevent("Camera Module fault [mend?"cleared":"detected"]") if(WIRE_LOCKDOWN) // Simple lockdown. R.SetLockdown(!mend) diff --git a/code/datums/wires/roulette.dm b/code/datums/wires/roulette.dm index 4d0b08e6bf6..219a213a25d 100644 --- a/code/datums/wires/roulette.dm +++ b/code/datums/wires/roulette.dm @@ -41,14 +41,14 @@ R.set_anchored(!R.anchored) if(WIRE_RESETOWNER) R.my_card = null - R.audible_message("Owner reset!") + R.audible_message(span_warning("Owner reset!")) R.locked = FALSE if(WIRE_PRIZEVEND) if(isliving(usr)) R.shock(usr, 70) if(R.locked) return - R.audible_message("Unauthorized prize vend detected! Locking down machine!") + R.audible_message(span_warning("Unauthorized prize vend detected! Locking down machine!")) R.prize_theft(0.20) /datum/wires/roulette/on_cut(wire, mend) @@ -73,6 +73,6 @@ R.shock(usr, 75) if(R.locked) return - R.audible_message("Unauthorized prize vend detected! Locking down machine!") + R.audible_message(span_warning("Unauthorized prize vend detected! Locking down machine!")) R.prize_theft(0.10) diff --git a/code/datums/wires/syndicatebomb.dm b/code/datums/wires/syndicatebomb.dm index 72d903e5b11..b233d192150 100644 --- a/code/datums/wires/syndicatebomb.dm +++ b/code/datums/wires/syndicatebomb.dm @@ -22,24 +22,24 @@ switch(wire) if(WIRE_BOOM) if(B.active) - holder.visible_message("[icon2html(B, viewers(holder))] An alarm sounds! It's go-") + holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-")) B.explode_now = TRUE tell_admins(B) else - holder.visible_message("[icon2html(B, viewers(holder))] Nothing happens.") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] Nothing happens.")) if(WIRE_UNBOLT) - holder.visible_message("[icon2html(B, viewers(holder))] The bolts spin in place for a moment.") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bolts spin in place for a moment.")) if(WIRE_DELAY) if(B.delayedbig) - holder.visible_message("[icon2html(B, viewers(holder))] Nothing happens.") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] Nothing happens.")) else - holder.visible_message("[icon2html(B, viewers(holder))] The bomb chirps.") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bomb chirps.")) playsound(B, 'sound/machines/chime.ogg', 30, TRUE) B.detonation_timer += 300 if(B.active) B.delayedbig = TRUE if(WIRE_PROCEED) - holder.visible_message("[icon2html(B, viewers(holder))] The bomb buzzes ominously!") + holder.visible_message(span_danger("[icon2html(B, viewers(holder))] The bomb buzzes ominously!")) playsound(B, 'sound/machines/buzz-sigh.ogg', 30, TRUE) var/seconds = B.seconds_remaining() if(seconds >= 61) // Long fuse bombs can suddenly become more dangerous if you tinker with them. @@ -50,13 +50,13 @@ B.detonation_timer = world.time + 100 if(WIRE_ACTIVATE) if(!B.active) - holder.visible_message("[icon2html(B, viewers(holder))] You hear the bomb start ticking!") + holder.visible_message(span_danger("[icon2html(B, viewers(holder))] You hear the bomb start ticking!")) B.activate() B.update_appearance() else if(B.delayedlittle) - holder.visible_message("[icon2html(B, viewers(holder))] Nothing happens.") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] Nothing happens.")) else - holder.visible_message("[icon2html(B, viewers(holder))] The bomb seems to hesitate for a moment.") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bomb seems to hesitate for a moment.")) B.detonation_timer += 100 B.delayedlittle = TRUE @@ -65,22 +65,22 @@ switch(wire) if(WIRE_BOOM) if(!mend && B.active) - holder.visible_message("[icon2html(B, viewers(holder))] An alarm sounds! It's go-") + holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-")) B.explode_now = TRUE tell_admins(B) if(WIRE_UNBOLT) if(!mend && B.anchored) - holder.visible_message("[icon2html(B, viewers(holder))] The bolts lift out of the ground!") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bolts lift out of the ground!")) playsound(B, 'sound/effects/stealthoff.ogg', 30, TRUE) B.set_anchored(FALSE) if(WIRE_PROCEED) if(!mend && B.active) - holder.visible_message("[icon2html(B, viewers(holder))] An alarm sounds! It's go-") + holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-")) B.explode_now = TRUE tell_admins(B) if(WIRE_ACTIVATE) if(!mend && B.active) - holder.visible_message("[icon2html(B, viewers(holder))] The timer stops! The bomb has been defused!") + holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The timer stops! The bomb has been defused!")) B.active = FALSE B.delayedlittle = FALSE B.delayedbig = FALSE diff --git a/code/datums/world_topic.dm b/code/datums/world_topic.dm index 5efc6b69966..6663f223ce3 100644 --- a/code/datums/world_topic.dm +++ b/code/datums/world_topic.dm @@ -75,7 +75,7 @@ if(PRcounts[id] > PR_ANNOUNCEMENTS_PER_ROUND) return - var/final_composed = "PR: [input[keyword]]" + var/final_composed = span_announce("PR: [input[keyword]]") for(var/client/C in GLOB.clients) C.AnnouncePR(final_composed) @@ -84,7 +84,7 @@ require_comms_key = TRUE /datum/world_topic/ahelp_relay/Run(list/input) - relay_msg_admins("HELP: [input["source"]] [input["message_sender"]]: [input["message"]]") + relay_msg_admins(span_adminnotice("HELP: [input["source"]] [input["message_sender"]]: [input["message"]]")) /datum/world_topic/comms_console keyword = "Comms_Console" diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index 1364fa78720..22f00c5bd8f 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -144,14 +144,14 @@ return if(!(silent || demoted)) - var/msg = "[victim]'s [limb.name] [occur_text]!" + var/msg = span_danger("[victim]'s [limb.name] [occur_text]!") var/vis_dist = COMBAT_MESSAGE_RANGE if(severity != WOUND_SEVERITY_MODERATE) msg = "[msg]" vis_dist = DEFAULT_MESSAGE_RANGE - victim.visible_message(msg, "Your [limb.name] [occur_text]!", vision_distance = vis_dist) + victim.visible_message(msg, span_userdanger("Your [limb.name] [occur_text]!"), vision_distance = vis_dist) if(sound_effect) playsound(L.owner, sound_effect, 70 + 20 * severity, TRUE) @@ -309,7 +309,7 @@ // now that we've determined we have a valid attempt at treating, we can stomp on their dreams if we're already interacting with the patient or if their part is obscured if(DOING_INTERACTION_WITH_TARGET(user, victim)) - to_chat(user, "You're already interacting with [victim]!") + to_chat(user, span_warning("You're already interacting with [victim]!")) return TRUE // next we check if the bodypart in actually accessible (not under thick clothing). We skip the species trait check since skellies diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm index 7ef875e76e6..50fbbeefc84 100644 --- a/code/datums/wounds/bones.dm +++ b/code/datums/wounds/bones.dm @@ -48,7 +48,7 @@ I = victim.get_inactive_held_item() if(I && victim.dropItemToGround(I)) - victim.visible_message("[victim] drops [I] in shock!", "The force on your [limb.name] causes you to drop [I]!", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [limb.name] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) update_inefficiencies() @@ -83,13 +83,13 @@ if(DT_PROB(severity * 1.5, delta_time)) victim.take_bodypart_damage(rand(1, severity * 2), stamina=rand(2, severity * 2.5), wound_bonus=CANT_WOUND) if(prob(33)) - to_chat(victim, "You feel a sharp pain in your body as your bones are reforming!") + to_chat(victim, span_danger("You feel a sharp pain in your body as your bones are reforming!")) if(regen_ticks_current > regen_ticks_needed) if(!victim || !limb) qdel(src) return - to_chat(victim, "Your [limb.name] has recovered from your fracture!") + to_chat(victim, span_green("Your [limb.name] has recovered from your fracture!")) remove_wound() /// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so @@ -103,11 +103,11 @@ if(prob((severity - 1) * 15)) // And you have a 70% or 50% chance to actually land the blow, respectively if(prob(70 - 20 * (severity - 1))) - to_chat(victim, "The fracture in your [limb.name] shoots with pain as you strike [target]!") + to_chat(victim, span_userdanger("The fracture in your [limb.name] shoots with pain as you strike [target]!")) limb.receive_damage(brute=rand(1,5)) else - victim.visible_message("[victim] weakly strikes [target] with [victim.p_their()] broken [limb.name], recoiling from pain!", \ - "You fail to strike [target] as the fracture in your [limb.name] lights up in unbearable pain!", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [limb.name], recoiling from pain!"), \ + span_userdanger("You fail to strike [target] as the fracture in your [limb.name] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) INVOKE_ASYNC(victim, /mob.proc/emote, "scream") victim.Stun(0.5 SECONDS) limb.receive_damage(brute=rand(3,7)) @@ -128,14 +128,14 @@ if(1 to 6) victim.bleed(blood_bled, TRUE) if(7 to 13) - victim.visible_message("[victim] coughs up a bit of blood from the blow to [victim.p_their()] chest.", "You cough up a bit of blood from the blow to your chest.", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message("[victim] coughs up a bit of blood from the blow to [victim.p_their()] chest.", span_danger("You cough up a bit of blood from the blow to your chest."), vision_distance=COMBAT_MESSAGE_RANGE) victim.bleed(blood_bled, TRUE) if(14 to 19) - victim.visible_message("[victim] spits out a string of blood from the blow to [victim.p_their()] chest!", "You spit out a string of blood from the blow to your chest!", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message("[victim] spits out a string of blood from the blow to [victim.p_their()] chest!", span_danger("You spit out a string of blood from the blow to your chest!"), vision_distance=COMBAT_MESSAGE_RANGE) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.bleed(blood_bled) if(20 to INFINITY) - victim.visible_message("[victim] chokes up a spray of blood from the blow to [victim.p_their()] chest!", "You choke up on a spray of blood from the blow to your chest!", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] chokes up a spray of blood from the blow to [victim.p_their()] chest!"), span_danger("You choke up on a spray of blood from the blow to your chest!"), vision_distance=COMBAT_MESSAGE_RANGE) victim.bleed(blood_bled) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.add_splatter_floor(get_step(victim.loc, victim.dir)) @@ -164,9 +164,9 @@ msg += "[victim.p_their(TRUE)] [limb.name] is [sling_condition] fastened in a sling of [limb.current_gauze.name]" if(taped) - msg += ", and appears to be reforming itself under some surgical tape!" + msg += ", [span_notice("and appears to be reforming itself under some surgical tape!")]" else if(gelled) - msg += ", with fizzing flecks of blue bone gel sparking off the bone!" + msg += ", [span_notice("with fizzing flecks of blue bone gel sparking off the bone!")]" else msg += "!" return "[msg.Join()]" @@ -225,7 +225,7 @@ /datum/wound/blunt/moderate/proc/door_crush() SIGNAL_HANDLER if(prob(33)) - victim.visible_message("[victim]'s dislocated [limb.name] pops back into place!", "Your dislocated [limb.name] pops back into place! Ow!") + victim.visible_message(span_danger("[victim]'s dislocated [limb.name] pops back into place!"), span_userdanger("Your dislocated [limb.name] pops back into place! Ow!")) remove_wound() /datum/wound/blunt/moderate/try_handling(mob/living/carbon/human/user) @@ -233,12 +233,12 @@ return FALSE if(user.grab_state == GRAB_PASSIVE) - to_chat(user, "You must have [victim] in an aggressive grab to manipulate [victim.p_their()] [lowertext(name)]!") + to_chat(user, span_warning("You must have [victim] in an aggressive grab to manipulate [victim.p_their()] [lowertext(name)]!")) return TRUE if(user.grab_state >= GRAB_AGGRESSIVE) - user.visible_message("[user] begins twisting and straining [victim]'s dislocated [limb.name]!", "You begin twisting and straining [victim]'s dislocated [limb.name]...", ignored_mobs=victim) - to_chat(victim, "[user] begins twisting and straining your dislocated [limb.name]!") + user.visible_message(span_danger("[user] begins twisting and straining [victim]'s dislocated [limb.name]!"), span_notice("You begin twisting and straining [victim]'s dislocated [limb.name]..."), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] begins twisting and straining your dislocated [limb.name]!")) if(!user.combat_mode) chiropractice(user) else @@ -253,14 +253,14 @@ return if(prob(65)) - user.visible_message("[user] snaps [victim]'s dislocated [limb.name] back into place!", "You snap [victim]'s dislocated [limb.name] back into place!", ignored_mobs=victim) - to_chat(victim, "[user] snaps your dislocated [limb.name] back into place!") + user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.name] back into place!"), span_notice("You snap [victim]'s dislocated [limb.name] back into place!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.name] back into place!")) victim.emote("scream") limb.receive_damage(brute=20, wound_bonus=CANT_WOUND) qdel(src) else - user.visible_message("[user] wrenches [victim]'s dislocated [limb.name] around painfully!", "You wrench [victim]'s dislocated [limb.name] around painfully!", ignored_mobs=victim) - to_chat(victim, "[user] wrenches your dislocated [limb.name] around painfully!") + user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.name] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.name] around painfully!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.name] around painfully!")) limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) chiropractice(user) @@ -272,33 +272,33 @@ return if(prob(65)) - user.visible_message("[user] snaps [victim]'s dislocated [limb.name] with a sickening crack!", "You snap [victim]'s dislocated [limb.name] with a sickening crack!", ignored_mobs=victim) - to_chat(victim, "[user] snaps your dislocated [limb.name] with a sickening crack!") + user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.name] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [limb.name] with a sickening crack!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.name] with a sickening crack!")) victim.emote("scream") limb.receive_damage(brute=25, wound_bonus=30) else - user.visible_message("[user] wrenches [victim]'s dislocated [limb.name] around painfully!", "You wrench [victim]'s dislocated [limb.name] around painfully!", ignored_mobs=victim) - to_chat(victim, "[user] wrenches your dislocated [limb.name] around painfully!") + user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.name] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.name] around painfully!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.name] around painfully!")) limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) malpractice(user) /datum/wound/blunt/moderate/treat(obj/item/I, mob/user) if(victim == user) - victim.visible_message("[user] begins resetting [victim.p_their()] [limb.name] with [I].", "You begin resetting your [limb.name] with [I]...") + victim.visible_message(span_danger("[user] begins resetting [victim.p_their()] [limb.name] with [I]."), span_warning("You begin resetting your [limb.name] with [I]...")) else - user.visible_message("[user] begins resetting [victim]'s [limb.name] with [I].", "You begin resetting [victim]'s [limb.name] with [I]...") + user.visible_message(span_danger("[user] begins resetting [victim]'s [limb.name] with [I]."), span_notice("You begin resetting [victim]'s [limb.name] with [I]...")) if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return if(victim == user) limb.receive_damage(brute=15, wound_bonus=CANT_WOUND) - victim.visible_message("[user] finishes resetting [victim.p_their()] [limb.name]!", "You reset your [limb.name]!") + victim.visible_message(span_danger("[user] finishes resetting [victim.p_their()] [limb.name]!"), span_userdanger("You reset your [limb.name]!")) else limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) - user.visible_message("[user] finishes resetting [victim]'s [limb.name]!", "You finish resetting [victim]'s [limb.name]!", ignored_mobs=victim) - to_chat(victim, "[user] resets your [limb.name]!") + user.visible_message(span_danger("[user] finishes resetting [victim]'s [limb.name]!"), span_nicegreen("You finish resetting [victim]'s [limb.name]!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] resets your [limb.name]!")) victim.emote("scream") qdel(src) @@ -362,10 +362,10 @@ /// if someone is using bone gel on our wound /datum/wound/blunt/proc/gel(obj/item/stack/medical/bone_gel/I, mob/user) if(gelled) - to_chat(user, "[user == victim ? "Your" : "[victim]'s"] [limb.name] is already coated with bone gel!") + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] is already coated with bone gel!")) return - user.visible_message("[user] begins hastily applying [I] to [victim]'s' [limb.name]...", "You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name], disregarding the warning label...") + user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name], disregarding the warning label...")) if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return @@ -373,8 +373,8 @@ I.use(1) victim.emote("scream") if(user != victim) - user.visible_message("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!", "You finish applying [I] to [victim]'s [limb.name]!", ignored_mobs=victim) - to_chat(victim, "[user] finishes applying [I] to your [limb.name], and you can feel the bones exploding with pain as they begin melting and reforming!") + user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.name]!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] finishes applying [I] to your [limb.name], and you can feel the bones exploding with pain as they begin melting and reforming!")) else var/painkiller_bonus = 0 if(victim.drunkenness > 10) @@ -389,10 +389,10 @@ painkiller_bonus += 20 if(prob(25 + (20 * (severity - 2)) - painkiller_bonus)) // 25%/45% chance to fail self-applying with severe and critical wounds, modded by painkillers - victim.visible_message("[victim] fails to finish applying [I] to [victim.p_their()] [limb.name], passing out from the pain!", "You pass out from the pain of applying [I] to your [limb.name] before you can finish!") + victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [limb.name], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [limb.name] before you can finish!")) victim.AdjustUnconscious(5 SECONDS) return - victim.visible_message("[victim] finishes applying [I] to [victim.p_their()] [limb.name], grimacing from the pain!", "You finish applying [I] to your [limb.name], and your bones explode in pain!") + victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.name], grimacing from the pain!"), span_notice("You finish applying [I] to your [limb.name], and your bones explode in pain!")) limb.receive_damage(25, stamina=100, wound_bonus=CANT_WOUND) if(!gelled) @@ -401,13 +401,13 @@ /// if someone is using surgical tape on our wound /datum/wound/blunt/proc/tape(obj/item/stack/sticky_tape/surgical/I, mob/user) if(!gelled) - to_chat(user, "[user == victim ? "Your" : "[victim]'s"] [limb.name] must be coated with bone gel to perform this emergency operation!") + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] must be coated with bone gel to perform this emergency operation!")) return if(taped) - to_chat(user, "[user == victim ? "Your" : "[victim]'s"] [limb.name] is already wrapped in [I.name] and reforming!") + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] is already wrapped in [I.name] and reforming!")) return - user.visible_message("[user] begins applying [I] to [victim]'s' [limb.name]...", "You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...") + user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...")) if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return @@ -417,10 +417,10 @@ I.use(1) if(user != victim) - user.visible_message("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!", "You finish applying [I] to [victim]'s [limb.name]!", ignored_mobs=victim) - to_chat(victim, "[user] finishes applying [I] to your [limb.name], you immediately begin to feel your bones start to reform!") + user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.name]!"), ignored_mobs=victim) + to_chat(victim, span_green("[user] finishes applying [I] to your [limb.name], you immediately begin to feel your bones start to reform!")) else - victim.visible_message("[victim] finishes applying [I] to [victim.p_their()] [limb.name], !", "You finish applying [I] to your [limb.name], and you immediately begin to feel your bones start to reform!") + victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.name], !"), span_green("You finish applying [I] to your [limb.name], and you immediately begin to feel your bones start to reform!")) taped = TRUE processes = TRUE @@ -439,9 +439,9 @@ if(!gelled) . += "Alternative Treatment: Apply bone gel directly to injured limb, then apply surgical tape to begin bone regeneration. This is both excruciatingly painful and slow, and only recommended in dire circumstances.\n" else if(!taped) - . += "Continue Alternative Treatment: Apply surgical tape directly to injured limb to begin bone regeneration. Note, this is both excruciatingly painful and slow, though sleep or laying down will speed recovery.\n" + . += "[span_notice("Continue Alternative Treatment: Apply surgical tape directly to injured limb to begin bone regeneration. Note, this is both excruciatingly painful and slow, though sleep or laying down will speed recovery.")]\n" else - . += "Note: Bone regeneration in effect. Bone is [round(regen_ticks_current*100/regen_ticks_needed)]% regenerated.\n" + . += "[span_notice("Note: Bone regeneration in effect. Bone is [round(regen_ticks_current*100/regen_ticks_needed)]% regenerated.")]\n" if(limb.body_zone == BODY_ZONE_HEAD) . += "Cranial Trauma Detected: Patient will suffer random bouts of [severity == WOUND_SEVERITY_SEVERE ? "mild" : "severe"] brain traumas until bone is repaired." diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index d5b33225936..bc25484ac6b 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -37,7 +37,7 @@ if(strikes_to_lose_limb == 0) // we've already hit sepsis, nothing more to do victim.adjustToxLoss(0.25 * delta_time) if(DT_PROB(0.5, delta_time)) - victim.visible_message("The infection on the remnants of [victim]'s [limb.name] shift and bubble nauseatingly!", "You can feel the infection on the remnants of your [limb.name] coursing through your veins!", vision_distance = COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("The infection on the remnants of [victim]'s [limb.name] shift and bubble nauseatingly!"), span_warning("You can feel the infection on the remnants of your [limb.name] coursing through your veins!"), vision_distance = COMBAT_MESSAGE_RANGE) return if(victim.reagents) @@ -63,7 +63,7 @@ // here's the check to see if we're cleared up if((flesh_damage <= 0) && (infestation <= WOUND_INFECTION_MODERATE)) - to_chat(victim, "The burns on your [limb.name] have cleared up!") + to_chat(victim, span_green("The burns on your [limb.name] have cleared up!")) qdel(src) return @@ -81,15 +81,15 @@ if(DT_PROB(15, delta_time)) victim.adjustToxLoss(0.2) if(prob(6)) - to_chat(victim, "The blisters on your [limb.name] ooze a strange pus...") + to_chat(victim, span_warning("The blisters on your [limb.name] ooze a strange pus...")) if(WOUND_INFECTION_SEVERE to WOUND_INFECTION_CRITICAL) if(!disabling) if(DT_PROB(1, delta_time)) - to_chat(victim, "Your [limb.name] completely locks up, as you struggle for control against the infection!") + to_chat(victim, span_warning("Your [limb.name] completely locks up, as you struggle for control against the infection!")) set_disabling(TRUE) return else if(DT_PROB(4, delta_time)) - to_chat(victim, "You regain sensation in your [limb.name], but it's still in terrible shape!") + to_chat(victim, span_notice("You regain sensation in your [limb.name], but it's still in terrible shape!")) set_disabling(FALSE) return @@ -99,17 +99,17 @@ if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC) if(!disabling) if(DT_PROB(1.5, delta_time)) - to_chat(victim, "You suddenly lose all sensation of the festering infection in your [limb.name]!") + to_chat(victim, span_warning("You suddenly lose all sensation of the festering infection in your [limb.name]!")) set_disabling(TRUE) return else if(DT_PROB(1.5, delta_time)) - to_chat(victim, "You can barely feel your [limb.name] again, and you have to strain to retain motor control!") + to_chat(victim, span_notice("You can barely feel your [limb.name] again, and you have to strain to retain motor control!")) set_disabling(FALSE) return if(DT_PROB(2.48, delta_time)) if(prob(20)) - to_chat(victim, "You contemplate life without your [limb.name]...") + to_chat(victim, span_warning("You contemplate life without your [limb.name]...")) victim.adjustToxLoss(0.75) else victim.adjustToxLoss(1) @@ -118,13 +118,13 @@ if(DT_PROB(0.5 * infestation, delta_time)) switch(strikes_to_lose_limb) if(3 to INFINITY) - to_chat(victim, "The skin on your [limb.name] is literally dripping off, you feel awful!") + to_chat(victim, span_deadsay("The skin on your [limb.name] is literally dripping off, you feel awful!")) if(2) - to_chat(victim, "The infection in your [limb.name] is literally dripping off, you feel horrible!") + to_chat(victim, span_deadsay("The infection in your [limb.name] is literally dripping off, you feel horrible!")) if(1) - to_chat(victim, "Infection has just about completely claimed your [limb.name]!") + to_chat(victim, span_deadsay("Infection has just about completely claimed your [limb.name]!")) if(0) - to_chat(victim, "The last of the nerve endings in your [limb.name] wither away, as the infection completely paralyzes your joint connector.") + to_chat(victim, span_deadsay("The last of the nerve endings in your [limb.name] wither away, as the infection completely paralyzes your joint connector.")) threshold_penalty = 120 // piss easy to destroy var/datum/brain_trauma/severe/paralysis/sepsis = new (limb.body_zone) victim.gain_trauma(sepsis) @@ -132,7 +132,7 @@ /datum/wound/burn/get_examine_description(mob/user) if(strikes_to_lose_limb <= 0) - return "[victim.p_their(TRUE)] [limb.name] has locked up completely and is non-functional." + return span_deadsay("[victim.p_their(TRUE)] [limb.name] has locked up completely and is non-functional.") var/list/condition = list("[victim.p_their(TRUE)] [limb.name] [examine_desc]") if(limb.current_gauze) @@ -151,13 +151,13 @@ else switch(infestation) if(WOUND_INFECTION_MODERATE to WOUND_INFECTION_SEVERE) - condition += ", with early signs of infection." + condition += ", [span_deadsay("with early signs of infection.")]" if(WOUND_INFECTION_SEVERE to WOUND_INFECTION_CRITICAL) - condition += ", with growing clouds of infection." + condition += ", [span_deadsay("with growing clouds of infection.")]" if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC) - condition += ", with streaks of rotten infection!" + condition += ", [span_deadsay("with streaks of rotten infection!")]" if(WOUND_INFECTION_SEPTIC to INFINITY) - return "[victim.p_their(TRUE)] [limb.name] is a mess of charred skin and infected rot!" + return span_deadsay("[victim.p_their(TRUE)] [limb.name] is a mess of charred skin and infected rot!") else condition += "!" @@ -166,7 +166,7 @@ /datum/wound/burn/get_scanner_description(mob/user) if(strikes_to_lose_limb == 0) var/oopsie = "Type: [name]\nSeverity: [severity_text()]" - oopsie += "
Infection Level: The bodypart has suffered complete sepsis and must be removed. Amputate or augment limb immediately.
" + oopsie += "
Infection Level: [span_deadsay("The bodypart has suffered complete sepsis and must be removed. Amputate or augment limb immediately.")]
" return oopsie . = ..() @@ -181,9 +181,9 @@ if(WOUND_INFECTION_SEVERE to WOUND_INFECTION_CRITICAL) . += "Infection Level: Severe\n" if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC) - . += "Infection Level: CRITICAL\n" + . += "Infection Level: [span_deadsay("CRITICAL")]\n" if(WOUND_INFECTION_SEPTIC to INFINITY) - . += "Infection Level: LOSS IMMINENT\n" + . += "Infection Level: [span_deadsay("LOSS IMMINENT")]\n" if(infestation > sanitization) . += "\tSurgical debridement, antibiotics/sterilizers, or regenerative mesh will rid infection. Paramedic UV penlights are also effective.\n" @@ -197,31 +197,31 @@ /// if someone is using ointment or mesh on our burns /datum/wound/burn/proc/ointmentmesh(obj/item/stack/medical/I, mob/user) - user.visible_message("[user] begins applying [I] to [victim]'s [limb.name]...", "You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...") + user.visible_message(span_notice("[user] begins applying [I] to [victim]'s [limb.name]..."), span_notice("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...")) if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), extra_checks = CALLBACK(src, .proc/still_exists))) return limb.heal_damage(I.heal_brute, I.heal_burn) - user.visible_message("[user] applies [I] to [victim].", "You apply [I] to [user == victim ? "your" : "[victim]'s"] [limb.name].") + user.visible_message(span_green("[user] applies [I] to [victim]."), span_green("You apply [I] to [user == victim ? "your" : "[victim]'s"] [limb.name].")) I.use(1) sanitization += I.sanitization flesh_healing += I.flesh_regeneration if((infestation <= 0 || sanitization >= infestation) && (flesh_damage <= 0 || flesh_healing > flesh_damage)) - to_chat(user, "You've done all you can with [I], now you must wait for the flesh on [victim]'s [limb.name] to recover.") + to_chat(user, span_notice("You've done all you can with [I], now you must wait for the flesh on [victim]'s [limb.name] to recover.")) else try_treating(I, user) /// Paramedic UV penlights /datum/wound/burn/proc/uv(obj/item/flashlight/pen/paramedic/I, mob/user) if(!COOLDOWN_FINISHED(I, uv_cooldown)) - to_chat(user, "[I] is still recharging!") + to_chat(user, span_notice("[I] is still recharging!")) return if(infestation <= 0 || infestation < sanitization) - to_chat(user, "There's no infection to treat on [victim]'s [limb.name]!") + to_chat(user, span_notice("There's no infection to treat on [victim]'s [limb.name]!")) return - user.visible_message("[user] flashes the burns on [victim]'s [limb] with [I].", "You flash the burns on [user == victim ? "your" : "[victim]'s"] [limb.name] with [I].", vision_distance=COMBAT_MESSAGE_RANGE) + user.visible_message(span_notice("[user] flashes the burns on [victim]'s [limb] with [I]."), span_notice("You flash the burns on [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]."), vision_distance=COMBAT_MESSAGE_RANGE) sanitization += I.uv_power COOLDOWN_START(I, uv_cooldown, I.uv_cooldown_length) @@ -231,7 +231,7 @@ else if(istype(I, /obj/item/stack/medical/mesh)) var/obj/item/stack/medical/mesh/mesh_check = I if(!mesh_check.is_open) - to_chat(user, "You need to open [mesh_check] first.") + to_chat(user, span_warning("You need to open [mesh_check] first.")) return ointmentmesh(mesh_check, user) else if(istype(I, /obj/item/flashlight/pen/paramedic)) @@ -243,7 +243,7 @@ if(flesh_healing > 0) flesh_damage = max(flesh_damage - (0.1 * delta_time), 0) if((flesh_damage <= 0) && (infestation <= 1)) - to_chat(victim, "The burns on your [limb.name] have cleared up!") + to_chat(victim, span_green("The burns on your [limb.name] have cleared up!")) qdel(src) return if(sanitization > 0) diff --git a/code/datums/wounds/loss.dm b/code/datums/wounds/loss.dm index 06ef5aa27c6..b11280a3a13 100644 --- a/code/datums/wounds/loss.dm +++ b/code/datums/wounds/loss.dm @@ -46,7 +46,7 @@ var/msg = "[victim]'s [dismembered_part.name] [occur_text]!" - victim.visible_message(msg, "Your [dismembered_part.name] [self_msg ? self_msg : occur_text]!") + victim.visible_message(msg, span_userdanger("Your [dismembered_part.name] [self_msg ? self_msg : occur_text]!")) set_limb(dismembered_part) second_wind() diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm index 10bf0f14a99..d6c45b44ba6 100644 --- a/code/datums/wounds/pierce.dm +++ b/code/datums/wounds/pierce.dm @@ -37,14 +37,14 @@ if(1 to 6) victim.bleed(blood_bled, TRUE) if(7 to 13) - victim.visible_message("Blood droplets fly from the hole in [victim]'s [limb.name].", "You cough up a bit of blood from the blow to your [limb.name].", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message("Blood droplets fly from the hole in [victim]'s [limb.name].", span_danger("You cough up a bit of blood from the blow to your [limb.name]."), vision_distance=COMBAT_MESSAGE_RANGE) victim.bleed(blood_bled, TRUE) if(14 to 19) - victim.visible_message("A small stream of blood spurts from the hole in [victim]'s [limb.name]!", "You spit out a string of blood from the blow to your [limb.name]!", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message("A small stream of blood spurts from the hole in [victim]'s [limb.name]!", span_danger("You spit out a string of blood from the blow to your [limb.name]!"), vision_distance=COMBAT_MESSAGE_RANGE) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.bleed(blood_bled) if(20 to INFINITY) - victim.visible_message("A spray of blood streams from the gash in [victim]'s [limb.name]!", "You choke up on a spray of blood from the blow to your [limb.name]!", vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("A spray of blood streams from the gash in [victim]'s [limb.name]!"), span_danger("You choke up on a spray of blood from the blow to your [limb.name]!"), vision_distance=COMBAT_MESSAGE_RANGE) victim.bleed(blood_bled) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.add_splatter_floor(get_step(victim.loc, victim.dir)) @@ -62,7 +62,7 @@ if(victim.bodytemperature < (BODYTEMP_NORMAL - 10)) blood_flow -= 0.1 * delta_time if(DT_PROB(2.5, delta_time)) - to_chat(victim, "You feel the [lowertext(name)] in your [limb.name] firming up from the cold!") + to_chat(victim, span_notice("You feel the [lowertext(name)] in your [limb.name] firming up from the cold!")) if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) blood_flow += 0.25 * delta_time // old heparin used to just add +2 bleed stacks per tick, this adds 0.5 bleed flow to all open cuts which is probably even stronger as long as you can cut them first @@ -100,10 +100,10 @@ /// If someone is using a suture to close this puncture /datum/wound/pierce/proc/suture(obj/item/stack/medical/suture/I, mob/user) var/self_penalty_mult = (user == victim ? 1.4 : 1) - user.visible_message("[user] begins stitching [victim]'s [limb.name] with [I]...", "You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") + user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return - user.visible_message("[user] stitches up some of the bleeding on [victim].", "You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].") + user.visible_message(span_green("[user] stitches up some of the bleeding on [victim]."), span_green("You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].")) var/blood_sutured = I.stop_bleeding / self_penalty_mult blood_flow -= blood_sutured limb.heal_damage(I.heal_brute, I.heal_burn) @@ -112,18 +112,18 @@ if(blood_flow > 0) try_treating(I, user) else - to_chat(user, "You successfully close the hole in [user == victim ? "your" : "[victim]'s"] [limb.name].") + to_chat(user, span_green("You successfully close the hole in [user == victim ? "your" : "[victim]'s"] [limb.name].")) /// If someone is using either a cautery tool or something with heat to cauterize this pierce /datum/wound/pierce/proc/tool_cauterize(obj/item/I, mob/user) var/improv_penalty_mult = (I.tool_behaviour == TOOL_CAUTERY ? 1 : 1.25) // 25% longer and less effective if you don't use a real cautery var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself - user.visible_message("[user] begins cauterizing [victim]'s [limb.name] with [I]...", "You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") + user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return - user.visible_message("[user] cauterizes some of the bleeding on [victim].", "You cauterize some of the bleeding on [victim].") + user.visible_message(span_green("[user] cauterizes some of the bleeding on [victim]."), span_green("You cauterize some of the bleeding on [victim].")) limb.receive_damage(burn = 2 + severity, wound_bonus = CANT_WOUND) if(prob(30)) victim.emote("scream") diff --git a/code/datums/wounds/scars/_scars.dm b/code/datums/wounds/scars/_scars.dm index a43ef59f86d..514f99cc687 100644 --- a/code/datums/wounds/scars/_scars.dm +++ b/code/datums/wounds/scars/_scars.dm @@ -130,14 +130,14 @@ var/msg = "[victim.p_they(TRUE)] [victim.p_have()] [description] on [victim.p_their()] [precise_location]." switch(severity) if(WOUND_SEVERITY_MODERATE) - msg = "[msg]" + msg = span_tinynoticeital("[msg]") if(WOUND_SEVERITY_SEVERE) - msg = "[msg]" + msg = span_smallnoticeital("[msg]") if(WOUND_SEVERITY_CRITICAL) - msg = "[msg]" + msg = span_smallnoticeital("[msg]") if(WOUND_SEVERITY_LOSS) msg = "[victim.p_their(TRUE)] [limb.name] [description]." // different format - msg = "[msg]" + msg = span_notice("[msg]") return "\t[msg]" /// Whether a scar can currently be seen by the viewer diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index a8ef9843aa5..476df700298 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -132,7 +132,7 @@ if(demotes_to) replace_wound(demotes_to) else - to_chat(victim, "The cut on your [limb.name] has stopped bleeding!") + to_chat(victim, span_green("The cut on your [limb.name] has stopped bleeding!")) qdel(src) @@ -164,13 +164,13 @@ if(user.pulling != victim || user.zone_selected != limb.body_zone || !isfelinid(user) || !victim.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE)) return FALSE if(DOING_INTERACTION_WITH_TARGET(user, victim)) - to_chat(user, "You're already interacting with [victim]!") + to_chat(user, span_warning("You're already interacting with [victim]!")) return if(user.is_mouth_covered()) - to_chat(user, "Your mouth is covered, you can't lick [victim]'s wounds!") + to_chat(user, span_warning("Your mouth is covered, you can't lick [victim]'s wounds!")) return if(!user.getorganslot(ORGAN_SLOT_TONGUE)) - to_chat(user, "You can't lick wounds without a tongue!") // f in chat + to_chat(user, span_warning("You can't lick wounds without a tongue!")) // f in chat return lick_wounds(user) @@ -185,19 +185,19 @@ continue user.ForceContractDisease(iter_disease) - user.visible_message("[user] begins licking the wounds on [victim]'s [limb.name].", "You begin licking the wounds on [victim]'s [limb.name]...", ignored_mobs=victim) + user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [limb.name]."), span_notice("You begin licking the wounds on [victim]'s [limb.name]..."), ignored_mobs=victim) to_chat(victim, "[user] begins to lick the wounds on your [limb.name].[user] licks the wounds on [victim]'s [limb.name].", "You lick some of the wounds on [victim]'s [limb.name]", ignored_mobs=victim) + user.visible_message(span_notice("[user] licks the wounds on [victim]'s [limb.name]."), span_notice("You lick some of the wounds on [victim]'s [limb.name]"), ignored_mobs=victim) to_chat(victim, "[user] licks the wounds on your [limb.name]! minimum_flow) try_handling(user) else if(demotes_to) - to_chat(user, "You successfully lower the severity of [victim]'s cuts.") + to_chat(user, span_green("You successfully lower the severity of [victim]'s cuts.")) /datum/wound/slash/on_xadone(power) . = ..() @@ -210,7 +210,7 @@ /// If someone's putting a laser gun up to our cut to cauterize it /datum/wound/slash/proc/las_cauterize(obj/item/gun/energy/laser/lasgun, mob/user) var/self_penalty_mult = (user == victim ? 1.25 : 1) - user.visible_message("[user] begins aiming [lasgun] directly at [victim]'s [limb.name]...", "You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.name]...") + user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [limb.name]..."), span_userdanger("You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.name]...")) if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return var/damage = lasgun.chambered.loaded_projectile.damage @@ -220,18 +220,18 @@ return victim.emote("scream") blood_flow -= damage / (5 * self_penalty_mult) // 20 / 5 = 4 bloodflow removed, p good - victim.visible_message("The cuts on [victim]'s [limb.name] scar over!") + victim.visible_message(span_warning("The cuts on [victim]'s [limb.name] scar over!")) /// If someone is using either a cautery tool or something with heat to cauterize this cut /datum/wound/slash/proc/tool_cauterize(obj/item/I, mob/user) var/improv_penalty_mult = (I.tool_behaviour == TOOL_CAUTERY ? 1 : 1.25) // 25% longer and less effective if you don't use a real cautery var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself - user.visible_message("[user] begins cauterizing [victim]'s [limb.name] with [I]...", "You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") + user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return - user.visible_message("[user] cauterizes some of the bleeding on [victim].", "You cauterize some of the bleeding on [victim].") + user.visible_message(span_green("[user] cauterizes some of the bleeding on [victim]."), span_green("You cauterize some of the bleeding on [victim].")) limb.receive_damage(burn = 2 + severity, wound_bonus = CANT_WOUND) if(prob(30)) victim.emote("scream") @@ -241,16 +241,16 @@ if(blood_flow > minimum_flow) try_treating(I, user) else if(demotes_to) - to_chat(user, "You successfully lower the severity of [user == victim ? "your" : "[victim]'s"] cuts.") + to_chat(user, span_green("You successfully lower the severity of [user == victim ? "your" : "[victim]'s"] cuts.")) /// If someone is using a suture to close this cut /datum/wound/slash/proc/suture(obj/item/stack/medical/suture/I, mob/user) var/self_penalty_mult = (user == victim ? 1.4 : 1) - user.visible_message("[user] begins stitching [victim]'s [limb.name] with [I]...", "You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") + user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return - user.visible_message("[user] stitches up some of the bleeding on [victim].", "You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].") + user.visible_message(span_green("[user] stitches up some of the bleeding on [victim]."), span_green("You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].")) var/blood_sutured = I.stop_bleeding / self_penalty_mult blood_flow -= blood_sutured limb.heal_damage(I.heal_brute, I.heal_burn) @@ -259,7 +259,7 @@ if(blood_flow > minimum_flow) try_treating(I, user) else if(demotes_to) - to_chat(user, "You successfully lower the severity of [user == victim ? "your" : "[victim]'s"] cuts.") + to_chat(user, span_green("You successfully lower the severity of [user == victim ? "your" : "[victim]'s"] cuts.")) /datum/wound/slash/moderate diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index 36ce50c4792..7ae8a43e3a8 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -234,7 +234,7 @@ var/mob/living/L = AM if(L.pulling && istype(L.pulling, /obj/item/bodypart/head)) - to_chat(L, "Your offering is accepted. You may pass.", confidential = TRUE) + to_chat(L, span_notice("Your offering is accepted. You may pass."), confidential = TRUE) qdel(L.pulling) var/turf/LA = get_turf(pick(warp_points)) L.forceMove(LA) @@ -245,7 +245,7 @@ var/obj/item/skeleton_key/key = new(L) L.put_in_hands(key) else - to_chat(L, "You are not yet worthy of passing. Drag a severed head to the barrier to be allowed entry to the hall of champions.", confidential = TRUE) + to_chat(L, span_warning("You are not yet worthy of passing. Drag a severed head to the barrier to be allowed entry to the hall of champions."), confidential = TRUE) /obj/effect/landmark/shuttle_arena_safe name = "hall of champions" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index c37416ca816..8e1ef822566 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -630,8 +630,8 @@ for(var/datum/reagent/R in reagents.reagent_list) . += "[round(R.volume, 0.01)] units of [R.name]" if(reagents.is_reacting) - . += "It is currently reacting!" - . += "The solution's pH is [round(reagents.ph, 0.01)] and has a temperature of [reagents.chem_temp]K." + . += span_warning("It is currently reacting!") + . += span_notice("The solution's pH is [round(reagents.ph, 0.01)] and has a temperature of [reagents.chem_temp]K.") else //Otherwise, just show the total volume var/total_volume = 0 for(var/datum/reagent/R in reagents.reagent_list) @@ -641,9 +641,9 @@ . += "Nothing." else if(reagents.flags & AMOUNT_VISIBLE) if(reagents.total_volume) - . += "It has [reagents.total_volume] unit\s left." + . += span_notice("It has [reagents.total_volume] unit\s left.") else - . += "It's empty." + . += span_danger("It's empty.") SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .) /** @@ -658,7 +658,7 @@ . = list() SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE_MORE, user, .) if(!LAZYLEN(.)) // lol ..length - return list("You examine [src] closer, but find nothing of interest...") + return list(span_notice("You examine [src] closer, but find nothing of interest...")) /** * Updates the appearence of the icon @@ -758,7 +758,7 @@ /atom/proc/relaymove(mob/living/user, direction) if(buckle_message_cooldown <= world.time) buckle_message_cooldown = world.time + 50 - to_chat(user, "You can't move while buckled to [src]!") + to_chat(user, span_warning("You can't move while buckled to [src]!")) return /** @@ -980,7 +980,7 @@ while (do_after(user, 1 SECONDS, src, NONE, FALSE, CALLBACK(STR, /datum/component/storage.proc/handle_mass_item_insertion, things, src_object, user, progress))) stoplag(1) progress.end_progress() - to_chat(user, "You dump as much of [src_object.parent]'s contents [STR.insert_preposition]to [src] as you can.") + to_chat(user, span_notice("You dump as much of [src_object.parent]'s contents [STR.insert_preposition]to [src] as you can.")) STR.orient2hud(user) src_object.orient2hud(user) if(user.active_storage) //refresh the HUD to show the transfered contents @@ -1227,7 +1227,7 @@ else valid_id = TRUE if(!valid_id) - to_chat(usr, "A reagent with that ID doesn't exist!") + to_chat(usr, span_warning("A reagent with that ID doesn't exist!")) if("Choose from a list") chosen_id = input(usr, "Choose a reagent to add.", "Choose a reagent.") as null|anything in sortList(subtypesof(/datum/reagent), /proc/cmp_typepaths_asc) if("I'm feeling lucky") @@ -1237,7 +1237,7 @@ if(amount) reagents.add_reagent(chosen_id, amount) log_admin("[key_name(usr)] has added [amount] units of [chosen_id] to [src]") - message_admins("[key_name(usr)] has added [amount] units of [chosen_id] to [src]") + message_admins(span_notice("[key_name(usr)] has added [amount] units of [chosen_id] to [src]")) if(href_list[VV_HK_TRIGGER_EXPLOSION] && check_rights(R_FUN)) usr.client.cmd_admin_explosion(src) @@ -1425,7 +1425,7 @@ /atom/proc/StartProcessingAtom(mob/living/user, obj/item/I, list/chosen_option) - to_chat(user, "You start working on [src].") + to_chat(user, span_notice("You start working on [src].")) if(I.use_tool(src, user, chosen_option[TOOL_PROCESSING_TIME], volume=50)) var/atom/atom_to_create = chosen_option[TOOL_PROCESSING_RESULT] var/list/atom/created_atoms = list() @@ -1440,7 +1440,7 @@ created_atom.pixel_y += rand(-8,8) SEND_SIGNAL(created_atom, COMSIG_ATOM_CREATEDBY_PROCESSING, src, chosen_option) created_atom.OnCreatedFromProcessing(user, I, chosen_option, src) - to_chat(user, "You manage to create [chosen_option[TOOL_PROCESSING_AMOUNT]] [initial(atom_to_create.name)]\s from [src].") + to_chat(user, span_notice("You manage to create [chosen_option[TOOL_PROCESSING_AMOUNT]] [initial(atom_to_create.name)]\s from [src].")) created_atoms.Add(created_atom) SEND_SIGNAL(src, COMSIG_ATOM_PROCESSED, user, I, created_atoms) UsedforProcessing(user, I, chosen_option) @@ -1476,7 +1476,7 @@ /atom/proc/multitool_check_buffer(user, obj/item/I, silent = FALSE) if(!istype(I, /obj/item/multitool)) if(user && !silent) - to_chat(user, "[I] has no data buffer!") + to_chat(user, span_warning("[I] has no data buffer!")) return FALSE return TRUE diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 5f34b3d8717..06df12bc3dd 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -282,8 +282,8 @@ var/mob/M = AM log_combat(src, M, "grabbed", addition="passive grab") if(!supress_message) - M.visible_message("[src] grabs [M] passively.", \ - "[src] grabs you passively.") + M.visible_message(span_warning("[src] grabs [M] passively."), \ + span_danger("[src] grabs you passively.")) return TRUE /atom/movable/proc/stop_pulling() @@ -851,12 +851,12 @@ /atom/movable/proc/force_push(atom/movable/AM, force = move_force, direction, silent = FALSE) . = AM.force_pushed(src, force, direction) if(!silent && .) - visible_message("[src] forcefully pushes against [AM]!", "You forcefully push against [AM]!") + visible_message(span_warning("[src] forcefully pushes against [AM]!"), span_warning("You forcefully push against [AM]!")) /atom/movable/proc/move_crush(atom/movable/AM, force = move_force, direction, silent = FALSE) . = AM.move_crushed(src, force, direction) if(!silent && .) - visible_message("[src] crushes past [AM]!", "You crush [AM]!") + visible_message(span_danger("[src] crushes past [AM]!"), span_danger("You crush [AM]!")) /atom/movable/proc/move_crushed(atom/movable/pusher, force = MOVE_FORCE_DEFAULT, direction) return FALSE @@ -1137,12 +1137,12 @@ // This should never happen, but if it does it should not be silent. if(deadchat_plays() == COMPONENT_INCOMPATIBLE) - to_chat(usr, "Deadchat control not compatible with [src].") + to_chat(usr, span_warning("Deadchat control not compatible with [src].")) CRASH("deadchat_control component incompatible with object of type: [type]") - to_chat(usr, "Deadchat now control [src].") + to_chat(usr, span_notice("Deadchat now control [src].")) log_admin("[key_name(usr)] has added deadchat control to [src]") - message_admins("[key_name(usr)] has added deadchat control to [src]") + message_admins(span_notice("[key_name(usr)] has added deadchat control to [src]")) /obj/item/proc/do_pickup_animation(atom/target) set waitfor = FALSE diff --git a/code/game/gamemodes/dynamic/ruleset_picking.dm b/code/game/gamemodes/dynamic/ruleset_picking.dm index beb98b2feeb..678c4fdedc0 100644 --- a/code/game/gamemodes/dynamic/ruleset_picking.dm +++ b/code/game/gamemodes/dynamic/ruleset_picking.dm @@ -94,7 +94,7 @@ /// Fired when an admin cancels the current midround injection. /datum/game_mode/dynamic/proc/admin_cancel_midround(mob/user, timer_id) if (midround_injection_timer_id != timer_id || !deltimer(midround_injection_timer_id)) - to_chat(user, "Too late!") + to_chat(user, span_notice("Too late!")) return log_admin("[key_name(user)] cancelled the next midround injection.") @@ -105,7 +105,7 @@ /// Fired when an admin requests a different midround injection. /datum/game_mode/dynamic/proc/admin_different_midround(mob/user, timer_id) if (midround_injection_timer_id != timer_id || !deltimer(midround_injection_timer_id)) - to_chat(user, "Too late!") + to_chat(user, span_notice("Too late!")) return midround_injection_timer_id = null diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index b5cc5308275..fc84b707fed 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -147,7 +147,7 @@ //Reports player logouts// ////////////////////////// /proc/display_roundstart_logout_report() - var/list/msg = list("Roundstart logout report\n\n") + var/list/msg = list("[span_boldnotice("Roundstart logout report")]\n\n") for(var/i in GLOB.mob_living_list) var/mob/living/L = i var/mob/living/carbon/C = L @@ -165,7 +165,7 @@ failed = TRUE //AFK client if(!failed && L.stat) if(L.suiciding) //Suicider - msg += "[L.name] ([L.key]), the [L.job] (Suicide)\n" + msg += "[L.name] ([L.key]), the [L.job] ([span_boldannounce("Suicide")])\n" failed = TRUE //Disconnected client if(!failed && (L.stat == UNCONSCIOUS || L.stat == HARD_CRIT)) msg += "[L.name] ([L.key]), the [L.job] (Dying)\n" @@ -179,7 +179,7 @@ if(D.mind && D.mind.current == L) if(L.stat == DEAD) if(L.suiciding) //Suicider - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Suicide)\n" + msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_boldannounce("Suicide")])\n" continue //Disconnected client else msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Dead)\n" @@ -188,7 +188,7 @@ if(D.can_reenter_corpse) continue //Adminghost, or cult/wizard ghost else - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Ghosted)\n" + msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_boldannounce("Ghosted")])\n" continue //Ghosted while alive diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index b2fc630e1ce..fbef70054ff 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -888,7 +888,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) var/mob/new_target = input(admin,"Select target:", "Objective target") as null|anything in sortNames(possible_targets) target = new_target.mind else - to_chat(admin, "No active AIs with minds.") + to_chat(admin, span_boldwarning("No active AIs with minds.")) update_explanation_text() /datum/objective/destroy/internal diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index f8a3faa6e81..a8a227f23ff 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -108,13 +108,13 @@ if(O.tool_behaviour == TOOL_WELDER && !user.combat_mode) if(!O.tool_start_check(user, amount=0)) return - user.visible_message("[user] is repairing [src].", \ - "You begin repairing [src]...", \ - "You hear welding.") + user.visible_message(span_notice("[user] is repairing [src]."), \ + span_notice("You begin repairing [src]..."), \ + span_hear("You hear welding.")) if(O.use_tool(src, user, 40, volume=50)) if(!(machine_stat & BROKEN)) return - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max_integrity update_appearance(UPDATE_ICON) @@ -127,11 +127,11 @@ // Chameleon checks first so they can exit the logic early if they're detected. if(istype(O, /obj/item/card/id/advanced/chameleon)) - to_chat(user, "The machine rejects your [O]. This ID card does not appear to be compatible with the PDA Painter.") + to_chat(user, span_warning("The machine rejects your [O]. This ID card does not appear to be compatible with the PDA Painter.")) return if(istype(O, /obj/item/pda/chameleon)) - to_chat(user, "The machine rejects your [O]. This PDA does not appear to be compatible with the PDA Painter.") + to_chat(user, span_warning("The machine rejects your [O]. This PDA does not appear to be compatible with the PDA Painter.")) return if(istype(O, /obj/item/pda)) @@ -140,7 +140,7 @@ if(istype(O, /obj/item/card/id)) if(stored_id_card) - to_chat(user, "There is already an ID card inside!") + to_chat(user, span_warning("There is already an ID card inside!")) return if(!user.transferItemToLoc(O, src)) @@ -341,7 +341,7 @@ if(SSid_access.apply_trim_to_card(stored_id_card, path, copy_access = FALSE)) return TRUE - to_chat(usr, "The trim you selected could not be added to \the [stored_id_card]. You will need a rarer ID card to imprint that trim data.") + to_chat(usr, span_warning("The trim you selected could not be added to \the [stored_id_card]. You will need a rarer ID card to imprint that trim data.")) return TRUE if("reset_card") diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 45c71e27080..81354907e7e 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -60,8 +60,8 @@ return ..() /obj/machinery/sleeper/container_resist_act(mob/living/user) - visible_message("[occupant] emerges from [src]!", - "You climb out of [src]!") + visible_message(span_notice("[occupant] emerges from [src]!"), + span_notice("You climb out of [src]!")) open_machine() /obj/machinery/sleeper/Exited(atom/movable/user) @@ -105,10 +105,10 @@ if(..()) return if(occupant) - to_chat(user, "[src] is currently occupied!") + to_chat(user, span_warning("[src] is currently occupied!")) return if(state_open) - to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!") + to_chat(user, span_warning("[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!")) return if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-o", initial(icon_state), I)) return @@ -130,7 +130,7 @@ . = !(state_open || panel_open || (flags_1 & NODECONSTRUCT_1)) && I.tool_behaviour == TOOL_CROWBAR if(.) I.play_tool_sound(src, 50) - visible_message("[usr] pries open [src].", "You pry open [src].") + visible_message(span_notice("[usr] pries open [src]."), span_notice("You pry open [src].")) open_machine() /obj/machinery/sleeper/ui_state(mob/user) @@ -154,7 +154,7 @@ /obj/machinery/sleeper/examine(mob/user) . = ..() - . += "Alt-click [src] to [state_open ? "close" : "open"] it." + . += span_notice("Alt-click [src] to [state_open ? "close" : "open"] it.") /obj/machinery/sleeper/process() ..() @@ -230,11 +230,11 @@ if(inject_chem(chem, usr)) . = TRUE if(scrambled_chems && prob(5)) - to_chat(usr, "Chemical system re-route detected, results may not be as expected!") + to_chat(usr, span_warning("Chemical system re-route detected, results may not be as expected!")) /obj/machinery/sleeper/emag_act(mob/user) scramble_chem_buttons() - to_chat(user, "You scramble the sleeper's user interface!") + to_chat(user, span_warning("You scramble the sleeper's user interface!")) /obj/machinery/sleeper/proc/inject_chem(chem, mob/user) if((chem in available_chems) && chem_allowed(chem)) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index b52cbe8cc92..f1d78ae41f3 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -376,7 +376,7 @@ return FALSE if((interaction_flags_machine & INTERACT_MACHINE_REQUIRES_SIGHT) && user.is_blind()) - to_chat(user, "This machine requires sight to use.") + to_chat(user, span_warning("This machine requires sight to use.")) return FALSE if(panel_open && !(interaction_flags_machine & INTERACT_MACHINE_OPEN)) @@ -453,7 +453,7 @@ else user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - user.visible_message("[user.name] smashes against \the [src.name] with its paws.", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user.name] smashes against \the [src.name] with its paws."), null, null, COMBAT_MESSAGE_RANGE) take_damage(4, BRUTE, MELEE, 1) /obj/machinery/attack_hulk(mob/living/carbon/user) @@ -525,7 +525,7 @@ . = !(state_open || panel_open || is_operational || (flags_1 & NODECONSTRUCT_1)) && I.tool_behaviour == TOOL_CROWBAR if(.) I.play_tool_sound(src, 50) - visible_message("[usr] pries open \the [src].", "You pry open \the [src].") + visible_message(span_notice("[usr] pries open \the [src]."), span_notice("You pry open \the [src].")) open_machine() /obj/machinery/proc/default_deconstruction_crowbar(obj/item/I, ignore_panel = 0, custom_deconstruct = FALSE) @@ -615,11 +615,11 @@ if(!panel_open) panel_open = TRUE icon_state = icon_state_open - to_chat(user, "You open the maintenance hatch of [src].") + to_chat(user, span_notice("You open the maintenance hatch of [src].")) else panel_open = FALSE icon_state = icon_state_closed - to_chat(user, "You close the maintenance hatch of [src].") + to_chat(user, span_notice("You close the maintenance hatch of [src].")) return TRUE return FALSE @@ -627,13 +627,13 @@ if(panel_open && I.tool_behaviour == TOOL_WRENCH) I.play_tool_sound(src, 50) setDir(turn(dir,-90)) - to_chat(user, "You rotate [src].") + to_chat(user, span_notice("You rotate [src].")) return TRUE return FALSE /obj/proc/can_be_unfasten_wrench(mob/user, silent) //if we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't. if(!(isfloorturf(loc) || istype(loc, /turf/open/indestructible)) && !anchored) - to_chat(user, "[src] needs to be on the floor to be secured!") + to_chat(user, span_warning("[src] needs to be on the floor to be secured!")) return FAILED_UNFASTEN return SUCCESSFUL_UNFASTEN @@ -641,21 +641,21 @@ if(!(flags_1 & NODECONSTRUCT_1) && I.tool_behaviour == TOOL_WRENCH) var/turf/ground = get_turf(src) if(!anchored && ground.is_blocked_turf(exclude_mobs = TRUE, source_atom = src)) - to_chat(user, "You fail to secure [src].") + to_chat(user, span_notice("You fail to secure [src].")) return CANT_UNFASTEN var/can_be_unfasten = can_be_unfasten_wrench(user) if(!can_be_unfasten || can_be_unfasten == FAILED_UNFASTEN) return can_be_unfasten if(time) - to_chat(user, "You begin [anchored ? "un" : ""]securing [src]...") + to_chat(user, span_notice("You begin [anchored ? "un" : ""]securing [src]...")) I.play_tool_sound(src, 50) var/prev_anchored = anchored //as long as we're the same anchored state and we're either on a floor or are anchored, toggle our anchored state if(I.use_tool(src, user, time, extra_checks = CALLBACK(src, .proc/unfasten_wrench_check, prev_anchored, user))) if(!anchored && ground.is_blocked_turf(exclude_mobs = TRUE, source_atom = src)) - to_chat(user, "You fail to secure [src].") + to_chat(user, span_notice("You fail to secure [src].")) return CANT_UNFASTEN - to_chat(user, "You [anchored ? "un" : ""]secure [src].") + to_chat(user, span_notice("You [anchored ? "un" : ""]secure [src].")) set_anchored(!anchored) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) SEND_SIGNAL(src, COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH, anchored) @@ -713,7 +713,7 @@ B.forceMove(src) SEND_SIGNAL(W, COMSIG_TRY_STORAGE_INSERT, A, null, null, TRUE) component_parts -= A - to_chat(user, "[capitalize(A.name)] replaced with [B.name].") + to_chat(user, span_notice("[capitalize(A.name)] replaced with [B.name].")) shouldplaysound = 1 //Only play the sound when parts are actually replaced! break RefreshParts() @@ -726,18 +726,18 @@ /obj/machinery/proc/display_parts(mob/user) . = list() - . += "It contains the following parts:" + . += span_notice("It contains the following parts:") for(var/obj/item/C in component_parts) - . += "[icon2html(C, user)] \A [C]." + . += span_notice("[icon2html(C, user)] \A [C].") . = jointext(., "") /obj/machinery/examine(mob/user) . = ..() if(machine_stat & BROKEN) - . += "It looks broken and non-functional." + . += span_notice("It looks broken and non-functional.") if(!(resistance_flags & INDESTRUCTIBLE)) if(resistance_flags & ON_FIRE) - . += "It's on fire!" + . += span_warning("It's on fire!") var/healthpercent = (obj_integrity/max_integrity) * 100 switch(healthpercent) if(50 to 99) @@ -745,7 +745,7 @@ if(25 to 50) . += "It appears heavily damaged." if(0 to 25) - . += "It's falling apart!" + . += span_warning("It's falling apart!") if(user.research_scanner && component_parts) . += display_parts(user, TRUE) @@ -803,7 +803,7 @@ * However, the proc may also be used elsewhere. */ /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"]." + var/alertstr = span_userdanger("Network Alert: Hacking attempt detected[get_area(src)?" in [get_area_name(src, TRUE)]":". Unable to pinpoint location"].") for(var/mob/living/silicon/ai/AI in GLOB.player_list) to_chat(AI, alertstr) diff --git a/code/game/machinery/accounting.dm b/code/game/machinery/accounting.dm index 304aae0caad..26dc512b527 100644 --- a/code/game/machinery/accounting.dm +++ b/code/game/machinery/accounting.dm @@ -17,13 +17,13 @@ if(isidcard(I)) var/obj/item/card/id/new_id = I if(inserted_id) - to_chat(user, "[src] already has a card inserted!") + to_chat(user, span_warning("[src] already has a card inserted!")) return if(new_id.registered_account) - to_chat(user, "[src] already has a bank account!") + to_chat(user, span_warning("[src] already has a bank account!")) return if(!anchored || !user.transferItemToLoc(I,src)) - to_chat(user, "\the [src] blinks red as you try to insert the ID Card!") + to_chat(user, span_warning("\the [src] blinks red as you try to insert the ID Card!")) return inserted_id = new_id RegisterSignal(inserted_id, COMSIG_PARENT_QDELETING, .proc/remove_card) @@ -44,7 +44,7 @@ user.put_in_hands(inserted_id) inserted_id.add_fingerprint(user) - user.visible_message("[user] removes [inserted_id] from \the [src].", "You remove [inserted_id] from \the [src].") + user.visible_message(span_notice("[user] removes [inserted_id] from \the [src]."), span_notice("You remove [inserted_id] from \the [src].")) remove_card() ///Used to clean up variables after the card has been removed, unregisters the removal signal, sets inserted ID to null, and updates the icon. diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 0c43e4ff7e2..947255d4ecf 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -16,7 +16,7 @@ /obj/machinery/ai_slipper/examine(mob/user) . = ..() - . += "It has [uses] uses of foam remaining." + . += span_notice("It has [uses] uses of foam remaining.") /obj/machinery/ai_slipper/update_icon_state() if(machine_stat & BROKEN) @@ -29,17 +29,17 @@ /obj/machinery/ai_slipper/interact(mob/user) if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return if(!uses) - to_chat(user, "[src] is out of foam and cannot be activated!") + to_chat(user, span_warning("[src] is out of foam and cannot be activated!")) return if(cooldown_time > world.time) - to_chat(user, "[src] cannot be activated for [DisplayTimeText(world.time - cooldown_time)]!") + to_chat(user, span_warning("[src] cannot be activated for [DisplayTimeText(world.time - cooldown_time)]!")) return new /obj/effect/particle_effect/foam(loc) uses-- - to_chat(user, "You activate [src]. It now has [uses] uses of foam remaining.") + to_chat(user, span_notice("You activate [src]. It now has [uses] uses of foam remaining.")) cooldown = world.time + cooldown_time power_change() addtimer(CALLBACK(src, .proc/power_change), cooldown_time) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 0c9ac785167..20695cf005c 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -57,12 +57,12 @@ GLOBAL_LIST_EMPTY(announcement_systems) if(P.tool_behaviour == TOOL_SCREWDRIVER) P.play_tool_sound(src) panel_open = !panel_open - to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch of [src].") + to_chat(user, span_notice("You [panel_open ? "open" : "close"] the maintenance hatch of [src].")) 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.") + to_chat(user, span_notice("You reset [src]'s firmware.")) set_machine_stat(machine_stat & ~BROKEN) update_appearance() else @@ -126,7 +126,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) if(!usr.canUseTopic(src, !issilicon(usr))) return if(machine_stat & BROKEN) - visible_message("[src] buzzes.", "You hear a faint buzz.") + visible_message(span_warning("[src] buzzes."), span_hear("You hear a faint buzz.")) playsound(src.loc, 'sound/machines/buzz-two.ogg', 50, TRUE) return switch(action) @@ -159,7 +159,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) if(!user.canUseTopic(src, !issilicon(user))) return if(machine_stat & BROKEN) - to_chat(user, "[src]'s firmware appears to be malfunctioning!") + to_chat(user, span_warning("[src]'s firmware appears to be malfunctioning!")) return interact(user) diff --git a/code/game/machinery/aug_manipulator.dm b/code/game/machinery/aug_manipulator.dm index 31abe0f2506..3f4ba0b993d 100644 --- a/code/game/machinery/aug_manipulator.dm +++ b/code/game/machinery/aug_manipulator.dm @@ -12,7 +12,7 @@ /obj/machinery/aug_manipulator/examine(mob/user) . = ..() if(storedpart) - . += "Alt-click to eject the limb." + . += span_notice("Alt-click to eject the limb.") /obj/machinery/aug_manipulator/Initialize() if(!base_icon_state) @@ -65,10 +65,10 @@ else if(istype(O, /obj/item/bodypart)) var/obj/item/bodypart/B = O if(B.status != BODYPART_ROBOTIC) - to_chat(user, "The machine only accepts cybernetics!") + to_chat(user, span_warning("The machine only accepts cybernetics!")) return if(storedpart) - to_chat(user, "There is already something inside!") + to_chat(user, span_warning("There is already something inside!")) return else O = user.get_active_held_item() @@ -83,19 +83,19 @@ if(!O.tool_start_check(user, amount=0)) return - user.visible_message("[user] begins repairing [src].", \ - "You begin repairing [src]...", \ - "You hear welding.") + user.visible_message(span_notice("[user] begins repairing [src]."), \ + span_notice("You begin repairing [src]..."), \ + span_hear("You hear welding.")) if(O.use_tool(src, user, 40, volume=50)) if(!(machine_stat & BROKEN)) return - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max(obj_integrity, max_integrity) update_appearance() else - to_chat(user, "[src] does not need repairs.") + to_chat(user, span_notice("[src] does not need repairs.")) else return ..() @@ -116,7 +116,7 @@ storedpart.icon = style_list_icons[choice] eject_part(user) else - to_chat(user, "\The [src] is empty!") + to_chat(user, span_warning("\The [src] is empty!")) /** * Checks if we are allowed to interact with a radial menu @@ -142,7 +142,7 @@ storedpart = null update_appearance() else - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) /obj/machinery/aug_manipulator/AltClick(mob/living/user) ..() diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 8ccc4464e84..c838fed5883 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -110,9 +110,9 @@ return TRUE if(istype(O, /obj/item/disk/design_disk)) - user.visible_message("[user] begins to load \the [O] in \the [src]...", - "You begin to load a design from \the [O]...", - "You hear the chatter of a floppy drive.") + user.visible_message(span_notice("[user] begins to load \the [O] in \the [src]..."), + span_notice("You begin to load a design from \the [O]..."), + span_hear("You hear the chatter of a floppy drive.")) busy = TRUE var/obj/item/disk/design_disk/D = O if(do_after(user, 14.4, target = src)) @@ -259,7 +259,7 @@ . += ..() var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Storing up to [materials.max_amount] material units.
Material consumption at [creation_efficiency*100]%.
" + . += span_notice("The status display reads: Storing up to [materials.max_amount] material units.
Material consumption at [creation_efficiency*100]%.") /obj/machinery/autolathe/proc/main_win(mob/user) var/dat = "

Autolathe Menu:


" diff --git a/code/game/machinery/bank_machine.dm b/code/game/machinery/bank_machine.dm index 9bcba85216c..bc017cbecaa 100644 --- a/code/game/machinery/bank_machine.dm +++ b/code/game/machinery/bank_machine.dm @@ -35,7 +35,7 @@ var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR) if(D) D.adjust_money(value) - to_chat(user, "You deposit [I]. The Cargo Budget is now [D.account_balance] cr.") + to_chat(user, span_notice("You deposit [I]. The Cargo Budget is now [D.account_balance] cr.")) qdel(I) return return ..() diff --git a/code/game/machinery/bounty_board.dm b/code/game/machinery/bounty_board.dm index d00872bb083..aef3fcaffe6 100644 --- a/code/game/machinery/bounty_board.dm +++ b/code/game/machinery/bounty_board.dm @@ -57,16 +57,16 @@ GLOBAL_LIST_EMPTY(request_list) to_chat(user, "There's no account assigned with this ID.") return TRUE if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start [anchored ? "un" : ""]securing [name]...") + to_chat(user, span_notice("You start [anchored ? "un" : ""]securing [name]...")) I.play_tool_sound(src) if(I.use_tool(src, user, 30)) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(machine_stat & BROKEN) - to_chat(user, "The broken remains of [src] fall on the ground.") + to_chat(user, span_warning("The broken remains of [src] fall on the ground.")) new /obj/item/stack/sheet/iron(loc, 3) new /obj/item/shard(loc) else - to_chat(user, "You [anchored ? "un" : ""]secure [name].") + to_chat(user, span_notice("You [anchored ? "un" : ""]secure [name].")) new /obj/item/wallframe/bounty_board(loc) qdel(src) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index aee29cef0e7..6bfbaa4c6c5 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -67,34 +67,34 @@ default_deconstruction_screwdriver(user, "button-open", "[skin]",W) update_appearance() else - to_chat(user, "Maintenance Access Denied.") + to_chat(user, span_alert("Maintenance Access Denied.")) flick("[skin]-denied", src) return if(panel_open) if(!device && istype(W, /obj/item/assembly)) if(!user.transferItemToLoc(W, src)) - to_chat(user, "\The [W] is stuck to you!") + to_chat(user, span_warning("\The [W] is stuck to you!")) return device = W - to_chat(user, "You add [W] to the button.") + to_chat(user, span_notice("You add [W] to the button.")) if(!board && istype(W, /obj/item/electronics/airlock)) if(!user.transferItemToLoc(W, src)) - to_chat(user, "\The [W] is stuck to you!") + to_chat(user, span_warning("\The [W] is stuck to you!")) return board = W if(board.one_access) req_one_access = board.accesses else req_access = board.accesses - to_chat(user, "You add [W] to the button.") + to_chat(user, span_notice("You add [W] to the button.")) if(!device && !board && W.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start unsecuring the button frame...") + to_chat(user, span_notice("You start unsecuring the button frame...")) W.play_tool_sound(src) if(W.use_tool(src, user, 40)) - to_chat(user, "You unsecure the button frame.") + to_chat(user, span_notice("You unsecure the button frame.")) transfer_fingerprints_to(new /obj/item/wallframe/button(get_turf(src))) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) qdel(src) @@ -151,14 +151,14 @@ req_one_access = list() board = null update_appearance() - to_chat(user, "You remove electronics from the button frame.") + to_chat(user, span_notice("You remove electronics from the button frame.")) else if(skin == "doorctrl") skin = "launcher" else skin = "doorctrl" - to_chat(user, "You change the button frame's front panel.") + to_chat(user, span_notice("You change the button frame's front panel.")) return if((machine_stat & (NOPOWER|BROKEN))) @@ -168,7 +168,7 @@ return if(!allowed(user)) - to_chat(user, "Access Denied.") + to_chat(user, span_alert("Access Denied.")) flick("[skin]-denied", src) return @@ -334,8 +334,8 @@ /obj/machinery/button/elevator/examine(mob/user) . = ..() - . += "There's a small inscription on the button..." - . += "THIS CALLS THE ELEVATOR! IT DOES NOT OPERATE IT! Interact with the elevator itself to use it!" + . += span_notice("There's a small inscription on the button...") + . += span_notice("THIS CALLS THE ELEVATOR! IT DOES NOT OPERATE IT! Interact with the elevator itself to use it!") /obj/machinery/button/tram name = "tram caller" @@ -353,5 +353,5 @@ /obj/machinery/button/tram/examine(mob/user) . = ..() - . += "There's a small inscription on the button..." - . += "THIS CALLS THE TRAM! IT DOES NOT OPERATE IT! The console on the tram tells it where to go!" + . += span_notice("There's a small inscription on the button...") + . += span_notice("THIS CALLS THE TRAM! IT DOES NOT OPERATE IT! The console on the tram tells it where to go!") diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 485e4c48293..cfbad4b2c3d 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -117,24 +117,24 @@ if(isEmpProof(TRUE)) //don't reveal it's upgraded if was done via MALF AI Upgrade Camera Network ability . += "It has electromagnetic interference shielding installed." else - . += "It can be shielded against electromagnetic interference with some plasma." + . += span_info("It can be shielded against electromagnetic interference with some plasma.") if(isXRay(TRUE)) //don't reveal it's upgraded if was done via MALF AI Upgrade Camera Network ability . += "It has an X-ray photodiode installed." else - . += "It can be upgraded with an X-ray photodiode with an analyzer." + . += span_info("It can be upgraded with an X-ray photodiode with an analyzer.") if(isMotion()) . += "It has a proximity sensor installed." else - . += "It can be upgraded with a proximity sensor." + . += span_info("It can be upgraded with a proximity sensor.") if(!status) - . += "It's currently deactivated." + . += span_info("It's currently deactivated.") if(!panel_open && powered()) - . += "You'll need to open its maintenance panel with a screwdriver to turn it back on." + . += span_notice("You'll need to open its maintenance panel with a screwdriver to turn it back on.") if(panel_open) - . += "Its maintenance panel is currently open." + . += span_info("Its maintenance panel is currently open.") if(!status && powered()) - . += "It can reactivated with wirecutters." + . += span_info("It can reactivated with wirecutters.") /obj/machinery/camera/emp_act(severity) . = ..() @@ -155,7 +155,7 @@ if (M.client.eye == src) M.unset_machine() M.reset_perspective(null) - to_chat(M, "The screen bursts into static!") + to_chat(M, span_warning("The screen bursts into static!")) /obj/machinery/camera/proc/post_emp_reset(thisemp, previous_network) if(QDELETED(src)) @@ -195,7 +195,7 @@ if(..()) return TRUE panel_open = !panel_open - to_chat(user, "You screw the camera's panel [panel_open ? "open" : "closed"].") + to_chat(user, span_notice("You screw the camera's panel [panel_open ? "open" : "closed"].")) I.play_tool_sound(src) update_appearance() return TRUE @@ -216,7 +216,7 @@ var/obj/item/choice = input(user, "Select a part to remove:", src) as null|obj in sortNames(droppable_parts) if(!choice || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return - to_chat(user, "You remove [choice] from [src].") + to_chat(user, span_notice("You remove [choice] from [src].")) if(choice == assembly.xray_module) assembly.drop_upgrade(assembly.xray_module) removeXRay() @@ -245,7 +245,7 @@ return setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range)) - to_chat(user, "You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.") + to_chat(user, span_notice("You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.")) return TRUE /obj/machinery/camera/welder_act(mob/living/user, obj/item/I) @@ -256,10 +256,10 @@ if(!I.tool_start_check(user, amount=0)) return TRUE - to_chat(user, "You start to weld [src]...") + to_chat(user, span_notice("You start to weld [src]...")) if(I.use_tool(src, user, 100, volume=50)) - user.visible_message("[user] unwelds [src], leaving it as just a frame bolted to the wall.", - "You unweld [src], leaving it as just a frame bolted to the wall") + user.visible_message(span_warning("[user] unwelds [src], leaving it as just a frame bolted to the wall."), + span_warning("You unweld [src], leaving it as just a frame bolted to the wall")) deconstruct(TRUE) return TRUE @@ -272,19 +272,19 @@ if(!user.temporarilyRemoveItemFromInventory(I)) return upgradeXRay(FALSE, TRUE) - to_chat(user, "You attach [I] into [assembly]'s inner circuits.") + to_chat(user, span_notice("You attach [I] into [assembly]'s inner circuits.")) qdel(I) else - to_chat(user, "[src] already has that upgrade!") + to_chat(user, span_warning("[src] already has that upgrade!")) return else if(istype(I, /obj/item/stack/sheet/mineral/plasma)) if(!isEmpProof(TRUE)) //don't reveal it was already upgraded if was done via MALF AI Upgrade Camera Network ability if(I.use_tool(src, user, 0, amount=1)) upgradeEmpProof(FALSE, TRUE) - to_chat(user, "You attach [I] into [assembly]'s inner circuits.") + to_chat(user, span_notice("You attach [I] into [assembly]'s inner circuits.")) else - to_chat(user, "[src] already has that upgrade!") + to_chat(user, span_warning("[src] already has that upgrade!")) return else if(istype(I, /obj/item/assembly/prox_sensor)) @@ -292,10 +292,10 @@ if(!user.temporarilyRemoveItemFromInventory(I)) return upgradeMotion() - to_chat(user, "You attach [I] into [assembly]'s inner circuits.") + to_chat(user, span_notice("You attach [I] into [assembly]'s inner circuits.")) qdel(I) else - to_chat(user, "[src] already has that upgrade!") + to_chat(user, span_warning("[src] already has that upgrade!")) return // OTHER @@ -314,7 +314,7 @@ P = I itemname = P.name info = P.notehtml - to_chat(U, "You hold \the [itemname] up to the camera...") + to_chat(U, span_notice("You hold \the [itemname] up to the camera...")) U.changeNext_move(CLICK_CD_MELEE) for(var/mob/O in GLOB.player_list) if(isAI(O)) @@ -322,25 +322,25 @@ if(AI.control_disabled || (AI.stat == DEAD)) continue if(U.name == "Unknown") - to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...") + to_chat(AI, "[span_name("[U]")] holds \a [itemname] up to one of your cameras ...") else to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...") AI.last_paper_seen = "[itemname][info]" else if (O.client.eye == src) - to_chat(O, "[U] holds \a [itemname] up to one of the cameras ...") + to_chat(O, "[span_name("[U]")] holds \a [itemname] up to one of the cameras ...") O << browse(text("[][]", itemname, info), text("window=[]", itemname)) return else if(istype(I, /obj/item/camera_bug)) if(!can_use()) - to_chat(user, "Camera non-functional.") + to_chat(user, span_notice("Camera non-functional.")) return if(bug) - to_chat(user, "Camera bug removed.") + to_chat(user, span_notice("Camera bug removed.")) bug.bugged_cameras -= src.c_tag bug = null else - to_chat(user, "Camera bugged.") + to_chat(user, span_notice("Camera bugged.")) bug = I bug.bugged_cameras[src.c_tag] = src return @@ -413,10 +413,10 @@ addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100) if(displaymessage) if(user) - visible_message("[user] [change_msg] [src]!") + visible_message(span_danger("[user] [change_msg] [src]!")) add_hiddenprint(user) else - visible_message("\The [src] [change_msg]!") + visible_message(span_danger("\The [src] [change_msg]!")) playsound(src, 'sound/items/wirecutter.ogg', 100, TRUE) update_appearance() //update Initialize() if you remove this. @@ -428,7 +428,7 @@ if (O.client.eye == src) O.unset_machine() O.reset_perspective(null) - to_chat(O, "The screen bursts into static!") + to_chat(O, span_warning("The screen bursts into static!")) /obj/machinery/camera/proc/triggerCameraAlarm() alarm_on = TRUE diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index f042a8ec708..e603040d381 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -37,30 +37,30 @@ . += "It has electromagnetic interference shielding installed." has_upgrades = TRUE else if(state == STATE_WIRED) - . += "It can be shielded against electromagnetic interference with some plasma." + . += span_info("It can be shielded against electromagnetic interference with some plasma.") if(xray_module) . += "It has an X-ray photodiode installed." has_upgrades = TRUE else if(state == STATE_WIRED) - . += "It can be upgraded with an X-ray photodiode with an analyzer." + . += span_info("It can be upgraded with an X-ray photodiode with an analyzer.") if(proxy_module) . += "It has a proximity sensor installed." has_upgrades = TRUE else if(state == STATE_WIRED) - . += "It can be upgraded with a proximity sensor." + . += span_info("It can be upgraded with a proximity sensor.") //construction states switch(state) if(STATE_WRENCHED) - . += "You can secure it in place with a welder, or removed with a wrench." + . += span_info("You can secure it in place with a welder, or removed with a wrench.") if(STATE_WELDED) - . += "You can add wires to it, or unweld it from the wall." + . += span_info("You can add wires to it, or unweld it from the wall.") if(STATE_WIRED) if(has_upgrades) - . += "You can remove the contained upgrades with a crowbar." - . += "You can complete it with a screwdriver, or unwire it to start removal." + . += span_info("You can remove the contained upgrades with a crowbar.") + . += span_info("You can complete it with a screwdriver, or unwire it to start removal.") if(STATE_FINISHED) - . += "You shouldn't be seeing this, tell a coder!" + . += span_boldwarning("You shouldn't be seeing this, tell a coder!") /obj/structure/camera_assembly/Initialize(mapload, ndir, building) . = ..() @@ -126,7 +126,7 @@ if(STATE_WRENCHED) if(W.tool_behaviour == TOOL_WELDER) if(weld(W, user)) - to_chat(user, "You weld [src] securely into place.") + to_chat(user, span_notice("You weld [src] securely into place.")) set_anchored(TRUE) state = STATE_WELDED return @@ -135,17 +135,17 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if(C.use(2)) - to_chat(user, "You add wires to [src].") + to_chat(user, span_notice("You add wires to [src].")) state = STATE_WIRED else - to_chat(user, "You need two lengths of cable to wire a camera!") + to_chat(user, span_warning("You need two lengths of cable to wire a camera!")) return return else if(W.tool_behaviour == TOOL_WELDER) if(weld(W, user)) - to_chat(user, "You unweld [src] from its place.") + to_chat(user, span_notice("You unweld [src] from its place.")) state = STATE_WRENCHED set_anchored(TRUE) return @@ -153,7 +153,7 @@ if(STATE_WIRED) // Upgrades! if(istype(W, /obj/item/stack/sheet/mineral/plasma)) //emp upgrade if(emp_module) - to_chat(user, "[src] already contains a [emp_module]!") + to_chat(user, span_warning("[src] already contains a [emp_module]!")) return if(!W.use_tool(src, user, 0, amount=1)) //only use one sheet, otherwise the whole stack will be consumed. return @@ -161,16 +161,16 @@ 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. - to_chat(user, "You attach [W] into [src]'s inner circuits.") + to_chat(user, span_notice("You attach [W] into [src]'s inner circuits.")) return else if(istype(W, /obj/item/analyzer)) //xray upgrade if(xray_module) - to_chat(user, "[src] already contains a [xray_module]!") + to_chat(user, span_warning("[src] already contains a [xray_module]!")) return if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You attach [W] into [src]'s inner circuits.") + to_chat(user, span_notice("You attach [W] into [src]'s inner circuits.")) xray_module = W 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 @@ -180,11 +180,11 @@ else if(istype(W, /obj/item/assembly/prox_sensor)) //motion sensing upgrade if(proxy_module) - to_chat(user, "[src] already contains a [proxy_module]!") + to_chat(user, span_warning("[src] already contains a [proxy_module]!")) return if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You attach [W] into [src]'s inner circuits.") + to_chat(user, span_notice("You attach [W] into [src]'s inner circuits.")) proxy_module = W return @@ -205,7 +205,7 @@ var/obj/item/choice = input(user, "Select a part to remove:", src) as null|obj in sortNames(droppable_parts) if(!choice || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return - to_chat(user, "You remove [choice] from [src].") + to_chat(user, span_notice("You remove [choice] from [src].")) drop_upgrade(choice) tool.play_tool_sound(src) return TRUE @@ -220,11 +220,11 @@ tool.play_tool_sound(src) var/input = stripped_input(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13") if(!input) - to_chat(user, "No input found, please hang up and try your call again!") + to_chat(user, span_warning("No input found, please hang up and try your call again!")) return var/list/tempnetwork = splittext(input, ",") if(tempnetwork.len < 1) - to_chat(user, "No network found, please hang up and try your call again!") + to_chat(user, span_warning("No network found, please hang up and try your call again!")) return for(var/i in tempnetwork) tempnetwork -= i @@ -246,7 +246,7 @@ new /obj/item/stack/cable_coil(drop_location(), 2) I.play_tool_sound(src) - to_chat(user, "You cut the wires from the circuits.") + to_chat(user, span_notice("You cut the wires from the circuits.")) state = STATE_WELDED return TRUE @@ -255,7 +255,7 @@ if(state != STATE_WRENCHED) return I.play_tool_sound(src) - to_chat(user, "You detach [src] from its place.") + to_chat(user, span_notice("You detach [src] from its place.")) new /obj/item/wallframe/camera(drop_location()) //drop upgrades if(xray_module) @@ -271,7 +271,7 @@ /obj/structure/camera_assembly/proc/weld(obj/item/weldingtool/W, mob/living/user) if(!W.tool_start_check(user, amount=3)) return FALSE - to_chat(user, "You start to weld [src]...") + to_chat(user, span_notice("You start to weld [src]...")) if(W.use_tool(src, user, 20, amount=3, volume = 50)) return TRUE return FALSE diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index a5f531cfd60..4dd308a6fe7 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -66,7 +66,7 @@ for (var/mob/living/silicon/aiPlayer in GLOB.player_list) if (status) aiPlayer.triggerAlarm("Motion", get_area(src), list(src), src) - visible_message("A red light flashes on the [src]!") + visible_message(span_warning("A red light flashes on the [src]!")) detectTime = -1 return TRUE diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index a18344aa691..fd07fda75d4 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -80,11 +80,11 @@ U.tracking = 1 if(!target || !target.can_track(usr)) - to_chat(U, "Target is not near any active cameras.") + to_chat(U, span_warning("Target is not near any active cameras.")) U.cameraFollow = null return - to_chat(U, "Now tracking [target.get_visible_name()] on camera.") + to_chat(U, span_notice("Now tracking [target.get_visible_name()] on camera.")) INVOKE_ASYNC(src, .proc/do_track, target, U) @@ -98,11 +98,11 @@ if(!target.can_track(usr)) U.tracking = TRUE if(!cameraticks) - to_chat(U, "Target is not near any active cameras. Attempting to reacquire...") + to_chat(U, span_warning("Target is not near any active cameras. Attempting to reacquire...")) cameraticks++ if(cameraticks > 9) U.cameraFollow = null - to_chat(U, "Unable to reacquire, cancelling track...") + to_chat(U, span_warning("Unable to reacquire, cancelling track...")) tracking = FALSE return else diff --git a/code/game/machinery/canister_frame.dm b/code/game/machinery/canister_frame.dm index 06f3ddef9ea..0023ef04532 100644 --- a/code/game/machinery/canister_frame.dm +++ b/code/game/machinery/canister_frame.dm @@ -74,27 +74,27 @@ /obj/structure/canister_frame/machine/examine(user) . = ..() - . += "It can be dismantled by removing the bolts." + . += span_notice("It can be dismantled by removing the bolts.") if(ispath(next_tier)) var/item_name = initial(next_tier_reqitem.singular_name) if(!item_name) item_name = initial(next_tier_reqitem.name) if(next_tier_reqitem_am > 1) - . += "It can be improved using [next_tier_reqitem_am] [item_name]\s." + . += span_notice("It can be improved using [next_tier_reqitem_am] [item_name]\s.") else - . += "It can be improved using \a [item_name]." + . += span_notice("It can be improved using \a [item_name].") if(ispath(finished_obj)) - . += "It can be finished off by screwing it together." + . += span_notice("It can be finished off by screwing it together.") /obj/structure/canister_frame/machine/attackby(obj/item/S, mob/user, params) if (ispath(next_tier) && istype(S, next_tier_reqitem)) var/obj/item/stack/ST = S var/reqitem_name = ST.singular_name ? ST.singular_name : ST.name - to_chat(user, "You start adding [next_tier_reqitem_am] [reqitem_name]\s to the frame...") + to_chat(user, span_notice("You start adding [next_tier_reqitem_am] [reqitem_name]\s to the frame...")) if (ST.use_tool(src, user, 2 SECONDS, amount=next_tier_reqitem_am, volume=50)) - to_chat(user, "You added [next_tier_reqitem_am] [reqitem_name]\s to the frame, turning it into \a [initial(next_tier.name)].") + to_chat(user, span_notice("You added [next_tier_reqitem_am] [reqitem_name]\s to the frame, turning it into \a [initial(next_tier.name)].")) new next_tier(drop_location()) qdel(src) return @@ -105,9 +105,9 @@ if(..()) return if(ispath(finished_obj)) - to_chat(user, "You start tightening the screws on \the [src].") + to_chat(user, span_notice("You start tightening the screws on \the [src].")) if (I.use_tool(src, user, 2 SECONDS, volume=50)) - to_chat(user, "You tighten the last screws on \the [src].") + to_chat(user, span_notice("You tighten the last screws on \the [src].")) new finished_obj(drop_location()) qdel(src) return @@ -117,7 +117,7 @@ . = TRUE if(..()) return - to_chat(user, "You start to dismantle \the [src]...") + to_chat(user, span_notice("You start to dismantle \the [src]...")) if (I.use_tool(src, user, 2 SECONDS, volume=50)) - to_chat(user, "You dismantle \the [src].") + to_chat(user, span_notice("You dismantle \the [src].")) deconstruct() diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 775826dc684..1434923e87a 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -30,31 +30,31 @@ if(charging) . += "Current charge: [round(charging.percent(), 1)]%." if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Charging power: [charge_rate]W." + . += span_notice("The status display reads: Charging power: [charge_rate]W.") /obj/machinery/cell_charger/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stock_parts/cell) && !panel_open) if(machine_stat & BROKEN) - to_chat(user, "[src] is broken!") + to_chat(user, span_warning("[src] is broken!")) return if(!anchored) - to_chat(user, "[src] isn't attached to the ground!") + to_chat(user, span_warning("[src] isn't attached to the ground!")) return if(charging) - to_chat(user, "There is already a cell in the charger!") + to_chat(user, span_warning("There is already a cell in the charger!")) return else var/area/a = loc.loc // Gets our locations location, like a dream within a dream if(!isarea(a)) return if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power! - to_chat(user, "[src] blinks red as you try to insert the cell!") + to_chat(user, span_warning("[src] blinks red as you try to insert the cell!")) return if(!user.transferItemToLoc(W,src)) return charging = W - user.visible_message("[user] inserts a cell into [src].", "You insert a cell into [src].") + user.visible_message(span_notice("[user] inserts a cell into [src]."), span_notice("You insert a cell into [src].")) update_appearance() else if(!charging && default_deconstruction_screwdriver(user, icon_state, icon_state, W)) @@ -89,7 +89,7 @@ user.put_in_hands(charging) charging.add_fingerprint(user) - user.visible_message("[user] removes [charging] from [src].", "You remove [charging] from [src].") + user.visible_message(span_notice("[user] removes [charging] from [src]."), span_notice("You remove [charging] from [src].")) removecell() @@ -99,7 +99,7 @@ return charging.forceMove(loc) - to_chat(user, "You telekinetically remove [charging] from [src].") + to_chat(user, span_notice("You telekinetically remove [charging] from [src].")) removecell() return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/game/machinery/civilian_bounties.dm b/code/game/machinery/civilian_bounties.dm index e79ac4052ba..f3aa7185a9a 100644 --- a/code/game/machinery/civilian_bounties.dm +++ b/code/game/machinery/civilian_bounties.dm @@ -32,7 +32,7 @@ /obj/machinery/computer/piratepad_control/multitool_act(mob/living/user, obj/item/multitool/I) if(istype(I) && istype(I.buffer,/obj/machinery/piratepad/civilian)) - to_chat(user, "You link [src] with [I.buffer] in [I] buffer.") + to_chat(user, span_notice("You link [src] with [I.buffer] in [I] buffer.")) pad = I.buffer return TRUE @@ -104,7 +104,7 @@ var/obj/item/bounty_cube/reward = new /obj/item/bounty_cube(drop_location()) reward.set_up(curr_bounty, inserted_scan_id) - pad.visible_message("[pad] activates!") + pad.visible_message(span_notice("[pad] activates!")) flick(pad.sending_state,pad) pad.icon_state = pad.idle_state playsound(loc, 'sound/machines/synth_yes.ogg', 30 , TRUE) @@ -117,10 +117,10 @@ var/datum/bank_account/pot_acc = inserted_scan_id.registered_account if((pot_acc.civilian_bounty && ((world.time) < pot_acc.bounty_timer + 5 MINUTES)) || pot_acc.bounties) var/curr_time = round(((pot_acc.bounty_timer + (5 MINUTES))-world.time)/ (1 MINUTES), 0.01) - to_chat(usr, "Internal ID network spools coiling, try again in [curr_time] minutes!") + to_chat(usr, span_warning("Internal ID network spools coiling, try again in [curr_time] minutes!")) return FALSE if(!pot_acc.account_job) - to_chat(usr, "The console smartly rejects your ID card, as it lacks a job assignment!") + to_chat(usr, span_warning("The console smartly rejects your ID card, as it lacks a job assignment!")) return FALSE var/list/datum/bounty/crumbs = list(random_bounty(pot_acc.account_job.bounty_types), // We want to offer 2 bounties from their appropriate job catagories random_bounty(pot_acc.account_job.bounty_types), // and 1 guarenteed assistant bounty if the other 2 suck. @@ -216,8 +216,8 @@ else id_eject(user, target) - user.visible_message("[user] inserts \the [card_to_insert] into \the [src].", - "You insert \the [card_to_insert] into \the [src].") + user.visible_message(span_notice("[user] inserts \the [card_to_insert] into \the [src]."), + span_notice("You insert \the [card_to_insert] into \the [src].")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) updateUsrDialog() return TRUE @@ -225,14 +225,14 @@ ///Removes A stored ID card. /obj/machinery/computer/piratepad_control/civilian/proc/id_eject(mob/user, obj/target) if(!target) - to_chat(user, "That slot is empty!") + to_chat(user, span_warning("That slot is empty!")) return FALSE else target.forceMove(drop_location()) if(!issilicon(user) && Adjacent(user)) user.put_in_hands(target) - user.visible_message("[user] gets \the [target] from \the [src].", \ - "You get \the [target] from \the [src].") + user.visible_message(span_notice("[user] gets \the [target] from \the [src]."), \ + span_notice("You get \the [target] from \the [src].")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) inserted_scan_id = null updateUsrDialog() @@ -287,9 +287,9 @@ /obj/item/bounty_cube/examine() . = ..() if(speed_bonus) - . += "[time2text(next_nag_time - world.time,"mm:ss")] remains until [bounty_value * speed_bonus] credit speedy delivery bonus lost." + . += span_notice("[time2text(next_nag_time - world.time,"mm:ss")] remains until [bounty_value * speed_bonus] credit speedy delivery bonus lost.") if(handler_tip && !bounty_handler_account) - . += "Scan this in the cargo shuttle with an export scanner to register your bank account for the [bounty_value * handler_tip] credit handling tip." + . += span_notice("Scan this in the cargo shuttle with an export scanner to register your bank account for the [bounty_value * handler_tip] credit handling tip.") /obj/item/bounty_cube/process(delta_time) //if our nag cooldown has finished and we aren't on Centcom or in transit, then nag @@ -335,7 +335,7 @@ /obj/item/bounty_cube/debug_cube/attack_self(mob/user) if(!isliving(user)) - to_chat(user, "You aren't eligible to use this!") + to_chat(user, span_warning("You aren't eligible to use this!")) return ..() if(!set_up) @@ -344,7 +344,7 @@ set_up(random_bounty(), squeezer.get_idcard()) set_up = TRUE return ..() - to_chat(user, "It can't detect your bank account.") + to_chat(user, span_notice("It can't detect your bank account.")) return ..() @@ -357,7 +357,7 @@ var/uses = 2 /obj/item/civ_bounty_beacon/attack_self() - loc.visible_message("\The [src] begins to beep loudly!") + loc.visible_message(span_warning("\The [src] begins to beep loudly!")) addtimer(CALLBACK(src, .proc/launch_payload), 1 SECONDS) /obj/item/civ_bounty_beacon/proc/launch_payload() diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index eb54f958b2d..f7228f98afd 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -27,9 +27,9 @@ /obj/machinery/computer/operating/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/disk/surgery)) - user.visible_message("[user] begins to load \the [O] in \the [src]...", \ - "You begin to load a surgery protocol from \the [O]...", \ - "You hear the chatter of a floppy drive.") + user.visible_message(span_notice("[user] begins to load \the [O] in \the [src]..."), \ + span_notice("You begin to load a surgery protocol from \the [O]..."), \ + span_hear("You hear the chatter of a floppy drive.")) var/obj/item/disk/surgery/D = O if(do_after(user, 10, target = src)) advanced_surgeries |= D.surgeries diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 95379125be6..523903b411a 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -53,7 +53,7 @@ if(..()) return TRUE if(circuit && !(flags_1&NODECONSTRUCT_1)) - to_chat(user, "You start to disconnect the monitor...") + to_chat(user, span_notice("You start to disconnect the monitor...")) if(I.use_tool(src, user, time_to_screwdrive, volume=50)) deconstruct(TRUE, user) return TRUE @@ -99,7 +99,7 @@ A.set_anchored(TRUE) if(machine_stat & BROKEN) if(user) - to_chat(user, "The broken glass falls out.") + to_chat(user, span_notice("The broken glass falls out.")) else playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE) new /obj/item/shard(drop_location()) @@ -108,7 +108,7 @@ A.icon_state = "3" else if(user) - to_chat(user, "You disconnect the monitor.") + to_chat(user, span_notice("You disconnect the monitor.")) A.state = 4 A.icon_state = "4" for(var/obj/C in src) diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 5d3c1e57807..2c9909eb9db 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -15,9 +15,9 @@ /obj/machinery/computer/aifixer/screwdriver_act(mob/living/user, obj/item/I) if(occupier) if(machine_stat & (NOPOWER|BROKEN)) - to_chat(user, "The screws on [name]'s screen won't budge.") + to_chat(user, span_warning("The screws on [name]'s screen won't budge.")) else - to_chat(user, "The screws on [name]'s screen won't budge and it emits a warning beep.") + to_chat(user, span_warning("The screws on [name]'s screen won't budge and it emits a warning beep.")) else return ..() @@ -56,7 +56,7 @@ switch(action) if("PRG_beginReconstruction") if(occupier?.health < 100) - to_chat(usr, "Reconstruction in progress. This will take several minutes.") + to_chat(usr, span_notice("Reconstruction in progress. This will take several minutes.")) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 25, FALSE) restoring = TRUE occupier.notify_ghost_cloning("Your core files are being restored!", source = src) @@ -72,7 +72,7 @@ occupier.revive(full_heal = FALSE, admin_revive = FALSE) if(!occupier.radio_enabled) occupier.radio_enabled = TRUE - to_chat(occupier, "Your Subspace Transceiver has been enabled!") + to_chat(occupier, span_warning("Your Subspace Transceiver has been enabled!")) return occupier.health < 100 /obj/machinery/computer/aifixer/process() @@ -106,29 +106,29 @@ //Downloading AI from card to terminal. if(interaction == AI_TRANS_FROM_CARD) if(machine_stat & (NOPOWER|BROKEN)) - to_chat(user, "[src] is offline and cannot take an AI at this time.") + to_chat(user, span_alert("[src] is offline and cannot take an AI at this time.")) return AI.forceMove(src) occupier = AI AI.control_disabled = TRUE AI.radio_enabled = FALSE - 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.") + to_chat(AI, span_alert("You have been uploaded to a stationary terminal. Sadly, there is no remote access from here.")) + to_chat(user, "[span_notice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") card.AI = null update_appearance() else //Uploading AI from terminal to card if(occupier && !restoring) - to_chat(occupier, "You have been downloaded to a mobile storage device. Still no remote access.") - to_chat(user, "Transfer successful: [occupier.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") + to_chat(occupier, span_notice("You have been downloaded to a mobile storage device. Still no remote access.")) + to_chat(user, "[span_notice("Transfer successful")]: [occupier.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") occupier.forceMove(card) card.AI = occupier occupier = null update_appearance() else if (restoring) - to_chat(user, "ERROR: Reconstruction in progress.") + to_chat(user, span_alert("ERROR: Reconstruction in progress.")) else if (!occupier) - to_chat(user, "ERROR: Unable to locate artificial intelligence.") + to_chat(user, span_alert("ERROR: Unable to locate artificial intelligence.")) /obj/machinery/computer/aifixer/on_deconstruction() if(occupier) diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index 53fff1149fd..950aa892d28 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -32,7 +32,7 @@ /obj/machinery/computer/apc_control/attack_ai(mob/user) if(!isAdminGhostAI(user)) - to_chat(user,"[src] does not support AI control.") //You already have APC access, cheater! + to_chat(user,span_warning("[src] does not support AI control.")) //You already have APC access, cheater! return ..() diff --git a/code/game/machinery/computer/arcade/arcade.dm b/code/game/machinery/computer/arcade/arcade.dm index 8b77d8dd3d4..e70a64e4699 100644 --- a/code/game/machinery/computer/arcade/arcade.dm +++ b/code/game/machinery/computer/arcade/arcade.dm @@ -82,14 +82,14 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( SEND_SIGNAL(src, COMSIG_ARCADE_PRIZEVEND, user, prizes) if(user.mind?.get_skill_level(/datum/skill/gaming) >= SKILL_LEVEL_LEGENDARY && HAS_TRAIT(user, TRAIT_GAMERGOD)) visible_message("[user] inputs an intense cheat code!",\ - "You hear a flurry of buttons being pressed.") + span_notice("You hear a flurry of buttons being pressed.")) say("CODE ACTIVATED: EXTRA PRIZES.") prizes *= 2 for(var/i = 0, i < prizes, i++) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "arcade", /datum/mood_event/arcade) if(prob(0.0001)) //1 in a million new /obj/item/gun/energy/pulse/prize(src) - visible_message("[src] dispenses.. woah, a gun! Way past cool.", "You hear a chime and a shot.") + visible_message(span_notice("[src] dispenses.. woah, a gun! Way past cool."), span_notice("You hear a chime and a shot.")) user.client.give_award(/datum/award/achievement/misc/pulse, user) return @@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( prizeselect = pickweight(GLOB.arcade_prize_pool) var/atom/movable/the_prize = new prizeselect(get_turf(src)) playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) - visible_message("[src] dispenses [the_prize]!", "You hear a chime and a clunk.") + visible_message(span_notice("[src] dispenses [the_prize]!"), span_notice("You hear a chime and a clunk.")) /obj/machinery/computer/arcade/emp_act(severity) . = ..() @@ -131,13 +131,13 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( var/obj/item/stack/arcadeticket/T = O var/amount = T.get_amount() if(amount <2) - to_chat(user, "You need 2 tickets to claim a prize!") + to_chat(user, span_warning("You need 2 tickets to claim a prize!")) return prizevend(user) T.pay_tickets() T.update_appearance() O = T - to_chat(user, "You turn in 2 tickets to the [src] and claim a prize!") + to_chat(user, span_notice("You turn in 2 tickets to the [src] and claim a prize!")) return // ** BATTLE ** // @@ -594,20 +594,20 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return ..() //well boys we did it, lists are no more /obj/machinery/computer/arcade/battle/examine_more(mob/user) - var/list/msg = list("You notice some writing scribbled on the side of [src]...") - msg += "\tsmart -> defend, defend, light attack" - msg += "\tshotgun -> defend, defend, power attack" - msg += "\tshort temper -> counter, counter, counter" - msg += "\tpoisonous -> light attack, light attack, light attack" - msg += "\tchonker -> power attack, power attack, power attack" - msg += "\tmagical -> defend until outmagiced" + var/list/msg = list(span_notice("You notice some writing scribbled on the side of [src]...")) + msg += "\t[span_info("smart -> defend, defend, light attack")]" + msg += "\t[span_info("shotgun -> defend, defend, power attack")]" + msg += "\t[span_info("short temper -> counter, counter, counter")]" + msg += "\t[span_info("poisonous -> light attack, light attack, light attack")]" + msg += "\t[span_info("chonker -> power attack, power attack, power attack")]" + msg += "\t[span_info("magical -> defend until outmagiced")]" return msg /obj/machinery/computer/arcade/battle/emag_act(mob/user) if(obj_flags & EMAGGED) return - to_chat(user, "A mesmerizing Rhumba beat starts playing from the arcade machine's speakers!") + to_chat(user, span_warning("A mesmerizing Rhumba beat starts playing from the arcade machine's speakers!")) temp = "

If you die in the game, you die for real!

" max_passive = 6 bomb_cooldown = 18 @@ -642,9 +642,9 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( var/mob/living/carbon/c_user = user if(!c_user.get_bodypart(BODY_ZONE_L_ARM) && !c_user.get_bodypart(BODY_ZONE_R_ARM)) return - to_chat(c_user, "You move your hand towards the machine, and begin to hesitate as a bloodied guillotine emerges from inside of it...") + to_chat(c_user, span_warning("You move your hand towards the machine, and begin to hesitate as a bloodied guillotine emerges from inside of it...")) if(do_after(c_user, 50, target = src)) - to_chat(c_user, "The guillotine drops on your arm, and the machine sucks it in!") + to_chat(c_user, span_userdanger("The guillotine drops on your arm, and the machine sucks it in!")) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) var/which_hand = BODY_ZONE_L_ARM if(!(c_user.active_hand_index % 2)) @@ -656,7 +656,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( playsound(loc, 'sound/arcade/win.ogg', 50, TRUE) prizevend(user, rand(3,5)) else - to_chat(c_user, "You (wisely) decide against putting your hand in the machine.") + to_chat(c_user, span_notice("You (wisely) decide against putting your hand in the machine.")) /obj/machinery/computer/arcade/amputation/festive //dispenses wrapped gifts instead of arcade prizes, also known as the ancap christmas tree name = "Mediborg's Festive Amputation Adventure" diff --git a/code/game/machinery/computer/arcade/orion.dm b/code/game/machinery/computer/arcade/orion.dm index c418a8f5f69..854430524b5 100644 --- a/code/game/machinery/computer/arcade/orion.dm +++ b/code/game/machinery/computer/arcade/orion.dm @@ -354,16 +354,16 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) reason = "You ran out of food and starved." if(obj_flags & EMAGGED) gamer.set_nutrition(0) //yeah you pretty hongry - to_chat(gamer, "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.") + to_chat(gamer, span_userdanger("Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.")) if(fuel <= 0) reason = "You ran out of fuel, and drift, slowly, into a star." if(obj_flags & EMAGGED) gamer.adjust_fire_stacks(5) gamer.IgniteMob() //flew into a star, so you're on fire - to_chat(gamer, "You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.") + to_chat(gamer, span_userdanger("You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.")) if(obj_flags & EMAGGED) - to_chat(gamer, "You're never going to make it to Orion...") + to_chat(gamer, span_userdanger("You're never going to make it to Orion...")) gamer.death() obj_flags &= ~EMAGGED //removes the emagged status after you lose gameStatus = ORION_STATUS_START @@ -482,7 +482,7 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) /obj/machinery/computer/arcade/orion_trail/emag_act(mob/user) if(obj_flags & EMAGGED) return - to_chat(user, "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.") + to_chat(user, span_notice("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")) name = "The Orion Trail: Realism Edition" desc = "Learn how our ancestors got to Orion, and try not to die in the process!" newgame() @@ -508,9 +508,9 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) if(!(in_range(user, src))) return if(!active) - . += "There's a little switch on the bottom. It's flipped down." + . += span_notice("There's a little switch on the bottom. It's flipped down.") else - . += "There's a little switch on the bottom. It's flipped up." + . += span_notice("There's a little switch on the bottom. It's flipped up.") /obj/item/orion_ship/attack_self(mob/user) //Minibomb-level explosion. Should probably be more because of how hard it is to survive the machine! Also, just over a 5-second fuse if(active) @@ -518,19 +518,19 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events()) log_bomber(usr, "primed an explosive", src, "for detonation") - to_chat(user, "You flip the switch on the underside of [src].") + to_chat(user, span_warning("You flip the switch on the underside of [src].")) active = 1 - visible_message("[src] softly beeps and whirs to life!") + visible_message(span_notice("[src] softly beeps and whirs to life!")) playsound(loc, 'sound/machines/defib_SaftyOn.ogg', 25, TRUE) say("This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.") sleep(20) - visible_message("[src] begins to vibrate...") + visible_message(span_warning("[src] begins to vibrate...")) say("Uh, Port? Having some issues with our reactor, could you check it out? Over.") sleep(30) say("Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-") playsound(loc, 'sound/machines/buzz-sigh.ogg', 25, TRUE) sleep(3.6) - visible_message("[src] explodes!") + visible_message(span_userdanger("[src] explodes!")) explosion(src, devastation_range = 2, heavy_impact_range = 4, light_impact_range = 8, flame_range = 16) qdel(src) diff --git a/code/game/machinery/computer/arcade/orion_event.dm b/code/game/machinery/computer/arcade/orion_event.dm index 292eb98f3be..bc778feccc6 100644 --- a/code/game/machinery/computer/arcade/orion_event.dm +++ b/code/game/machinery/computer/arcade/orion_event.dm @@ -114,7 +114,7 @@ /datum/orion_event/electronic_part/emag_effect(obj/machinery/computer/arcade/orion_trail/game, mob/living/carbon/gamer) playsound(game, 'sound/effects/empulse.ogg', 50, TRUE) - game.visible_message("[src] malfunctions, randomizing in-game stats!") + game.visible_message(span_danger("[src] malfunctions, randomizing in-game stats!")) var/oldfood = game.food var/oldfuel = game.fuel game.food = rand(10,80) / rand(1,2) @@ -124,9 +124,9 @@ /datum/orion_event/electronic_part/proc/revert_random(obj/machinery/computer/arcade/orion_trail/game, oldfood, oldfuel) if(oldfuel > game.fuel && oldfood > game.food) - game.audible_message("[src] lets out a somehow reassuring chime.") + game.audible_message(span_danger("[src] lets out a somehow reassuring chime.")) else if(oldfuel < game.fuel || oldfood < game.food) - game.audible_message("[src] lets out a somehow ominous chime.") + game.audible_message(span_danger("[src] lets out a somehow ominous chime.")) game.food = oldfood game.fuel = oldfuel playsound(game, 'sound/machines/chime.ogg', 50, TRUE) @@ -259,10 +259,10 @@ /datum/orion_event/raiders/emag_effect(obj/machinery/computer/arcade/orion_trail/game, mob/living/carbon/gamer) if(prob(50-gamer_skill)) - to_chat(usr, "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?") + to_chat(usr, span_userdanger("You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?")) gamer.hallucination += 30 else - to_chat(usr, "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...") + to_chat(usr, span_userdanger("Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")) gamer.take_bodypart_damage(30) playsound(game, 'sound/weapons/genhit2.ogg', 100, TRUE) @@ -283,14 +283,14 @@ maxSeverity = 2 //part of gitting gud is rng mitigation var/severity = rand(1,maxSeverity) //pray to RNGesus. PRAY, PIGS if(severity == 1) - to_chat(gamer, "You suddenly feel slightly nauseated." ) + to_chat(gamer, span_userdanger("You suddenly feel slightly nauseated.") ) gamer.adjust_disgust(50) if(severity == 2) - to_chat(usr, "You suddenly feel extremely nauseated and hunch over until it passes.") + to_chat(usr, span_userdanger("You suddenly feel extremely nauseated and hunch over until it passes.")) gamer.adjust_disgust(110) gamer.Stun(60) if(severity >= 3) //you didn't pray hard enough - to_chat(gamer, "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.") + to_chat(gamer, span_warning("An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.")) gamer.adjust_disgust(150) //max this bitch out so they barf a lot gamer.Stun(100) @@ -316,7 +316,7 @@ /datum/orion_event/flux/emag_effect(obj/machinery/computer/arcade/orion_trail/game, mob/living/carbon/gamer) if(prob(25 + gamer_skill))//withstand the wind with your GAMER SKILL - to_chat(gamer, "A violent gale blows past you, and you barely manage to stay standing!") + to_chat(gamer, span_userdanger("A violent gale blows past you, and you barely manage to stay standing!")) return gamer.Paralyze(60) game.say("A sudden gust of powerful wind slams [gamer] into the floor!") diff --git a/code/game/machinery/computer/arena.dm b/code/game/machinery/computer/arena.dm index 0d83aa86d8b..d264cd24418 100644 --- a/code/game/machinery/computer/arena.dm +++ b/code/game/machinery/computer/arena.dm @@ -117,7 +117,7 @@ return var/datum/map_template/M = arena_templates[arena_template] if(!M) - to_chat(user,"No such arena") + to_chat(user,span_warning("No such arena")) return clear_arena() //Clear current arena var/turf/A = get_landmark_turf(ARENA_CORNER_A) @@ -125,7 +125,7 @@ var/wh = abs(A.x - B.x) + 1 var/hz = abs(A.y - B.y) + 1 if(M.width > wh || M.height > hz) - to_chat(user,"Arena template is too big for the current arena!") + to_chat(user,span_warning("Arena template is too big for the current arena!")) return loading = TRUE var/bd = M.load(get_load_point()) @@ -208,7 +208,7 @@ // Could use update_appearance on spawnpoints here to show they're on if(ready_to_spawn) for(var/mob/M in all_contestants()) - to_chat(M,"Arena you're signed up for is ready!") + to_chat(M,span_userdanger("Arena you're signed up for is ready!")) /obj/machinery/computer/arena/proc/all_contestants() . = list() @@ -230,9 +230,9 @@ /obj/machinery/computer/arena/proc/start_match(mob/user) //TODO: Check if everyone is spawned in, if not ask for confirmation. var/timetext = DisplayTimeText(start_delay) - to_chat(user,"The match will start in [timetext].") + to_chat(user,span_notice("The match will start in [timetext].")) for(var/mob/M in all_contestants()) - to_chat(M,"The gates will open in [timetext]!") + to_chat(M,span_userdanger("The gates will open in [timetext]!")) start_time = world.time + start_delay addtimer(CALLBACK(src,.proc/begin),start_delay) for(var/team in teams) @@ -249,7 +249,7 @@ var/obj/machinery/arena_spawn/A = get_spawn(team) playsound(A,start_sound, start_sound_volume) for(var/mob/M in all_contestants()) - to_chat(M,"START!") + to_chat(M,span_userdanger("START!")) //Clean up the countdowns QDEL_LIST(countdowns) start_time = null @@ -311,7 +311,7 @@ /obj/machinery/computer/arena/proc/load_random_arena(mob/user) if(!length(arena_templates)) - to_chat(user,"No arenas present") + to_chat(user,span_warning("No arenas present")) return var/picked = pick(arena_templates) load_arena(picked,user) @@ -406,7 +406,7 @@ if(C.ready_to_spawn) var/list/allowed_keys = C.team_keys[team] if(!(user.ckey in allowed_keys)) - to_chat(user,"You're not on the team list.") + to_chat(user,span_warning("You're not on the team list.")) return C.spawn_member(src,user.ckey,team) diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index b0ddb9db133..98f184cd70f 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -46,11 +46,11 @@ if("clear") var/zone = params["zone"] if(zone in priority_alarms) - to_chat(usr, "Priority alarm for [zone] cleared.") + to_chat(usr, span_notice("Priority alarm for [zone] cleared.")) priority_alarms -= zone . = TRUE if(zone in minor_alarms) - to_chat(usr, "Minor alarm for [zone] cleared.") + to_chat(usr, span_notice("Minor alarm for [zone] cleared.")) minor_alarms -= zone . = TRUE update_appearance() diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index d93ff119568..f700f5a8f00 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -420,7 +420,7 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers) var/list/text = splittext(U.id, "_") IO |= text[1] if(!IO.len) - to_chat(user, "No machinery detected.") + to_chat(user, span_alert("No machinery detected.")) var/S = input("Select the device set: ", "Selection", IO[1]) as anything in sortList(IO) if(src) src.input_tag = "[S]_in" diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 7edb90233cb..784b60b979c 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -8,9 +8,9 @@ switch(state) if(0) if(P.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start wrenching the frame into place...") + to_chat(user, span_notice("You start wrenching the frame into place...")) if(P.use_tool(src, user, 20, volume=50)) - to_chat(user, "You wrench the frame into place.") + to_chat(user, span_notice("You wrench the frame into place.")) set_anchored(TRUE) state = 1 return @@ -18,18 +18,18 @@ if(!P.tool_start_check(user, amount=0)) return - to_chat(user, "You start deconstructing the frame...") + to_chat(user, span_notice("You start deconstructing the frame...")) if(P.use_tool(src, user, 20, volume=50)) - to_chat(user, "You deconstruct the frame.") + to_chat(user, span_notice("You deconstruct the frame.")) var/obj/item/stack/sheet/iron/M = new (drop_location(), 5) M.add_fingerprint(user) qdel(src) return if(1) if(P.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start to unfasten the frame...") + to_chat(user, span_notice("You start to unfasten the frame...")) if(P.use_tool(src, user, 20, volume=50)) - to_chat(user, "You unfasten the frame.") + to_chat(user, span_notice("You unfasten the frame.")) set_anchored(FALSE) state = 0 return @@ -37,24 +37,24 @@ if(!user.transferItemToLoc(P, src)) return playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You place [P] inside the frame.") + to_chat(user, span_notice("You place [P] inside the frame.")) icon_state = "1" circuit = P circuit.add_fingerprint(user) return else if(istype(P, /obj/item/circuitboard) && !circuit) - to_chat(user, "This frame does not accept circuit boards of this type!") + to_chat(user, span_warning("This frame does not accept circuit boards of this type!")) return if(P.tool_behaviour == TOOL_SCREWDRIVER && circuit) P.play_tool_sound(src) - to_chat(user, "You screw [circuit] into place.") + to_chat(user, span_notice("You screw [circuit] into place.")) state = 2 icon_state = "2" return if(P.tool_behaviour == TOOL_CROWBAR && circuit) P.play_tool_sound(src) - to_chat(user, "You remove [circuit].") + to_chat(user, span_notice("You remove [circuit].")) state = 1 icon_state = "0" circuit.forceMove(drop_location()) @@ -64,25 +64,25 @@ if(2) if(P.tool_behaviour == TOOL_SCREWDRIVER && circuit) P.play_tool_sound(src) - to_chat(user, "You unfasten the circuit board.") + to_chat(user, span_notice("You unfasten the circuit board.")) state = 1 icon_state = "1" return if(istype(P, /obj/item/stack/cable_coil)) if(!P.tool_start_check(user, amount=5)) return - to_chat(user, "You start adding cables to the frame...") + to_chat(user, span_notice("You start adding cables to the frame...")) if(P.use_tool(src, user, 20, volume=50, amount=5)) if(state != 2) return - to_chat(user, "You add cables to the frame.") + to_chat(user, span_notice("You add cables to the frame.")) state = 3 icon_state = "3" return if(3) if(P.tool_behaviour == TOOL_WIRECUTTER) P.play_tool_sound(src) - to_chat(user, "You remove the cables.") + to_chat(user, span_notice("You remove the cables.")) state = 2 icon_state = "2" var/obj/item/stack/cable_coil/A = new (drop_location(), 5) @@ -93,18 +93,18 @@ if(!P.tool_start_check(user, amount=2)) return playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You start to put in the glass panel...") + to_chat(user, span_notice("You start to put in the glass panel...")) if(P.use_tool(src, user, 20, amount=2)) if(state != 3) return - to_chat(user, "You put in the glass panel.") + to_chat(user, span_notice("You put in the glass panel.")) state = 4 src.icon_state = "4" return if(4) if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) - to_chat(user, "You remove the glass panel.") + to_chat(user, span_notice("You remove the glass panel.")) state = 3 icon_state = "3" var/obj/item/stack/sheet/glass/G = new(drop_location(), 2) @@ -112,7 +112,7 @@ return if(P.tool_behaviour == TOOL_SCREWDRIVER) P.play_tool_sound(src) - to_chat(user, "You connect the monitor.") + to_chat(user, span_notice("You connect the monitor.")) var/obj/machinery/new_machine = new circuit.build_path(loc) new_machine.setDir(dir) @@ -173,7 +173,7 @@ return if(anchored) - to_chat(usr, "You must unwrench [src] before rotating it!") + to_chat(usr, span_warning("You must unwrench [src] before rotating it!")) return setDir(turn(dir, -90)) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 207754796f9..e7edb5a0eec 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -126,7 +126,7 @@ if(!can_use(user)) return if(current_user) - to_chat(user, "The console is already in use!") + to_chat(user, span_warning("The console is already in use!")) return var/mob/living/L = user if(!eyeobj) @@ -316,9 +316,9 @@ var/mob/living/user_mob = target var/mob/camera/ai_eye/remote/remote_eye = user_mob.remote_control if(remote_eye.zMove(UP, FALSE)) - to_chat(user_mob, "You move upwards.") + to_chat(user_mob, span_notice("You move upwards.")) else - to_chat(user_mob, "You couldn't move upwards!") + to_chat(user_mob, span_notice("You couldn't move upwards!")) /datum/action/innate/camera_multiz_down name = "Move down a floor" @@ -331,6 +331,6 @@ var/mob/living/user_mob = target var/mob/camera/ai_eye/remote/remote_eye = user_mob.remote_control if(remote_eye.zMove(DOWN, FALSE)) - to_chat(user_mob, "You move downwards.") + to_chat(user_mob, span_notice("You move downwards.")) else - to_chat(user_mob, "You couldn't move downwards!") + to_chat(user_mob, span_notice("You couldn't move downwards!")) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 64d52634450..9c0f87fbf57 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -76,7 +76,7 @@ obj_flags |= EMAGGED if (authenticated) authorize_access = SSid_access.get_region_access_list(list(REGION_ALL_STATION)) - to_chat(user, "You scramble the communication routing circuits!") + to_chat(user, span_danger("You scramble the communication routing circuits!")) playsound(src, 'sound/machines/terminal_alert.ogg', 50, FALSE) /obj/machinery/computer/communications/ui_act(action, list/params) @@ -129,11 +129,11 @@ var/obj/item/held_item = usr.get_active_held_item() var/obj/item/card/id/id_card = held_item?.GetID() if (!istype(id_card)) - to_chat(usr, "You need to swipe your ID!") + to_chat(usr, span_warning("You need to swipe your ID!")) playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return if (!(ACCESS_CAPTAIN in id_card.access)) - to_chat(usr, "You are not authorized to do this!") + to_chat(usr, span_warning("You are not authorized to do this!")) playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return @@ -145,13 +145,13 @@ set_security_level(new_sec_level) - to_chat(usr, "Authorization confirmed. Modifying security level.") + to_chat(usr, span_notice("Authorization confirmed. Modifying security level.")) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) // Only notify people if an actual change happened log_game("[key_name(usr)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(usr)].") message_admins("[ADMIN_LOOKUPFLW(usr)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(usr)].") - deadchat_broadcast(" has changed the security level to [params["newSecurityLevel"]] with [src] at [get_area_name(usr, TRUE)].", "[usr.real_name]", usr, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" has changed the security level to [params["newSecurityLevel"]] with [src] at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type=DEADCHAT_ANNOUNCEMENT) alert_level_tick += 1 if ("deleteMessage") @@ -183,20 +183,20 @@ var/emagged = obj_flags & EMAGGED if (emagged) message_syndicate(message, usr) - to_chat(usr, "SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.") + to_chat(usr, span_danger("SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.")) else message_centcom(message, usr) - to_chat(usr, "Message transmitted to Central Command.") + to_chat(usr, span_notice("Message transmitted to Central Command.")) var/associates = emagged ? "the Syndicate": "CentCom" usr.log_talk(message, LOG_SAY, tag = "message to [associates]") - deadchat_broadcast(" has messaged [associates], \"[message]\" at [get_area_name(usr, TRUE)].", "[usr.real_name]", usr, message_type = DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" has messaged [associates], \"[message]\" at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN) if ("purchaseShuttle") var/can_buy_shuttles_or_fail_reason = can_buy_shuttles(usr) if (can_buy_shuttles_or_fail_reason != TRUE) if (can_buy_shuttles_or_fail_reason != FALSE) - to_chat(usr, "[can_buy_shuttles_or_fail_reason]") + to_chat(usr, span_alert("[can_buy_shuttles_or_fail_reason]")) return var/list/shuttles = flatten_list(SSmapping.shuttle_templates) var/datum/map_template/shuttle/shuttle = locate(params["shuttle"]) in shuttles @@ -205,7 +205,7 @@ if (!can_purchase_this_shuttle(shuttle)) return if (!shuttle.prerequisites_met()) - to_chat(usr, "You have not met the requirements for purchasing this shuttle.") + to_chat(usr, span_alert("You have not met the requirements for purchasing this shuttle.")) return var/datum/bank_account/bank_account = SSeconomy.get_dep_account(ACCOUNT_CAR) if (bank_account.account_balance < shuttle.credit_cost) @@ -234,7 +234,7 @@ return var/reason = trim(html_encode(params["reason"]), MAX_MESSAGE_LEN) nuke_request(reason, usr) - to_chat(usr, "Request sent.") + to_chat(usr, span_notice("Request sent.")) usr.log_message("has requested the nuclear codes from CentCom with reason \"[reason]\"", LOG_SAY) priority_announce("The codes for the on-station nuclear self-destruct have been requested by [usr]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self-Destruct Codes Requested", SSstation.announcer.get_rand_report_sound()) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) @@ -244,7 +244,7 @@ return if (!(obj_flags & EMAGGED)) return - to_chat(usr, "Backup routing data restored.") + to_chat(usr, span_notice("Backup routing data restored.")) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) obj_flags &= ~EMAGGED if ("sendToOtherSector") @@ -315,7 +315,7 @@ authenticated = TRUE authorize_access = SSid_access.get_region_access_list(list(REGION_ALL_STATION)) authorize_name = "Unknown" - to_chat(usr, "[src] lets out a quiet alarm as its login is overridden.") + to_chat(usr, span_warning("[src] lets out a quiet alarm as its login is overridden.")) playsound(src, 'sound/machines/terminal_alert.ogg', 25, FALSE) else if(isliving(usr)) var/mob/living/L = usr @@ -334,28 +334,28 @@ revoke_maint_all_access() log_game("[key_name(usr)] disabled emergency maintenance access.") message_admins("[ADMIN_LOOKUPFLW(usr)] disabled emergency maintenance access.") - deadchat_broadcast(" disabled emergency maintenance access at [get_area_name(usr, TRUE)].", "[usr.real_name]", usr, message_type = DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" disabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) else make_maint_all_access() log_game("[key_name(usr)] enabled emergency maintenance access.") message_admins("[ADMIN_LOOKUPFLW(usr)] enabled emergency maintenance access.") - deadchat_broadcast(" enabled emergency maintenance access at [get_area_name(usr, TRUE)].", "[usr.real_name]", usr, message_type = DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" enabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) // Request codes for the Captain's Spare ID safe. if("requestSafeCodes") if(SSjob.assigned_captain) - to_chat(usr, "There is already an assigned Captain or Acting Captain on deck!") + to_chat(usr, span_warning("There is already an assigned Captain or Acting Captain on deck!")) return if(SSjob.safe_code_timer_id) - to_chat(usr, "The safe code has already been requested and is being delivered to your station!") + to_chat(usr, span_warning("The safe code has already been requested and is being delivered to your station!")) return if(SSjob.safe_code_requested) - to_chat(usr, "The safe code has already been requested and delivered to your station!") + to_chat(usr, span_warning("The safe code has already been requested and delivered to your station!")) return if(!SSid_access.spare_id_safe_code) - to_chat(usr, "There is no safe code to deliver to your station!") + to_chat(usr, span_warning("There is no safe code to deliver to your station!")) return var/turf/pod_location = get_turf(src) @@ -580,26 +580,26 @@ */ /obj/machinery/computer/communications/proc/emergency_meeting(mob/living/user) if(!SScommunications.can_make_emergency_meeting(user)) - to_chat(user, "The emergency meeting button doesn't seem to work right now. Please stand by.") + to_chat(user, span_alert("The emergency meeting button doesn't seem to work right now. Please stand by.")) return SScommunications.emergency_meeting(user) - deadchat_broadcast(" called an emergency meeting from [get_area_name(usr, TRUE)].", "[user.real_name]", user, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" called an emergency meeting from [span_name("[get_area_name(usr, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) /obj/machinery/computer/communications/proc/make_announcement(mob/living/user) var/is_ai = issilicon(user) if(!SScommunications.can_announce(user, is_ai)) - to_chat(user, "Intercomms recharging. Please stand by.") + to_chat(user, span_alert("Intercomms recharging. Please stand by.")) return var/input = stripped_input(user, "Please choose a message to announce to the station crew.", "What?") if(!input || !user.canUseTopic(src, !issilicon(usr))) return if(!(user.can_speak())) //No more cheating, mime/random mute guy! input = "..." - to_chat(user, "You find yourself unable to speak.") + to_chat(user, span_warning("You find yourself unable to speak.")) else input = user.treat_message(input) //Adds slurs and so on. Someone should make this use languages too. SScommunications.make_announcement(user, is_ai, input) - deadchat_broadcast(" made a priority announcement from [get_area_name(usr, TRUE)].", "[user.real_name]", user, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" made a priority announcement from [span_name("[get_area_name(usr, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) /obj/machinery/computer/communications/proc/post_status(command, data1, data2) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 25b3cf56ff0..1b0c6dde760 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -153,7 +153,7 @@ if (istype(I, /obj/item/chromosome)) I.forceMove(src) stored_chromosomes += I - to_chat(user, "You insert [I].") + to_chat(user, span_notice("You insert [I].")) return // Insert data disk if console disk slot is empty @@ -167,7 +167,7 @@ eject_disk(user) // Set the new diskette. diskette = I - to_chat(user, "You insert [I].") + to_chat(user, span_notice("You insert [I].")) return // Recycle non-activator used injectors @@ -175,15 +175,15 @@ if(istype(I, /obj/item/dnainjector/activator)) var/obj/item/dnainjector/activator/A = I if(A.used) - to_chat(user,"Recycled [I].") + to_chat(user,span_notice("Recycled [I].")) if(A.research && A.filled) if(prob(60)) var/c_typepath = generate_chromosome() var/obj/item/chromosome/CM = new c_typepath (src) stored_chromosomes += CM - to_chat(user,"[capitalize(CM.name)] added to storage.") + to_chat(user,span_notice("[capitalize(CM.name)] added to storage.")) else - to_chat(user, "There was not enough genetic data to extract a viable chromosome.") + to_chat(user, span_notice("There was not enough genetic data to extract a viable chromosome.")) if(A.crispr_charge) crispr_charges++ qdel(I) @@ -408,7 +408,7 @@ scanner_occupant.dna.remove_all_mutations(list(MUT_NORMAL, MUT_EXTRA)) scanner_occupant.dna.generate_dna_blocks() scrambleready = world.time + SCRAMBLE_TIMEOUT - to_chat(usr,"DNA scrambled.") + to_chat(usr,span_notice("DNA scrambled.")) scanner_occupant.radiation += RADIATION_STRENGTH_MULTIPLIER*50/(connected_scanner.damage_coeff ** 2) return @@ -482,7 +482,7 @@ // GUARD CHECK - Is the occupant currently undergoing some form of // transformation? If so, we don't want to be pulsing genes. if(scanner_occupant.transformation_timer) - to_chat(usr,"Gene pulse failed: The scanner occupant undergoing a transformation.") + to_chat(usr,span_warning("Gene pulse failed: The scanner occupant undergoing a transformation.")) return // Resolve mutation's BYOND path from the alias @@ -820,7 +820,7 @@ var/datum/mutation/human/A = new HM.type() A.copy_mutation(HM) stored_mutations += A - to_chat(usr,"Mutation successfully stored.") + to_chat(usr,span_notice("Mutation successfully stored.")) return // Save a mutation to the diskette's storage buffer. @@ -838,13 +838,13 @@ // GUARD CHECK - Make sure the disk is not full if(LAZYLEN(diskette.mutations) >= diskette.max_mutations) - to_chat(usr,"Disk storage is full.") + to_chat(usr,span_warning("Disk storage is full.")) return // GUARD CHECK - Make sure the disk isn't set to read only, as we're // attempting to write to it if(diskette.read_only) - to_chat(usr,"Disk is set to read only mode.") + to_chat(usr,span_warning("Disk is set to read only mode.")) return var/search_flags = 0 @@ -870,7 +870,7 @@ var/datum/mutation/human/A = new HM.type() A.copy_mutation(HM) diskette.mutations += A - to_chat(usr,"Mutation successfully stored to disk.") + to_chat(usr,span_notice("Mutation successfully stored to disk.")) return // Completely removes a MUT_EXTRA mutation or mutation with corrupt gene @@ -923,7 +923,7 @@ // GUARD CHECK - Make sure the disk isn't set to read only, as we're // attempting to write to it (via deletion) if(diskette.read_only) - to_chat(usr,"Disk is set to read only mode.") + to_chat(usr,span_warning("Disk is set to read only mode.")) return var/bref = params["mutref"] @@ -983,7 +983,7 @@ // If we got a new type, add it to our storage stored_mutations += new result_path() - to_chat(usr, "Success! New mutation has been added to console storage.") + to_chat(usr, span_boldnotice("Success! New mutation has been added to console storage.")) // If it's already discovered, end here. Otherwise, add it to the list of // discovered mutations. @@ -1009,13 +1009,13 @@ // GUARD CHECK - Make sure the disk is not full. if(LAZYLEN(diskette.mutations) >= diskette.max_mutations) - to_chat(usr,"Disk storage is full.") + to_chat(usr,span_warning("Disk storage is full.")) return // GUARD CHECK - Make sure the disk isn't set to read only, as we're // attempting to write to it if(diskette.read_only) - to_chat(usr,"Disk is set to read only mode.") + to_chat(usr,span_warning("Disk is set to read only mode.")) return // GUARD CHECK - We're running a research-type operation. If, for some @@ -1045,7 +1045,7 @@ // If we got a new type, add it to our storage diskette.mutations += new result_path() - to_chat(usr, "Success! New mutation has been added to the disk.") + to_chat(usr, span_boldnotice("Success! New mutation has been added to the disk.")) // If it's already discovered, end here. Otherwise, add it to the list of // discovered mutations @@ -1089,7 +1089,7 @@ // GUARD CHECK - Make sure the disk isn't set to read only, as we're // attempting to write to it if(diskette.read_only) - to_chat(usr,"Disk is set to read only mode.") + to_chat(usr,span_warning("Disk is set to read only mode.")) return // Convert the index to a number and clamp within the array range @@ -1138,7 +1138,7 @@ // GUARD CHECK - Make sure the disk isn't set to read only, as we're // attempting to write (via deletion) to it if(diskette.read_only) - to_chat(usr,"Disk is set to read only mode.") + to_chat(usr,span_warning("Disk is set to read only mode.")) return diskette.genetic_makeup_buffer.Cut() @@ -1229,7 +1229,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["UI"]) - to_chat(usr,"Genetic data corrupted, unable to create injector.") + to_chat(usr,span_warning("Genetic data corrupted, unable to create injector.")) return I = new /obj/item/dnainjector/timed(loc) @@ -1244,7 +1244,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["name"] || !buffer_slot["UE"] || !buffer_slot["blood_type"]) - to_chat(usr,"Genetic data corrupted, unable to create injector.") + to_chat(usr,span_warning("Genetic data corrupted, unable to create injector.")) return I = new /obj/item/dnainjector/timed(loc) @@ -1259,7 +1259,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["UI"] || !buffer_slot["name"] || !buffer_slot["UE"] || !buffer_slot["blood_type"]) - to_chat(usr,"Genetic data corrupted, unable to create injector.") + to_chat(usr,span_warning("Genetic data corrupted, unable to create injector.")) return I = new /obj/item/dnainjector/timed(loc) @@ -1477,7 +1477,7 @@ // GUARD CHECK - Make sure we limit the number of mutations appropriately if(LAZYLEN(injector_selection[adv_inj]) >= max_injector_mutations) - to_chat(usr,"Advanced injector mutation storage is full.") + to_chat(usr,span_warning("Advanced injector mutation storage is full.")) return var/mut_source = params["source"] @@ -1514,7 +1514,7 @@ // If this would take us over the max instability, we inform the user. if(instability_total > max_injector_instability) - to_chat(usr,"Extra mutation would make the advanced injector too instable.") + to_chat(usr,span_warning("Extra mutation would make the advanced injector too instable.")) return // If we've got here, all our checks are passed and we can successfully @@ -1522,7 +1522,7 @@ var/datum/mutation/human/A = new HM.type() A.copy_mutation(HM) injector_selection[adv_inj] += A - to_chat(usr,"Mutation successfully added to advanced injector.") + to_chat(usr,span_notice("Mutation successfully added to advanced injector.")) return // Deletes a mutation from an advanced injector @@ -1582,7 +1582,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["UI"]) - to_chat(usr,"Genetic data corrupted, unable to apply genetic data.") + to_chat(usr,span_warning("Genetic data corrupted, unable to apply genetic data.")) return FALSE COOLDOWN_START(src, enzyme_copy_timer, ENZYME_COPY_BASE_COOLDOWN) scanner_occupant.dna.uni_identity = buffer_slot["UI"] @@ -1595,7 +1595,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["name"] || !buffer_slot["UE"] || !buffer_slot["blood_type"]) - to_chat(usr,"Genetic data corrupted, unable to apply genetic data.") + to_chat(usr,span_warning("Genetic data corrupted, unable to apply genetic data.")) return FALSE COOLDOWN_START(src, enzyme_copy_timer, ENZYME_COPY_BASE_COOLDOWN) scanner_occupant.real_name = buffer_slot["name"] @@ -1610,7 +1610,7 @@ // However, if this is the case, we can't make a complete injector and // this catches that edge case if(!buffer_slot["UI"] || !buffer_slot["name"] || !buffer_slot["UE"] || !buffer_slot["blood_type"]) - to_chat(usr,"Genetic data corrupted, unable to apply genetic data.") + to_chat(usr,span_warning("Genetic data corrupted, unable to apply genetic data.")) return FALSE COOLDOWN_START(src, enzyme_copy_timer, ENZYME_COPY_BASE_COOLDOWN) scanner_occupant.dna.uni_identity = buffer_slot["UI"] @@ -1711,7 +1711,7 @@ var/type = delayed_action["type"] var/buffer_slot = delayed_action["buffer_slot"] if(apply_genetic_makeup(type, buffer_slot)) - to_chat(connected_scanner.occupant, "[src] activates!") + to_chat(connected_scanner.occupant, span_notice("[src] activates!")) delayed_action = null /** @@ -2141,7 +2141,7 @@ if(!diskette) return - to_chat(user, "You eject [diskette] from [src].") + to_chat(user, span_notice("You eject [diskette] from [src].")) // Reset the state to console storage. tgui_view_state["storageMode"] = "console" diff --git a/code/game/machinery/computer/launchpad_control.dm b/code/game/machinery/computer/launchpad_control.dm index 58dd05b4b4f..195a718758f 100644 --- a/code/game/machinery/computer/launchpad_control.dm +++ b/code/game/machinery/computer/launchpad_control.dm @@ -14,7 +14,7 @@ . = ..() /obj/machinery/computer/launchpad/attack_paw(mob/user, list/modifiers) - to_chat(user, "You are too primitive to use this computer!") + to_chat(user, span_warning("You are too primitive to use this computer!")) return /obj/machinery/computer/launchpad/attackby(obj/item/W, mob/user, params) @@ -26,9 +26,9 @@ if(LAZYLEN(launchpads) < maximum_pads) launchpads |= M.buffer M.buffer = null - to_chat(user, "You upload the data from the [W.name]'s buffer.") + to_chat(user, span_notice("You upload the data from the [W.name]'s buffer.")) else - to_chat(user, "[src] cannot handle any more connections!") + to_chat(user, span_warning("[src] cannot handle any more connections!")) else return ..() @@ -40,10 +40,10 @@ /obj/machinery/computer/launchpad/proc/teleport(mob/user, obj/machinery/launchpad/pad, sending) if(QDELETED(pad)) - to_chat(user, "ERROR: Launchpad not responding. Check launchpad integrity.") + to_chat(user, span_warning("ERROR: Launchpad not responding. Check launchpad integrity.")) return if(!pad.isAvailable()) - to_chat(user, "ERROR: Launchpad not operative. Make sure the launchpad is ready and powered.") + to_chat(user, span_warning("ERROR: Launchpad not operative. Make sure the launchpad is ready and powered.")) return pad.doteleport(user, sending) diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index d170cd8cd58..8d49c60709b 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -15,15 +15,15 @@ if(machine_stat & (NOPOWER|BROKEN|MAINT)) return if(!current) - to_chat(user, "You haven't selected anything to transmit laws to!") + to_chat(user, span_alert("You haven't selected anything to transmit laws to!")) return if(!can_upload_to(current)) - to_chat(user, "Upload failed! Check to make sure [current.name] is functioning properly.") + to_chat(user, span_alert("Upload failed! Check to make sure [current.name] is functioning properly.")) current = null return var/turf/currentloc = get_turf(current) if(currentloc && user.z != currentloc.z) - to_chat(user, "Upload failed! Unable to establish a connection to [current.name]. You're too far away!") + to_chat(user, span_alert("Upload failed! Unable to establish a connection to [current.name]. You're too far away!")) current = null return M.install(current.laws, user) @@ -44,9 +44,9 @@ current = select_active_ai(user, z) if (!current) - to_chat(user, "No active AIs detected!") + to_chat(user, span_alert("No active AIs detected!")) else - to_chat(user, "[current.name] selected for law changes.") + to_chat(user, span_notice("[current.name] selected for law changes.")) /obj/machinery/computer/upload/ai/can_upload_to(mob/living/silicon/ai/A) if(!A || !isAI(A)) @@ -65,9 +65,9 @@ current = select_active_free_borg(user) if(!current) - to_chat(user, "No active unslaved cyborgs detected.") + to_chat(user, span_alert("No active unslaved cyborgs detected.")) else - to_chat(user, "[current.name] selected for law changes.") + to_chat(user, span_notice("[current.name] selected for law changes.")) /obj/machinery/computer/upload/borg/can_upload_to(mob/living/silicon/robot/B) if(!B || !iscyborg(B)) diff --git a/code/game/machinery/computer/mechlaunchpad.dm b/code/game/machinery/computer/mechlaunchpad.dm index 0e5f850bfe7..817492eefe7 100644 --- a/code/game/machinery/computer/mechlaunchpad.dm +++ b/code/game/machinery/computer/mechlaunchpad.dm @@ -61,21 +61,21 @@ if(istype(multitool.buffer, /obj/machinery/mechpad)) var/obj/machinery/mechpad/buffered_console = multitool.buffer if(!(mechpads.len < maximum_pads)) - to_chat(user, "[src] cannot handle any more connections!") + to_chat(user, span_warning("[src] cannot handle any more connections!")) return if(buffered_console == connected_mechpad) - to_chat(user, "[src] cannot connect to its own mechpad!") + to_chat(user, span_warning("[src] cannot connect to its own mechpad!")) else if(!connected_mechpad && buffered_console == connect_to_pad()) connected_mechpad = buffered_console connected_mechpad.connected_console = src connected_mechpad.id = id multitool.buffer = null - to_chat(user, "You connect the console to the pad with data from the [multitool.name]'s buffer.") + to_chat(user, span_notice("You connect the console to the pad with data from the [multitool.name]'s buffer.")) else mechpads += buffered_console LAZYADD(buffered_console.consoles, src) multitool.buffer = null - to_chat(user, "You upload the data from the [multitool.name]'s buffer.") + to_chat(user, span_notice("You upload the data from the [multitool.name]'s buffer.")) /** * Tries to call the launch proc on the connected mechpad, returns if there is no connected mechpad or there is no mecha on the pad @@ -85,13 +85,13 @@ */ /obj/machinery/computer/mechpad/proc/try_launch(mob/user, obj/machinery/mechpad/where) if(!connected_mechpad) - to_chat(user, "[src] has no connected pad!") + to_chat(user, span_warning("[src] has no connected pad!")) return if(connected_mechpad.panel_open) - to_chat(user, "[src]'s pad has its' panel open! It won't work!") + to_chat(user, span_warning("[src]'s pad has its' panel open! It won't work!")) return if(!(locate(/obj/vehicle/sealed/mecha) in get_turf(connected_mechpad))) - to_chat(user, "[src] detects no mecha on the pad!") + to_chat(user, span_warning("[src] detects no mecha on the pad!")) return connected_mechpad.launch(where) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 7fb645c643b..39a67441220 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -230,7 +230,7 @@ rank = I.assignment screen = 1 else - to_chat(usr, "Unauthorized access.") + to_chat(usr, span_danger("Unauthorized access.")) playsound(src, 'sound/machines/terminal_on.ogg', 50, FALSE) if(authenticated) if(href_list["screen"]) diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 46cd08c94d0..859c2ff4c04 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -82,7 +82,7 @@ if(.) return if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_warning("Access denied.")) return switch(action) diff --git a/code/game/machinery/computer/prisoner/_prisoner.dm b/code/game/machinery/computer/prisoner/_prisoner.dm index fb453fb8ccb..05bb4042c8b 100644 --- a/code/game/machinery/computer/prisoner/_prisoner.dm +++ b/code/game/machinery/computer/prisoner/_prisoner.dm @@ -10,7 +10,7 @@ /obj/machinery/computer/prisoner/examine(mob/user) . = ..() if(contained_id) - . += "Alt-click to eject the ID card." + . += span_notice("Alt-click to eject the ID card.") @@ -21,27 +21,27 @@ /obj/machinery/computer/prisoner/proc/id_insert(mob/user, obj/item/card/id/advanced/prisoner/P) if(istype(P)) if(contained_id) - to_chat(user, "There's already an ID card in the console!") + to_chat(user, span_warning("There's already an ID card in the console!")) return if(!user.transferItemToLoc(P, src)) return contained_id = P - user.visible_message("[user] inserts an ID card into the console.", \ - "You insert the ID card into the console.") + user.visible_message(span_notice("[user] inserts an ID card into the console."), \ + span_notice("You insert the ID card into the console.")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) updateUsrDialog() /obj/machinery/computer/prisoner/proc/id_eject(mob/user) if(!contained_id) - to_chat(user, "There's no ID card in the console!") + to_chat(user, span_warning("There's no ID card in the console!")) return else contained_id.forceMove(drop_location()) if(!issilicon(user) && Adjacent(user)) user.put_in_hands(contained_id) contained_id = null - user.visible_message("[user] gets an ID card from the console.", \ - "You get the ID card from the console.") + user.visible_message(span_notice("[user] gets an ID card from the console."), \ + span_notice("You get the ID card from the console.")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) updateUsrDialog() diff --git a/code/game/machinery/computer/prisoner/gulag_teleporter.dm b/code/game/machinery/computer/prisoner/gulag_teleporter.dm index 2cb9b53ec7c..9fc37f30e2a 100644 --- a/code/game/machinery/computer/prisoner/gulag_teleporter.dm +++ b/code/game/machinery/computer/prisoner/gulag_teleporter.dm @@ -74,7 +74,7 @@ if(isliving(usr)) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_warning("Access denied.")) return switch(action) if("scan_teleporter") @@ -99,13 +99,13 @@ return TRUE if("toggle_open") if(teleporter.locked) - to_chat(usr, "The teleporter must be unlocked first.") + to_chat(usr, span_alert("The teleporter must be unlocked first.")) return teleporter.toggle_open() return TRUE if("teleporter_lock") if(teleporter.state_open) - to_chat(usr, "The teleporter must be closed first.") + to_chat(usr, span_alert("The teleporter must be closed first.")) return teleporter.locked = !teleporter.locked return TRUE @@ -144,7 +144,7 @@ playsound(src, 'sound/weapons/emitter.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) prisoner.forceMove(get_turf(beacon)) prisoner.Paralyze(40) // small travel dizziness - to_chat(prisoner, "The teleportation makes you a little dizzy.") + to_chat(prisoner, span_warning("The teleportation makes you a little dizzy.")) new /obj/effect/particle_effect/sparks(get_turf(prisoner)) playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(teleporter.locked) diff --git a/code/game/machinery/computer/prisoner/management.dm b/code/game/machinery/computer/prisoner/management.dm index dc69e0e7c69..bff0d2be14d 100644 --- a/code/game/machinery/computer/prisoner/management.dm +++ b/code/game/machinery/computer/prisoner/management.dm @@ -73,7 +73,7 @@ if(screen) id_insert(user) else - to_chat(user, "Unauthorized access.") + to_chat(user, span_danger("Unauthorized access.")) else return ..() @@ -120,7 +120,7 @@ screen = !screen playsound(src, 'sound/machines/terminal_on.ogg', 50, FALSE) else - to_chat(usr, "Unauthorized access.") + to_chat(usr, span_danger("Unauthorized access.")) else if(href_list["warn"]) var/warning = stripped_input(usr, "Message:", "Enter your message here!", "", MAX_MESSAGE_LEN) @@ -129,7 +129,7 @@ var/obj/item/implant/I = locate(href_list["warn"]) in GLOB.tracked_implants if(I && istype(I) && I.imp_in) var/mob/living/R = I.imp_in - to_chat(R, "You hear a voice in your head saying: '[warning]'") + to_chat(R, span_hear("You hear a voice in your head saying: '[warning]'")) log_directed_talk(usr, R, warning, LOG_SAY, "implant message") src.add_fingerprint(usr) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 7d287b81aa1..6497aa64797 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -82,25 +82,25 @@ var/mob/living/silicon/robot/R = locate(params["ref"]) in GLOB.silicon_mobs if(can_control(usr, R) && !..()) var/turf/T = get_turf(R) - message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(R, R.client)] at [ADMIN_VERBOSEJMP(T)]!") - log_game("\[key_name(usr)] detonated [key_name(R)]!") + message_admins(span_notice("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(R, R.client)] at [ADMIN_VERBOSEJMP(T)]!")) + log_game("[span_notice("[key_name(usr)] detonated [key_name(R)]!")]") if(R.connected_ai) - to_chat(R.connected_ai, "

ALERT - Cyborg detonation detected: [R.name]
") + to_chat(R.connected_ai, "

[span_alert("ALERT - Cyborg detonation detected: [R.name]")]
") R.self_destruct() else - to_chat(usr, "Access Denied.") + to_chat(usr, span_danger("Access Denied.")) if("stopbot") if(allowed(usr)) var/mob/living/silicon/robot/R = locate(params["ref"]) in GLOB.silicon_mobs if(can_control(usr, R) && !..()) - message_admins("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!") + message_admins(span_notice("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!")) log_game("[key_name(usr)] [!R.lockcharge ? "locked down" : "released"] [key_name(R)]!") R.SetLockdown(!R.lockcharge) - to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]") + to_chat(R, !R.lockcharge ? span_notice("Your lockdown has been lifted!") : span_alert("You have been locked down!")) if(R.connected_ai) - to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
") + to_chat(R.connected_ai, "[!R.lockcharge ? span_notice("NOTICE - Cyborg lockdown lifted") : span_alert("ALERT - Cyborg lockdown detected")]: [R.name]
") else - to_chat(usr, "Access Denied.") + to_chat(usr, span_danger("Access Denied.")) if("magbot") var/mob/living/silicon/S = usr if((istype(S) && S.hack_software) || isAdminGhostAI(usr)) @@ -114,7 +114,7 @@ if(allowed(usr)) var/mob/living/simple_animal/drone/D = locate(params["ref"]) in GLOB.mob_list if(D.hacked) - to_chat(usr, "ERROR: [D] is not responding to external commands.") + to_chat(usr, span_danger("ERROR: [D] is not responding to external commands.")) else var/turf/T = get_turf(D) message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(D)] at [ADMIN_VERBOSEJMP(T)]!") @@ -122,5 +122,5 @@ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(3, TRUE, D) s.start() - D.visible_message("\the [D] self-destructs!") + D.visible_message(span_danger("\the [D] self-destructs!")) D.gib() diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 7511b317b4f..8b0915afe02 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -37,7 +37,7 @@ if(isliving(user)) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) if(src.z > 6) - to_chat(user, "Unable to establish a connection: \black You're too far away from the station!") + to_chat(user, "[span_boldannounce("Unable to establish a connection")]: \black You're too far away from the station!") return var/dat @@ -329,7 +329,7 @@ What a mess.*/ rank = I.assignment screen = 1 else - to_chat(usr, "Unauthorized Access.") + to_chat(usr, span_danger("Unauthorized Access.")) playsound(src, 'sound/machines/terminal_on.ogg', 50, FALSE) //RECORD FUNCTIONS @@ -356,19 +356,19 @@ What a mess.*/ if(C && istype(C)) var/pay = C.get_item_credit_value() if(!pay) - to_chat(usr, "[C] doesn't seem to be worth anything!") + to_chat(usr, span_warning("[C] doesn't seem to be worth anything!")) else var/diff = p.fine - p.paid GLOB.data_core.payCitation(active2.fields["id"], text2num(href_list["cdataid"]), pay) - to_chat(usr, "You have paid [pay] credit\s towards your fine.") + to_chat(usr, span_notice("You have paid [pay] credit\s towards your fine.")) if (pay == diff || pay > diff || pay >= diff) investigate_log("Citation Paid off: [p.crimeName] Fine: [p.fine] | Paid off by [key_name(usr)]", INVESTIGATE_RECORDS) - to_chat(usr, "The fine has been paid in full.") + to_chat(usr, span_notice("The fine has been paid in full.")) SSblackbox.ReportCitation(text2num(href_list["cdataid"]),"","","","", 0, pay) qdel(C) playsound(src, "terminal_type", 25, FALSE) else - to_chat(usr, "Fines can only be paid with holochips!") + to_chat(usr, span_warning("Fines can only be paid with holochips!")) if("Print Record") if(!( printing )) @@ -691,7 +691,7 @@ What a mess.*/ fine = min(fine, maxFine) if(fine < 0) - to_chat(usr, "You're pretty sure that's not how money works.") + to_chat(usr, span_warning("You're pretty sure that's not how money works.")) return if(!canUseSecurityRecordsConsole(usr, t1, null, a2)) diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index 7b067f0d294..f561196c382 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -157,7 +157,7 @@ var/area/A = get_area(R) L[avoid_assoc_duplicate_keys(A.name, areaindex)] = R if(!L.len) - to_chat(user, "No active connected stations located.") + to_chat(user, span_alert("No active connected stations located.")) return var/desc = input("Please select a station to lock in.", "Locking Computer") as null|anything in sortList(L) var/obj/machinery/teleport/station/target_station = L[desc] diff --git a/code/game/machinery/computer/warrant.dm b/code/game/machinery/computer/warrant.dm index 10be4eb7d7a..af491d28861 100644 --- a/code/game/machinery/computer/warrant.dm +++ b/code/game/machinery/computer/warrant.dm @@ -117,18 +117,18 @@ if(C && istype(C)) var/pay = C.get_item_credit_value() if(!pay) - to_chat(M, "[C] doesn't seem to be worth anything!") + to_chat(M, span_warning("[C] doesn't seem to be worth anything!")) else var/diff = p.fine - p.paid GLOB.data_core.payCitation(current.fields["id"], text2num(href_list["cdataid"]), pay) - to_chat(M, "You have paid [pay] credit\s towards your fine.") + to_chat(M, span_notice("You have paid [pay] credit\s towards your fine.")) if (pay == diff || pay > diff || pay >= diff) investigate_log("Citation Paid off: [p.crimeName] Fine: [p.fine] | Paid off by [key_name(usr)]", INVESTIGATE_RECORDS) - to_chat(M, "The fine has been paid in full.") + to_chat(M, span_notice("The fine has been paid in full.")) SSblackbox.ReportCitation(text2num(href_list["cdataid"]),"","","","", 0, pay) qdel(C) playsound(src, "terminal_type", 25, FALSE) else - to_chat(M, "Fines can only be paid with holochips!") + to_chat(M, span_warning("Fines can only be paid with holochips!")) updateUsrDialog() add_fingerprint(M) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 4ca9b6192f7..8172cf29068 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -75,28 +75,28 @@ switch(state) if(1) if(istype(P, /obj/item/circuitboard/machine)) - to_chat(user, "The frame needs wiring first!") + to_chat(user, span_warning("The frame needs wiring first!")) return else if(istype(P, /obj/item/circuitboard)) - to_chat(user, "This frame does not accept circuit boards of this type!") + to_chat(user, span_warning("This frame does not accept circuit boards of this type!")) return if(istype(P, /obj/item/stack/cable_coil)) if(!P.tool_start_check(user, amount=5)) return - to_chat(user, "You start to add cables to the frame...") + to_chat(user, span_notice("You start to add cables to the frame...")) if(P.use_tool(src, user, 20, volume=50, amount=5)) - to_chat(user, "You add cables to the frame.") + to_chat(user, span_notice("You add cables to the frame.")) state = 2 icon_state = "box_1" return if(P.tool_behaviour == TOOL_SCREWDRIVER && !anchored) - user.visible_message("[user] disassembles the frame.", \ - "You start to disassemble the frame...", "You hear banging and clanking.") + user.visible_message(span_warning("[user] disassembles the frame."), \ + span_notice("You start to disassemble the frame..."), span_hear("You hear banging and clanking.")) if(P.use_tool(src, user, 40, volume=50)) if(state == 1) - to_chat(user, "You disassemble the frame.") + to_chat(user, span_notice("You disassemble the frame.")) var/obj/item/stack/sheet/iron/M = new (loc, 5) M.add_fingerprint(user) qdel(src) @@ -104,35 +104,35 @@ if(P.tool_behaviour == TOOL_WRENCH) var/turf/ground = get_turf(src) if(!anchored && ground.is_blocked_turf(exclude_mobs = TRUE, source_atom = src)) - to_chat(user, "You fail to secure [src].") + to_chat(user, span_notice("You fail to secure [src].")) return - to_chat(user, "You start [anchored ? "un" : ""]securing [src]...") + to_chat(user, span_notice("You start [anchored ? "un" : ""]securing [src]...")) if(P.use_tool(src, user, 40, volume=75)) if(state == 1) - to_chat(user, "You [anchored ? "un" : ""]secure [src].") + to_chat(user, span_notice("You [anchored ? "un" : ""]secure [src].")) set_anchored(!anchored) return if(2) if(P.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start [anchored ? "un" : ""]securing [src]...") + to_chat(user, span_notice("You start [anchored ? "un" : ""]securing [src]...")) if(P.use_tool(src, user, 40, volume=75)) - to_chat(user, "You [anchored ? "un" : ""]secure [src].") + to_chat(user, span_notice("You [anchored ? "un" : ""]secure [src].")) set_anchored(!anchored) return if(istype(P, /obj/item/circuitboard/machine)) var/obj/item/circuitboard/machine/B = P if(!B.build_path) - to_chat(user, "This circuitboard seems to be broken.") + to_chat(user, span_warning("This circuitboard seems to be broken.")) return if(!anchored && B.needs_anchored) - to_chat(user, "The frame needs to be secured first!") + to_chat(user, span_warning("The frame needs to be secured first!")) return if(!user.transferItemToLoc(B, src)) return playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You add the circuit board to the frame.") + to_chat(user, span_notice("You add the circuit board to the frame.")) circuit = B icon_state = "box_2" state = 3 @@ -142,12 +142,12 @@ return else if(istype(P, /obj/item/circuitboard)) - to_chat(user, "This frame does not accept circuit boards of this type!") + to_chat(user, span_warning("This frame does not accept circuit boards of this type!")) return if(P.tool_behaviour == TOOL_WIRECUTTER) P.play_tool_sound(src) - to_chat(user, "You remove the cables.") + to_chat(user, span_notice("You remove the cables.")) state = 1 icon_state = "box_0" new /obj/item/stack/cable_coil(drop_location(), 5) @@ -161,9 +161,9 @@ components.Remove(circuit) circuit = null if(components.len == 0) - to_chat(user, "You remove the circuit board.") + to_chat(user, span_notice("You remove the circuit board.")) else - to_chat(user, "You remove the circuit board and other components.") + to_chat(user, span_notice("You remove the circuit board and other components.")) for(var/atom/movable/AM in components) AM.forceMove(drop_location()) desc = initial(desc) @@ -173,9 +173,9 @@ return if(P.tool_behaviour == TOOL_WRENCH && !circuit.needs_anchored) - to_chat(user, "You start [anchored ? "un" : ""]securing [src]...") + to_chat(user, span_notice("You start [anchored ? "un" : ""]securing [src]...")) if(P.use_tool(src, user, 40, volume=75)) - to_chat(user, "You [anchored ? "un" : ""]secure [src].") + to_chat(user, span_notice("You [anchored ? "un" : ""]secure [src].")) set_anchored(!anchored) return @@ -258,7 +258,7 @@ if(!QDELETED(part)) //If we're a stack and we merged we might not exist anymore components += part part.forceMove(src) - to_chat(user, "[part.name] applied.") + to_chat(user, span_notice("[part.name] applied.")) if(added_components.len) replacer.play_rped_sound() return @@ -280,15 +280,15 @@ NS.add(used_amt) req_components[I] -= used_amt - to_chat(user, "You add [P] to [src].") + to_chat(user, span_notice("You add [P] to [src].")) return if(!user.transferItemToLoc(P, src)) break - to_chat(user, "You add [P] to [src].") + to_chat(user, span_notice("You add [P] to [src].")) components += P req_components[I]-- return TRUE - to_chat(user, "You cannot add that to the machine!") + to_chat(user, span_warning("You cannot add that to the machine!")) return FALSE if(user.combat_mode) return ..() diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index a6bae4788a0..f9bbc8bcafd 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -127,7 +127,7 @@ GLOBAL_LIST_EMPTY(cryopod_computers) ..(target) var/mob/living/mob_occupant = occupant if(mob_occupant && mob_occupant.stat != DEAD) - to_chat(occupant, "You feel cool air surround you. You go numb as your senses turn inward.") + to_chat(occupant, span_notice("You feel cool air surround you. You go numb as your senses turn inward.")) COOLDOWN_START(src, despawn_world_time, time_till_despawn) icon_state = "cryopod" @@ -139,8 +139,8 @@ GLOBAL_LIST_EMPTY(cryopod_computers) name = initial(name) /obj/machinery/cryopod/container_resist_act(mob/living/user) - visible_message("[occupant] emerges from [src]!", - "You climb out of [src]!") + visible_message(span_notice("[occupant] emerges from [src]!"), + span_notice("You climb out of [src]!")) open_machine() /obj/machinery/cryopod/relaymove(mob/user) @@ -170,7 +170,7 @@ GLOBAL_LIST_EMPTY(cryopod_computers) objective.team.objectives -= objective qdel(objective) for(var/datum/mind/mind in objective.team.members) - to_chat(mind.current, "
Your target is no longer within reach. Objective removed!") + to_chat(mind.current, "
[span_userdanger("Your target is no longer within reach. Objective removed!")]") mind.announce_objectives() else if(objective.target && istype(objective.target, /datum/mind)) if(objective.target == mob_occupant.mind) @@ -180,17 +180,17 @@ GLOBAL_LIST_EMPTY(cryopod_computers) return objective.find_target() if(!objective.target && objective.owner) - to_chat(objective.owner.current, "
Your target is no longer within reach. Objective removed!") + to_chat(objective.owner.current, "
[span_userdanger("Your target is no longer within reach. Objective removed!")]") for(var/datum/antagonist/antag in objective.owner.antag_datums) antag.objectives -= objective if (!objective.team) objective.update_explanation_text() objective.owner.announce_objectives() - to_chat(objective.owner.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!") + to_chat(objective.owner.current, "
[span_userdanger("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]") else var/list/objectivestoupdate for(var/datum/mind/objective_owner in objective.get_owners()) - to_chat(objective_owner.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!") + to_chat(objective_owner.current, "
[span_userdanger("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]") for(var/datum/objective/update_target_objective in objective_owner.get_all_objectives()) LAZYADD(objectivestoupdate, update_target_objective) objectivestoupdate += objective.team.objectives @@ -199,7 +199,7 @@ GLOBAL_LIST_EMPTY(cryopod_computers) continue update_objective.target = objective.target update_objective.update_explanation_text() - to_chat(objective.owner.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!") + to_chat(objective.owner.current, "
[span_userdanger("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]") update_objective.owner.announce_objectives() qdel(objective) @@ -247,7 +247,7 @@ GLOBAL_LIST_EMPTY(cryopod_computers) var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems) announcer.announce("CRYOSTORAGE", mob_occupant.real_name, announce_rank, list()) - visible_message("[src] hums and hisses as it moves [mob_occupant.real_name] into storage.") + visible_message(span_notice("[src] hums and hisses as it moves [mob_occupant.real_name] into storage.")) #if MIN_COMPILER_VERSION >= 514 #warn Please replace the loop below this warning with an `as anything` loop. @@ -276,18 +276,18 @@ GLOBAL_LIST_EMPTY(cryopod_computers) return if(occupant) - to_chat(user, "[src] is already occupied!") + to_chat(user, span_notice("[src] is already occupied!")) return if(target.stat == DEAD) - to_chat(user, "Dead people can not be put into cryo.") + to_chat(user, span_notice("Dead people can not be put into cryo.")) return if(target.key && user != target) if(iscyborg(target)) - to_chat(user, "You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] online.") + to_chat(user, span_danger("You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] online.")) else - to_chat(user, "You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] conscious.") + to_chat(user, span_danger("You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] conscious.")) return if(target == user && (tgalert(target, "Would you like to enter cryosleep?", "Enter Cryopod?", "Yes", "No") != "Yes")) @@ -308,7 +308,7 @@ GLOBAL_LIST_EMPTY(cryopod_computers) // rerun the checks in case of shenanigans if(occupant) - to_chat(user, "[src] is already occupied!") + to_chat(user, span_notice("[src] is already occupied!")) return if(target == user) @@ -316,7 +316,7 @@ GLOBAL_LIST_EMPTY(cryopod_computers) else visible_message("[user] starts putting [target] into the cryo pod.") - to_chat(target, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.") + to_chat(target, span_warning("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")) log_admin("[key_name(target)] entered a stasis pod.") message_admins("[key_name_admin(target)] entered a stasis pod. [ADMIN_JMP(src)]") diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 66ba58a43f9..87dd2cea13f 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -70,10 +70,10 @@ if(!active && !(flags_1 & NODECONSTRUCT_1)) if(O.tool_behaviour == TOOL_WRENCH) if(!anchored && !isinspace()) - to_chat(user,"You secure [src] to the floor.") + to_chat(user,span_notice("You secure [src] to the floor.")) set_anchored(TRUE) else if(anchored) - to_chat(user,"You unsecure and disconnect [src].") + to_chat(user,span_notice("You unsecure and disconnect [src].")) set_anchored(FALSE) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) return @@ -85,14 +85,14 @@ /obj/machinery/jukebox/ui_status(mob/user) if(!anchored) - to_chat(user,"This device must be anchored by a wrench!") + to_chat(user,span_warning("This device must be anchored by a wrench!")) return UI_CLOSE if(!allowed(user) && !isobserver(user)) - to_chat(user,"Error: Access Denied.") + to_chat(user,span_warning("Error: Access Denied.")) user.playsound_local(src, 'sound/misc/compiler-failure.ogg', 25, TRUE) return UI_CLOSE if(!songs.len && !isobserver(user)) - to_chat(user,"Error: No music tracks have been authorized for your station. Petition Central Command to resolve this issue.") + to_chat(user,span_warning("Error: No music tracks have been authorized for your station. Petition Central Command to resolve this issue.")) user.playsound_local(src, 'sound/misc/compiler-failure.ogg', 25, TRUE) return UI_CLOSE return ..() @@ -133,7 +133,7 @@ return if(!active) if(stop > world.time) - to_chat(usr, "Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)].") + to_chat(usr, span_warning("Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)].")) if(!COOLDOWN_FINISHED(src, jukebox_error_cd)) return playsound(src, 'sound/misc/compiler-failure.ogg', 50, TRUE) @@ -147,7 +147,7 @@ return TRUE if("select_track") if(active) - to_chat(usr, "Error: You cannot change the song until the current one is over.") + to_chat(usr, span_warning("Error: You cannot change the song until the current one is over.")) return var/list/available = list() for(var/datum/track/S in songs) diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index ed31fb8f9e9..538f88249e7 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -68,11 +68,11 @@ /obj/machinery/defibrillator_mount/examine(mob/user) . = ..() if(defib) - . += "There is a defib unit hooked up. Alt-click to remove it." + . += span_notice("There is a defib unit hooked up. Alt-click to remove it.") if(SSsecurity_level.current_level >= SEC_LEVEL_RED) - . += "Due to a security situation, its locking clamps can be toggled by swiping any ID." + . += span_notice("Due to a security situation, its locking clamps can be toggled by swiping any ID.") else - . += "Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access." + . += span_notice("Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access.") /obj/machinery/defibrillator_mount/update_overlays() . = ..() @@ -99,30 +99,30 @@ //defib interaction /obj/machinery/defibrillator_mount/attack_hand(mob/living/user, list/modifiers) if(!defib) - to_chat(user, "There's no defibrillator unit loaded!") + to_chat(user, span_warning("There's no defibrillator unit loaded!")) return if(defib.paddles.loc != defib) - to_chat(user, "[defib.paddles.loc == user ? "You are already" : "Someone else is"] holding [defib]'s paddles!") + to_chat(user, span_warning("[defib.paddles.loc == user ? "You are already" : "Someone else is"] holding [defib]'s paddles!")) return if(!in_range(src, user)) - to_chat(user, "[defib]'s paddles overextend and come out of your hands!") + to_chat(user, span_warning("[defib]'s paddles overextend and come out of your hands!")) return user.put_in_hands(defib.paddles) /obj/machinery/defibrillator_mount/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/defibrillator)) if(defib) - to_chat(user, "There's already a defibrillator in [src]!") + to_chat(user, span_warning("There's already a defibrillator in [src]!")) return var/obj/item/defibrillator/D = I if(!D.get_cell()) - to_chat(user, "Only defibrilators containing a cell can be hooked up to [src]!") + to_chat(user, span_warning("Only defibrilators containing a cell can be hooked up to [src]!")) return if(HAS_TRAIT(I, TRAIT_NODROP) || !user.transferItemToLoc(I, src)) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, span_warning("[I] is stuck to your hand!")) return - user.visible_message("[user] hooks up [I] to [src]!", \ - "You press [I] into the mount, and it clicks into place.") + user.visible_message(span_notice("[user] hooks up [I] to [src]!"), \ + span_notice("You press [I] into the mount, and it clicks into place.")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) // Make sure the defib is set before processing begins. defib = I @@ -136,31 +136,31 @@ if(id) if(check_access(id) || SSsecurity_level.current_level >= SEC_LEVEL_RED) //anyone can toggle the clamps in red alert! if(!defib) - to_chat(user, "You can't engage the clamps on a defibrillator that isn't there.") + to_chat(user, span_warning("You can't engage the clamps on a defibrillator that isn't there.")) return clamps_locked = !clamps_locked - to_chat(user, "Clamps [clamps_locked ? "" : "dis"]engaged.") + to_chat(user, span_notice("Clamps [clamps_locked ? "" : "dis"]engaged.")) update_appearance() else - to_chat(user, "Insufficient access.") + to_chat(user, span_warning("Insufficient access.")) return ..() /obj/machinery/defibrillator_mount/multitool_act(mob/living/user, obj/item/multitool) ..() if(!defib) - to_chat(user, "There isn't any defibrillator to clamp in!") + to_chat(user, span_warning("There isn't any defibrillator to clamp in!")) return TRUE if(!clamps_locked) - to_chat(user, "[src]'s clamps are disengaged!") + to_chat(user, span_warning("[src]'s clamps are disengaged!")) return TRUE - user.visible_message("[user] presses [multitool] into [src]'s ID slot...", \ - "You begin overriding the clamps on [src]...") + user.visible_message(span_notice("[user] presses [multitool] into [src]'s ID slot..."), \ + span_notice("You begin overriding the clamps on [src]...")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) if(!do_after(user, 100, target = src) || !clamps_locked) return - user.visible_message("[user] pulses [multitool], and [src]'s clamps slide up.", \ - "You override the locking clamps on [src]!") + user.visible_message(span_notice("[user] pulses [multitool], and [src]'s clamps slide up."), \ + span_notice("You override the locking clamps on [src]!")) playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE) clamps_locked = FALSE update_appearance() @@ -172,31 +172,31 @@ if(user.combat_mode) return ..() if(defib) - to_chat(user, "The mount can't be deconstructed while a defibrillator unit is loaded!") + to_chat(user, span_warning("The mount can't be deconstructed while a defibrillator unit is loaded!")) ..() return TRUE new wallframe_type(get_turf(src)) qdel(src) W.play_tool_sound(user) - to_chat(user, "You remove [src] from the wall.") + to_chat(user, span_notice("You remove [src] from the wall.")) /obj/machinery/defibrillator_mount/AltClick(mob/living/carbon/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) return if(!defib) - to_chat(user, "It'd be hard to remove a defib unit from a mount that has none.") + to_chat(user, span_warning("It'd be hard to remove a defib unit from a mount that has none.")) return if(clamps_locked) - to_chat(user, "You try to tug out [defib], but the mount's clamps are locked tight!") + to_chat(user, span_warning("You try to tug out [defib], but the mount's clamps are locked tight!")) return if(!user.put_in_hands(defib)) - to_chat(user, "You need a free hand!") - user.visible_message("[user] unhooks [defib] from [src], dropping it on the floor.", \ - "You slide out [defib] from [src] and unhook the charging cables, dropping it on the floor.") + to_chat(user, span_warning("You need a free hand!")) + user.visible_message(span_notice("[user] unhooks [defib] from [src], dropping it on the floor."), \ + span_notice("You slide out [defib] from [src] and unhook the charging cables, dropping it on the floor.")) else - user.visible_message("[user] unhooks [defib] from [src].", \ - "You slide out [defib] from [src] and unhook the charging cables.") + user.visible_message(span_notice("[user] unhooks [defib] from [src]."), \ + span_notice("You slide out [defib] from [src] and unhook the charging cables.")) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) // Make sure processing ends before the defib is nulled end_processing() diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index b0f42775d0d..2f945b7bb32 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -31,7 +31,7 @@ if(!I.tool_start_check(user, amount=0)) return - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) if(I.use_tool(src, user, 40, volume=40)) obj_integrity = clamp(obj_integrity + 20, 0, max_integrity) else @@ -67,10 +67,10 @@ if(istype(I,/obj/item/stack/sheet/mineral/wood)) var/obj/item/stack/sheet/mineral/wood/W = I if(W.amount < 5) - to_chat(user, "You need at least five wooden planks to make a wall!") + to_chat(user, span_warning("You need at least five wooden planks to make a wall!")) return else - to_chat(user, "You start adding [I] to [src]...") + to_chat(user, span_notice("You start adding [I] to [src]...")) if(do_after(user, 50, target=src)) W.use(5) var/turf/T = get_turf(src) @@ -138,7 +138,7 @@ density = TRUE set_anchored(TRUE) if(deploy_message) - visible_message("[src] deploys!") + visible_message(span_warning("[src] deploys!")) /obj/item/grenade/barrier @@ -152,7 +152,7 @@ /obj/item/grenade/barrier/examine(mob/user) . = ..() - . += "Alt-click to toggle modes." + . += span_notice("Alt-click to toggle modes.") /obj/item/grenade/barrier/AltClick(mob/living/carbon/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) @@ -168,7 +168,7 @@ if(HORIZONTAL) mode = SINGLE - to_chat(user, "[src] is now in [mode] mode.") + to_chat(user, span_notice("[src] is now in [mode] mode.")) /obj/item/grenade/barrier/detonate(mob/living/lanced_by) . = ..() diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index 1fccfbe069f..ed53432cf6e 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -33,16 +33,16 @@ /obj/machinery/dish_drive/examine(mob/user) . = ..() if(user.Adjacent(src)) - . += "Alt-click it to beam its contents to any nearby disposal bins." + . += span_notice("Alt-click it to beam its contents to any nearby disposal bins.") /obj/machinery/dish_drive/attack_hand(mob/living/user, list/modifiers) if(!LAZYLEN(dish_drive_contents)) - to_chat(user, "There's nothing in [src]!") + to_chat(user, span_warning("There's nothing in [src]!")) return var/obj/item/I = LAZYACCESS(dish_drive_contents, LAZYLEN(dish_drive_contents)) //the most recently-added item LAZYREMOVE(dish_drive_contents, I) user.put_in_hands(I) - to_chat(user, "You take out [I] from [src].") + to_chat(user, span_notice("You take out [I] from [src].")) playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) flick("synthesizer_beam", src) @@ -51,7 +51,7 @@ if(!user.transferItemToLoc(I, src)) return LAZYADD(dish_drive_contents, I) - to_chat(user, "You put [I] in [src], and it's beamed into energy!") + to_chat(user, span_notice("You put [I] in [src], and it's beamed into energy!")) playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) flick("synthesizer_beam", src) return @@ -90,7 +90,7 @@ if(is_type_in_list(I, collectable_items) && I.loc != src && (!I.reagents || !I.reagents.total_volume)) if(I.Adjacent(src)) LAZYADD(dish_drive_contents, I) - visible_message("[src] beams up [I]!") + visible_message(span_notice("[src] beams up [I]!")) I.forceMove(src) playsound(src, 'sound/items/pshoom.ogg', 50, TRUE) flick("synthesizer_beam", src) @@ -100,7 +100,7 @@ /obj/machinery/dish_drive/attack_ai(mob/living/user) if(machine_stat) return - to_chat(user, "You send a disposal transmission signal to [src].") + to_chat(user, span_notice("You send a disposal transmission signal to [src].")) do_the_dishes(TRUE) /obj/machinery/dish_drive/AltClick(mob/living/user) @@ -110,12 +110,12 @@ /obj/machinery/dish_drive/proc/do_the_dishes(manual) if(!LAZYLEN(dish_drive_contents)) if(manual) - visible_message("[src] is empty!") + visible_message(span_notice("[src] is empty!")) return var/obj/machinery/disposal/bin/bin = locate() in view(7, src) if(!bin) if(manual) - visible_message("[src] buzzes. There are no disposal bins in range!") + visible_message(span_warning("[src] buzzes. There are no disposal bins in range!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) return var/disposed = 0 @@ -126,12 +126,12 @@ use_power(active_power_usage) disposed++ if (disposed) - visible_message("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].") + visible_message(span_notice("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].")) 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_appearance() flick("synthesizer_beam", src) else - visible_message("There are no disposable items in [src]!") + visible_message(span_notice("There are no disposable items in [src]!")) time_since_dishes = world.time + 600 diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index cf9343e2134..7c854d589fe 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -33,7 +33,7 @@ /obj/machinery/dna_scannernew/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Radiation pulse accuracy increased by factor [precision_coeff**2].
Radiation pulse damage decreased by factor [damage_coeff**2].
" + . += span_notice("The status display reads: Radiation pulse accuracy increased by factor [precision_coeff**2].
Radiation pulse damage decreased by factor [damage_coeff**2].") /obj/machinery/dna_scannernew/update_icon_state() //no power or maintenance @@ -56,7 +56,7 @@ /obj/machinery/dna_scannernew/proc/toggle_open(mob/user) if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return if(state_open) @@ -64,7 +64,7 @@ return else if(locked) - to_chat(user, "The bolts are locked down, securing the door shut.") + to_chat(user, span_notice("The bolts are locked down, securing the door shut.")) return open_machine() @@ -75,15 +75,15 @@ return user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked) return locked = FALSE - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/dna_scannernew/proc/locate_computer(type_) @@ -121,7 +121,7 @@ if(user.stat || locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) return open_machine() @@ -176,7 +176,7 @@ /obj/item/disk/data/attack_self(mob/user) read_only = !read_only - to_chat(user, "You flip the write-protect tab to [read_only ? "protected" : "unprotected"].") + to_chat(user, span_notice("You flip the write-protect tab to [read_only ? "protected" : "unprotected"].")) /obj/item/disk/data/examine(mob/user) . = ..() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index c807d285194..0070c3435b2 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -300,7 +300,7 @@ return locked = TRUE playsound(src,boltDown,30,FALSE,3) - audible_message("You hear a click from the bottom of the door.", null, 1) + audible_message(span_hear("You hear a click from the bottom of the door."), null, 1) update_appearance() /obj/machinery/door/airlock/unlock() @@ -311,7 +311,7 @@ return locked = FALSE playsound(src,boltUp,30,FALSE,3) - audible_message("You hear a click from the bottom of the door.", null, 1) + audible_message(span_hear("You hear a click from the bottom of the door."), null, 1) update_appearance() /obj/machinery/door/airlock/narsie_act() @@ -576,7 +576,7 @@ /obj/machinery/door/airlock/examine(mob/user) . = ..() if(obj_flags & EMAGGED) - . += "Its access panel is smoking slightly." + . += span_warning("Its access panel is smoking slightly.") if(note) if(!in_range(user, src)) . += "There's a [note.name] pinned to the front. You can't read it from here." @@ -608,10 +608,10 @@ . += "It looks very robust." if(issilicon(user) && !(machine_stat & BROKEN)) - . += "Shift-click [src] to [ density ? "open" : "close"] it." - . += "Ctrl-click [src] to [ locked ? "raise" : "drop"] its bolts." - . += "Alt-click [src] to [ secondsElectrified ? "un-electrify" : "permanently electrify"] it." - . += "Ctrl-Shift-click [src] to [ emergency ? "disable" : "enable"] emergency access." + . += span_notice("Shift-click [src] to [ density ? "open" : "close"] it.") + . += span_notice("Ctrl-click [src] to [ locked ? "raise" : "drop"] its bolts.") + . += span_notice("Alt-click [src] to [ secondsElectrified ? "un-electrify" : "permanently electrify"] it.") + . += span_notice("Ctrl-Shift-click [src] to [ emergency ? "disable" : "enable"] emergency access.") /obj/machinery/door/airlock/attack_ai(mob/user) if(!canAIControl(user)) @@ -619,12 +619,12 @@ hack(user) return else - to_chat(user, "Airlock AI control has been blocked with a firewall. Unable to hack.") + to_chat(user, span_warning("Airlock AI control has been blocked with a firewall. Unable to hack.")) if(obj_flags & EMAGGED) - to_chat(user, "Unable to interface: Airlock is unresponsive.") + to_chat(user, span_warning("Unable to interface: Airlock is unresponsive.")) return if(detonated) - to_chat(user, "Unable to interface. Airlock control panel damaged.") + to_chat(user, span_warning("Unable to interface. Airlock control panel damaged.")) return ui_interact(user) @@ -633,43 +633,43 @@ set waitfor = 0 if(!aiHacking) aiHacking = TRUE - to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.") + to_chat(user, span_warning("Airlock AI control has been blocked. Beginning fault-detection.")) sleep(50) if(canAIControl(user)) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + to_chat(user, span_notice("Alert cancelled. Airlock control has been restored without our assistance.")) aiHacking = FALSE return else if(!canAIHack()) - to_chat(user, "Connection lost! Unable to hack airlock.") + to_chat(user, span_warning("Connection lost! Unable to hack airlock.")) aiHacking = FALSE return - to_chat(user, "Fault confirmed: airlock control wire disabled or cut.") + to_chat(user, span_notice("Fault confirmed: airlock control wire disabled or cut.")) sleep(20) - to_chat(user, "Attempting to hack into airlock. This may take some time.") + to_chat(user, span_notice("Attempting to hack into airlock. This may take some time.")) sleep(200) if(canAIControl(user)) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + to_chat(user, span_notice("Alert cancelled. Airlock control has been restored without our assistance.")) aiHacking = FALSE return else if(!canAIHack()) - to_chat(user, "Connection lost! Unable to hack airlock.") + to_chat(user, span_warning("Connection lost! Unable to hack airlock.")) aiHacking = FALSE return - to_chat(user, "Upload access confirmed. Loading control program into airlock software.") + to_chat(user, span_notice("Upload access confirmed. Loading control program into airlock software.")) sleep(170) if(canAIControl(user)) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + to_chat(user, span_notice("Alert cancelled. Airlock control has been restored without our assistance.")) aiHacking = FALSE return else if(!canAIHack()) - to_chat(user, "Connection lost! Unable to hack airlock.") + to_chat(user, span_warning("Connection lost! Unable to hack airlock.")) aiHacking = FALSE return - to_chat(user, "Transfer complete. Forcing airlock to execute program.") + to_chat(user, span_notice("Transfer complete. Forcing airlock to execute program.")) sleep(50) //disable blocked control aiControlDisabled = AI_WIRE_HACKED - to_chat(user, "Receiving control information from airlock.") + to_chat(user, span_notice("Receiving control information from airlock.")) sleep(10) //bring up airlock dialog aiHacking = FALSE @@ -702,16 +702,16 @@ if((HAS_TRAIT(H, TRAIT_DUMB)) && Adjacent(user)) playsound(src, 'sound/effects/bang.ogg', 25, TRUE) if(!istype(H.head, /obj/item/clothing/head/helmet)) - H.visible_message("[user] headbutts the airlock.", \ - "You headbutt the airlock!") + H.visible_message(span_danger("[user] headbutts the airlock."), \ + span_userdanger("You headbutt the airlock!")) H.Paralyze(100) H.apply_damage(10, BRUTE, BODY_ZONE_HEAD) else - visible_message("[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet.") + visible_message(span_danger("[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet.")) /obj/machinery/door/airlock/attempt_wire_interaction(mob/user) if(security_level) - to_chat(user, "Wires are protected!") + to_chat(user, span_warning("Wires are protected!")) return WIRE_INTERACTION_FAIL return ..() @@ -761,28 +761,28 @@ if(istype(C, /obj/item/stack/sheet/iron)) var/obj/item/stack/sheet/iron/S = C if(S.get_amount() < 2) - to_chat(user, "You need at least 2 iron sheets to reinforce [src].") + to_chat(user, span_warning("You need at least 2 iron sheets to reinforce [src].")) return - to_chat(user, "You start reinforcing [src].") + to_chat(user, span_notice("You start reinforcing [src].")) if(do_after(user, 2 SECONDS, src)) if(!panel_open || !S.use(2)) return - user.visible_message("[user] reinforces \the [src] with iron.", - "You reinforce \the [src] with iron.") + user.visible_message(span_notice("[user] reinforces \the [src] with iron."), + span_notice("You reinforce \the [src] with iron.")) security_level = AIRLOCK_SECURITY_IRON update_appearance() return else if(istype(C, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/S = C if(S.get_amount() < 2) - to_chat(user, "You need at least 2 plasteel sheets to reinforce [src].") + to_chat(user, span_warning("You need at least 2 plasteel sheets to reinforce [src].")) return - to_chat(user, "You start reinforcing [src].") + to_chat(user, span_notice("You start reinforcing [src].")) if(do_after(user, 2 SECONDS, src)) if(!panel_open || !S.use(2)) return - user.visible_message("[user] reinforces \the [src] with plasteel.", - "You reinforce \the [src] with plasteel.") + user.visible_message(span_notice("[user] reinforces \the [src] with plasteel."), + span_notice("You reinforce \the [src] with plasteel.")) security_level = AIRLOCK_SECURITY_PLASTEEL modify_max_integrity(max_integrity * AIRLOCK_INTEGRITY_MULTIPLIER) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R @@ -792,13 +792,13 @@ if(C.tool_behaviour == TOOL_WELDER) if(!C.tool_start_check(user, amount=2)) return - to_chat(user, "You begin cutting the panel's shielding...") + to_chat(user, span_notice("You begin cutting the panel's shielding...")) if(C.use_tool(src, user, 40, volume=50, amount = 2)) if(!panel_open) return - user.visible_message("[user] cuts through \the [src]'s shielding.", - "You cut through \the [src]'s shielding.", - "You hear welding.") + user.visible_message(span_notice("[user] cuts through \the [src]'s shielding."), + span_notice("You cut through \the [src]'s shielding."), + span_hear("You hear welding.")) security_level = AIRLOCK_SECURITY_NONE spawn_atom_to_turf(/obj/item/stack/sheet/iron, user.loc, 2) update_appearance() @@ -806,14 +806,14 @@ if(AIRLOCK_SECURITY_PLASTEEL_I_S) if(C.tool_behaviour == TOOL_CROWBAR) var/obj/item/crowbar/W = C - to_chat(user, "You start removing the inner layer of shielding...") + to_chat(user, span_notice("You start removing the inner layer of shielding...")) if(W.use_tool(src, user, 40, volume=100)) if(!panel_open) return if(security_level != AIRLOCK_SECURITY_PLASTEEL_I_S) return - user.visible_message("[user] remove \the [src]'s shielding.", - "You remove \the [src]'s inner shielding.") + user.visible_message(span_notice("[user] remove \the [src]'s shielding."), + span_notice("You remove \the [src]'s inner shielding.")) security_level = AIRLOCK_SECURITY_NONE modify_max_integrity(max_integrity / AIRLOCK_INTEGRITY_MULTIPLIER) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_N @@ -824,25 +824,25 @@ if(C.tool_behaviour == TOOL_WELDER) if(!C.tool_start_check(user, amount=2)) return - to_chat(user, "You begin cutting the inner layer of shielding...") + to_chat(user, span_notice("You begin cutting the inner layer of shielding...")) if(C.use_tool(src, user, 40, volume=50, amount=2)) if(!panel_open) return - user.visible_message("[user] cuts through \the [src]'s shielding.", - "You cut through \the [src]'s shielding.", - "You hear welding.") + user.visible_message(span_notice("[user] cuts through \the [src]'s shielding."), + span_notice("You cut through \the [src]'s shielding."), + span_hear("You hear welding.")) security_level = AIRLOCK_SECURITY_PLASTEEL_I_S return if(AIRLOCK_SECURITY_PLASTEEL_O_S) if(C.tool_behaviour == TOOL_CROWBAR) - to_chat(user, "You start removing outer layer of shielding...") + to_chat(user, span_notice("You start removing outer layer of shielding...")) if(C.use_tool(src, user, 40, volume=100)) if(!panel_open) return if(security_level != AIRLOCK_SECURITY_PLASTEEL_O_S) return - user.visible_message("[user] remove \the [src]'s shielding.", - "You remove \the [src]'s shielding.") + user.visible_message(span_notice("[user] remove \the [src]'s shielding."), + span_notice("You remove \the [src]'s shielding.")) security_level = AIRLOCK_SECURITY_PLASTEEL_I spawn_atom_to_turf(/obj/item/stack/sheet/plasteel, user.loc, 1) return @@ -850,37 +850,37 @@ if(C.tool_behaviour == TOOL_WELDER) if(!C.tool_start_check(user, amount=2)) return - to_chat(user, "You begin cutting the outer layer of shielding...") + to_chat(user, span_notice("You begin cutting the outer layer of shielding...")) if(C.use_tool(src, user, 40, volume=50, amount=2)) if(!panel_open) return - user.visible_message("[user] cuts through \the [src]'s shielding.", - "You cut through \the [src]'s shielding.", - "You hear welding.") + user.visible_message(span_notice("[user] cuts through \the [src]'s shielding."), + span_notice("You cut through \the [src]'s shielding."), + span_hear("You hear welding.")) security_level = AIRLOCK_SECURITY_PLASTEEL_O_S return if(AIRLOCK_SECURITY_PLASTEEL) if(C.tool_behaviour == TOOL_WIRECUTTER) if(hasPower() && shock(user, 60)) // Protective grille of wiring is electrified return - to_chat(user, "You start cutting through the outer grille.") + to_chat(user, span_notice("You start cutting through the outer grille.")) if(C.use_tool(src, user, 10, volume=100)) if(!panel_open) return - user.visible_message("[user] cut through \the [src]'s outer grille.", - "You cut through \the [src]'s outer grille.") + user.visible_message(span_notice("[user] cut through \the [src]'s outer grille."), + span_notice("You cut through \the [src]'s outer grille.")) security_level = AIRLOCK_SECURITY_PLASTEEL_O return if(C.tool_behaviour == TOOL_SCREWDRIVER) if(panel_open && detonated) - to_chat(user, "[src] has no maintenance panel!") + to_chat(user, span_warning("[src] has no maintenance panel!")) return panel_open = !panel_open - to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the airlock.") + to_chat(user, span_notice("You [panel_open ? "open":"close"] the maintenance panel of the airlock.")) C.play_tool_sound(src) update_appearance() else if((C.tool_behaviour == TOOL_WIRECUTTER) && note) - user.visible_message("[user] cuts down [note] from [src].", "You remove [note] from [src].") + user.visible_message(span_notice("[user] cuts down [note] from [src]."), span_notice("You remove [note] from [src].")) C.play_tool_sound(src) note.forceMove(get_turf(user)) note = null @@ -896,38 +896,38 @@ else if(istype(C, /obj/item/door_seal)) //adding the seal var/obj/item/door_seal/airlockseal = C if(!density) - to_chat(user, "[src] must be closed before you can seal it!") + to_chat(user, span_warning("[src] must be closed before you can seal it!")) return if(seal) - to_chat(user, "[src] has already been sealed!") + to_chat(user, span_warning("[src] has already been sealed!")) return - user.visible_message("[user] begins sealing [src].", "You begin sealing [src].") + user.visible_message(span_notice("[user] begins sealing [src]."), span_notice("You begin sealing [src].")) playsound(src, 'sound/items/jaws_pry.ogg', 30, TRUE) if(!do_after(user, airlockseal.seal_time, target = src)) return if(!density) - to_chat(user, "[src] must be closed before you can seal it!") + to_chat(user, span_warning("[src] must be closed before you can seal it!")) return if(seal) - to_chat(user, "[src] has already been sealed!") + to_chat(user, span_warning("[src] has already been sealed!")) return if(!user.transferItemToLoc(airlockseal, src)) - to_chat(user, "For some reason, you can't attach [airlockseal]!") + to_chat(user, span_warning("For some reason, you can't attach [airlockseal]!")) return playsound(src, 'sound/machines/airlockforced.ogg', 30, TRUE) - user.visible_message("[user] finishes sealing [src].", "You finish sealing [src].") + user.visible_message(span_notice("[user] finishes sealing [src]."), span_notice("You finish sealing [src].")) seal = airlockseal modify_max_integrity(max_integrity * AIRLOCK_SEAL_MULTIPLIER) update_appearance() else if(istype(C, /obj/item/paper) || istype(C, /obj/item/photo)) if(note) - to_chat(user, "There's already something pinned to this airlock! Use wirecutters to remove it.") + to_chat(user, span_warning("There's already something pinned to this airlock! Use wirecutters to remove it.")) return if(!user.transferItemToLoc(C, src)) - to_chat(user, "For some reason, you can't attach [C]!") + to_chat(user, span_warning("For some reason, you can't attach [C]!")) return - user.visible_message("[user] pins [C] to [src].", "You pin [C] to [src].") + user.visible_message(span_notice("[user] pins [C] to [src]."), span_notice("You pin [C] to [src].")) note = C update_appearance() else @@ -937,35 +937,35 @@ /obj/machinery/door/airlock/try_to_weld(obj/item/weldingtool/W, mob/living/user) if(!operating && density) if(seal) - to_chat(user, "[src] is blocked by a seal!") + to_chat(user, span_warning("[src] is blocked by a seal!")) return if(obj_integrity < max_integrity) if(!W.tool_start_check(user, amount=0)) return - user.visible_message("[user] begins welding the airlock.", \ - "You begin repairing the airlock...", \ - "You hear welding.") + user.visible_message(span_notice("[user] begins welding the airlock."), \ + span_notice("You begin repairing the airlock..."), \ + span_hear("You hear welding.")) if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) - user.visible_message("[user] finishes welding [src].", \ - "You finish repairing the airlock.") + user.visible_message(span_notice("[user] finishes welding [src]."), \ + span_notice("You finish repairing the airlock.")) update_appearance() else - to_chat(user, "The airlock doesn't need repairing.") + to_chat(user, span_notice("The airlock doesn't need repairing.")) /obj/machinery/door/airlock/try_to_weld_secondary(obj/item/weldingtool/tool, mob/user) if(!tool.tool_start_check(user, amount=0)) return - user.visible_message("[user] begins [welded ? "unwelding":"welding"] the airlock.", \ - "You begin [welded ? "unwelding":"welding"] the airlock...", \ - "You hear welding.") + user.visible_message(span_notice("[user] begins [welded ? "unwelding":"welding"] the airlock."), \ + span_notice("You begin [welded ? "unwelding":"welding"] the airlock..."), \ + span_hear("You hear welding.")) if(!tool.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, tool, user))) return welded = !welded - user.visible_message("[user] [welded? "welds shut":"unwelds"] [src].", \ - "You [welded ? "weld the airlock shut":"unweld the airlock"].") + user.visible_message(span_notice("[user] [welded? "welds shut":"unwelds"] [src]."), \ + span_notice("You [welded ? "weld the airlock shut":"unweld the airlock"].")) log_game("[key_name(user)] [welded ? "welded":"unwelded"] airlock [src] with [tool] at [AREACOORD(src)]") update_appearance() @@ -985,9 +985,9 @@ return FALSE var/obj/item/door_seal/airlockseal = seal if(!ishuman(user)) - to_chat(user, text("You don't have the dexterity to remove the seal!")) + to_chat(user, span_warning("You don't have the dexterity to remove the seal!")) return TRUE - user.visible_message("[user] begins removing the seal from [src].", "You begin removing [src]'s pneumatic seal.") + user.visible_message(span_notice("[user] begins removing the seal from [src]."), span_notice("You begin removing [src]'s pneumatic seal.")) playsound(src, 'sound/machines/airlockforced.ogg', 30, TRUE) if(!do_after(user, airlockseal.unseal_time, target = src)) return TRUE @@ -995,7 +995,7 @@ return TRUE playsound(src, 'sound/items/jaws_pry.ogg', 30, TRUE) airlockseal.forceMove(get_turf(user)) - user.visible_message("[user] finishes removing the seal from [src].", "You finish removing [src]'s pneumatic seal.") + user.visible_message(span_notice("[user] finishes removing the seal from [src]."), span_notice("You finish removing [src]'s pneumatic seal.")) seal = null modify_max_integrity(max_integrity / AIRLOCK_SEAL_MULTIPLIER) update_appearance() @@ -1006,19 +1006,19 @@ if(I) var/beingcrowbarred = (I.tool_behaviour == TOOL_CROWBAR) if(!security_level && (beingcrowbarred && panel_open && ((obj_flags & EMAGGED) || (density && welded && !operating && !hasPower() && !locked)))) - user.visible_message("[user] removes the electronics from the airlock assembly.", \ - "You start to remove electronics from the airlock assembly...") + user.visible_message(span_notice("[user] removes the electronics from the airlock assembly."), \ + span_notice("You start to remove electronics from the airlock assembly...")) if(I.use_tool(src, user, 40, volume=100)) deconstruct(TRUE, user) return if(seal) - to_chat(user, "Remove the seal first!") + to_chat(user, span_warning("Remove the seal first!")) return if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced!") + to_chat(user, span_warning("The airlock's bolts prevent it from being forced!")) return if(welded) - to_chat(user, "It's welded, it won't budge!") + to_chat(user, span_warning("It's welded, it won't budge!")) return if(hasPower()) if(forced) @@ -1040,17 +1040,17 @@ open(2) take_damage(25, BRUTE, 0, 0) // Enough to sometimes spark if(density && !open(2)) - to_chat(user, "Despite your attempts, [src] refuses to open.") + to_chat(user, span_warning("Despite your attempts, [src] refuses to open.")) prying_so_hard = FALSE return - to_chat(user, "The airlock's motors resist your efforts to force it!") + to_chat(user, span_warning("The airlock's motors resist your efforts to force it!")) return if(!operating) if(istype(I, /obj/item/fireaxe)) //being fireaxe'd var/obj/item/fireaxe/axe = I if(axe && !axe.wielded) - to_chat(user, "You need to be wielding \the [axe] to do that!") + to_chat(user, span_warning("You need to be wielding \the [axe] to do that!")) return INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) @@ -1174,7 +1174,7 @@ var/obj/structure/door_assembly/assembly = initial(airlock.assemblytype) if(airlock_material == "glass" && initial(assembly.noglass)) // prevents painting glass airlocks with a paint job that doesn't have a glass version, such as the freezer - to_chat(user, "This paint job can only be applied to non-glass airlocks.") + to_chat(user, span_warning("This paint job can only be applied to non-glass airlocks.")) return // applies the user-chosen airlock's icon, overlays and assemblytype to the src airlock @@ -1215,12 +1215,12 @@ if(locked || welded || seal) //Extremely generic, as aliens only understand the basics of how airlocks work. if(user.combat_mode) return ..() - to_chat(user, "[src] refuses to budge!") + to_chat(user, span_warning("[src] refuses to budge!")) return add_fingerprint(user) - user.visible_message("[user] begins prying open [src].",\ - "You begin digging your claws into [src] with all your might!",\ - "You hear groaning metal...") + user.visible_message(span_warning("[user] begins prying open [src]."),\ + span_noticealien("You begin digging your claws into [src] with all your might!"),\ + span_warning("You hear groaning metal...")) var/time_to_open = 5 //half a second if(hasPower()) time_to_open = 5 SECONDS //Powered airlocks take longer to open, and are loud. @@ -1229,7 +1229,7 @@ if(do_after(user, time_to_open, src)) if(density && !open(2)) //The airlock is still closed, but something prevented it opening. (Another player noticed and bolted/welded the airlock in time!) - to_chat(user, "Despite your efforts, [src] managed to resist your attempts to open it!") + to_chat(user, span_warning("Despite your efforts, [src] managed to resist your attempts to open it!")) /obj/machinery/door/airlock/hostile_lockdown(mob/origin) // Must be powered and have working AI wire. @@ -1307,10 +1307,10 @@ A?.update_integrity(A.max_integrity * 0.5) else if(obj_flags & EMAGGED) if(user) - to_chat(user, "You discard the damaged electronics.") + to_chat(user, span_warning("You discard the damaged electronics.")) else if(user) - to_chat(user, "You remove the airlock electronics.") + to_chat(user, span_notice("You remove the airlock electronics.")) var/obj/item/electronics/airlock/ae if(!electronics) @@ -1331,10 +1331,10 @@ switch(the_rcd.mode) if(RCD_DECONSTRUCT) if(seal) - to_chat(user, "[src]'s seal needs to be removed first.") + to_chat(user, span_notice("[src]'s seal needs to be removed first.")) return FALSE if(security_level != AIRLOCK_SECURITY_NONE) - to_chat(user, "[src]'s reinforcement needs to be removed first.") + to_chat(user, span_notice("[src]'s reinforcement needs to be removed first.")) return FALSE return list("mode" = RCD_DECONSTRUCT, "delay" = 50, "cost" = 32) return FALSE @@ -1342,7 +1342,7 @@ /obj/machinery/door/airlock/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct the airlock.") + to_chat(user, span_notice("You deconstruct the airlock.")) qdel(src) return TRUE return FALSE @@ -1411,14 +1411,14 @@ loseMainPower() update_appearance() else - to_chat(usr, "Main power is already offline.") + to_chat(usr, span_warning("Main power is already offline.")) . = TRUE if("disrupt-backup") if(!secondsBackupPowerLost) loseBackupPower() update_appearance() else - to_chat(usr, "Backup power is already offline.") + to_chat(usr, span_warning("Backup power is already offline.")) . = TRUE if("shock-restore") shock_restore(usr) @@ -1459,7 +1459,7 @@ if(!user_allowed(user)) return if(wires.is_cut(WIRE_SHOCK)) - to_chat(user, "Can't un-electrify the airlock - The electrification wire is cut.") + to_chat(user, span_warning("Can't un-electrify the airlock - The electrification wire is cut.")) else if(isElectrified()) set_electrified(MACHINE_NOT_ELECTRIFIED, user) @@ -1467,7 +1467,7 @@ if(!user_allowed(user)) return if(wires.is_cut(WIRE_SHOCK)) - to_chat(user, "The electrification wire has been cut.") + to_chat(user, span_warning("The electrification wire has been cut.")) else set_electrified(MACHINE_DEFAULT_ELECTRIFY_TIME, user) @@ -1475,7 +1475,7 @@ if(!user_allowed(user)) return if(wires.is_cut(WIRE_SHOCK)) - to_chat(user, "The electrification wire has been cut.") + to_chat(user, span_warning("The electrification wire has been cut.")) else set_electrified(MACHINE_ELECTRIFIED_PERMANENT, user) @@ -1483,11 +1483,11 @@ if(!user_allowed(user)) return if(wires.is_cut(WIRE_BOLTS)) - to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") + to_chat(user, span_warning("The door bolt drop wire is cut - you can't toggle the door bolts.")) return if(locked) if(!hasPower()) - to_chat(user, "The door has no power - you can't raise the door bolts.") + to_chat(user, span_warning("The door has no power - you can't raise the door bolts.")) else unbolt() log_combat(user, src, "unbolted") @@ -1505,9 +1505,9 @@ if(!user_allowed(user)) return if(welded) - to_chat(user, text("The airlock has been welded shut!")) + to_chat(user, span_warning("The airlock has been welded shut!")) else if(locked) - to_chat(user, text("The door bolts are down!")) + to_chat(user, span_warning("The door bolts are down!")) else if(!density) close() else diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index cce851049ed..6650dee3373 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -12,7 +12,7 @@ /obj/item/electronics/airlock/examine(mob/user) . = ..() - . += "Has a neat selection menu for modifying airlock access levels." + . += span_notice("Has a neat selection menu for modifying airlock access levels.") /obj/item/electronics/airlock/ui_state(mob/user) return GLOB.hands_state diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index a7c8faf227d..d41a7aa7ddd 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -213,7 +213,7 @@ var/mob/user = usr if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_warning("Access denied.")) return FALSE switch(action) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 5dbbb4d1d7d..7e3635f1895 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -48,12 +48,12 @@ . = ..() if(red_alert_access) if(SSsecurity_level.current_level >= SEC_LEVEL_RED) - . += "Due to a security threat, its access requirements have been lifted!" + . += span_notice("Due to a security threat, its access requirements have been lifted!") else - . += "In the event of a red alert, its access requirements will automatically lift." - . += "Its maintenance panel is screwed in place." + . += span_notice("In the event of a red alert, its access requirements will automatically lift.") + . += span_notice("Its maintenance panel is screwed in place.") if(safety_mode) - . += "It has labels indicating that it has an emergency mechanism to open it with just your hands if there's no power." + . += span_notice("It has labels indicating that it has an emergency mechanism to open it with just your hands if there's no power.") /obj/machinery/door/check_access_list(list/access_list) if(red_alert_access && SSsecurity_level.current_level >= SEC_LEVEL_RED) @@ -107,12 +107,12 @@ return if(!red_alert_access) return - audible_message("[src] whirr[p_s()] as [p_they()] automatically lift[p_s()] access requirements!") + audible_message(span_notice("[src] whirr[p_s()] as [p_they()] automatically lift[p_s()] access requirements!")) playsound(src, 'sound/machines/boltsup.ogg', 50, TRUE) /obj/machinery/door/proc/try_safety_unlock(mob/user) if(safety_mode && !hasPower() && density) - to_chat(user, "You begin unlocking the airlock safety mechanism...") + to_chat(user, span_notice("You begin unlocking the airlock safety mechanism...")) if(do_after(user, 15 SECONDS, target = src)) try_to_crowbar(null, user) return TRUE @@ -391,7 +391,7 @@ /obj/machinery/door/proc/crush() for(var/mob/living/L in get_turf(src)) - L.visible_message("[src] closes on [L], crushing [L.p_them()]!", "[src] closes on you and crushes you!") + L.visible_message(span_warning("[src] closes on [L], crushing [L.p_them()]!"), span_userdanger("[src] closes on you and crushes you!")) SEND_SIGNAL(L, COMSIG_LIVING_DOORCRUSHED, src) if(isalien(L)) //For xenos L.adjustBruteLoss(DOOR_CRUSH_DAMAGE * 1.5) //Xenos go into crit after aproximately the same amount of crushes as humans. diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 97e4c38b335..2e959070476 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -33,16 +33,16 @@ /obj/machinery/door/firedoor/examine(mob/user) . = ..() if(!density) - . += "It is open, but could be pried closed." + . += span_notice("It is open, but could be pried closed.") else if(!welded) - . += "It is closed, but could be pried open." - . += "Hold the firelock temporarily open by prying it with left-click and standing next to it." - . += "Prying by right-clicking the firelock will open it permanently." - . += "Deconstruction would require it to be welded shut." + . += span_notice("It is closed, but could be pried open.") + . += span_notice("Hold the firelock temporarily open by prying it with left-click and standing next to it.") + . += span_notice("Prying by right-clicking the firelock will open it permanently.") + . += span_notice("Deconstruction would require it to be welded shut.") else if(boltslocked) - . += "It is welded shut. The floor bolts have been locked by screws." + . += span_notice("It is welded shut. The floor bolts have been locked by screws.") else - . += "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor." + . += span_notice("The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor.") /obj/machinery/door/firedoor/proc/CalculateAffectingAreas() remove_from_areas() @@ -90,8 +90,8 @@ return user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] bangs on \the [src].", \ - "You bang on \the [src].") + user.visible_message(span_notice("[user] bangs on \the [src]."), \ + span_notice("You bang on \the [src].")) playsound(loc, 'sound/effects/glassknock.ogg', 10, FALSE, frequency = 32000) /obj/machinery/door/firedoor/attackby(obj/item/C, mob/user, params) @@ -101,21 +101,21 @@ if(welded) if(C.tool_behaviour == TOOL_WRENCH) if(boltslocked) - to_chat(user, "There are screws locking the bolts in place!") + to_chat(user, span_notice("There are screws locking the bolts in place!")) return C.play_tool_sound(src) - user.visible_message("[user] starts undoing [src]'s bolts...", \ - "You start unfastening [src]'s floor bolts...") + user.visible_message(span_notice("[user] starts undoing [src]'s bolts..."), \ + span_notice("You start unfastening [src]'s floor bolts...")) if(!C.use_tool(src, user, DEFAULT_STEP_TIME)) return playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) - user.visible_message("[user] unfastens [src]'s bolts.", \ - "You undo [src]'s floor bolts.") + user.visible_message(span_notice("[user] unfastens [src]'s bolts."), \ + span_notice("You undo [src]'s floor bolts.")) deconstruct(TRUE) return if(C.tool_behaviour == TOOL_SCREWDRIVER) - user.visible_message("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts.", \ - "You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.") + user.visible_message(span_notice("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts."), \ + span_notice("You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.")) C.play_tool_sound(src) boltslocked = !boltslocked return @@ -127,10 +127,10 @@ /obj/machinery/door/firedoor/try_to_weld(obj/item/weldingtool/W, mob/user) if(!W.tool_start_check(user, amount=0)) return - user.visible_message("[user] starts [welded ? "unwelding" : "welding"] [src].", "You start welding [src].") + user.visible_message(span_notice("[user] starts [welded ? "unwelding" : "welding"] [src]."), span_notice("You start welding [src].")) if(W.use_tool(src, user, DEFAULT_STEP_TIME, volume=50)) welded = !welded - user.visible_message("[user] [welded?"welds":"unwelds"] [src].", "You [welded ? "weld" : "unweld"] [src].") + user.visible_message(span_danger("[user] [welded?"welds":"unwelds"] [src]."), span_notice("You [welded ? "weld" : "unweld"] [src].")) log_game("[key_name(user)] [welded ? "welded":"unwelded"] firedoor [src] with [W] at [AREACOORD(src)]") update_appearance() @@ -193,7 +193,7 @@ /obj/machinery/door/firedoor/attack_alien(mob/user, list/modifiers) add_fingerprint(user) if(welded) - to_chat(user, "[src] refuses to budge!") + to_chat(user, span_warning("[src] refuses to budge!")) return open() @@ -319,11 +319,11 @@ . = ..() switch(constructionStep) if(CONSTRUCTION_PANEL_OPEN) - . += "It is unbolted from the floor. The circuit could be removed with a crowbar." + . += span_notice("It is unbolted from the floor. The circuit could be removed with a crowbar.") if(!reinforced) - . += "It could be reinforced with plasteel." + . += span_notice("It could be reinforced with plasteel.") if(CONSTRUCTION_NO_CIRCUIT) - . += "There are no firelock electronics in the frame. The frame could be welded apart ." + . += span_notice("There are no firelock electronics in the frame. The frame could be welded apart .") /obj/structure/firelock_frame/update_icon_state() icon_state = "[base_icon_state][constructionStep]" @@ -334,32 +334,32 @@ if(CONSTRUCTION_PANEL_OPEN) if(C.tool_behaviour == TOOL_CROWBAR) C.play_tool_sound(src) - user.visible_message("[user] begins removing the circuit board from [src]...", \ - "You begin prying out the circuit board from [src]...") + user.visible_message(span_notice("[user] begins removing the circuit board from [src]..."), \ + span_notice("You begin prying out the circuit board from [src]...")) if(!C.use_tool(src, user, DEFAULT_STEP_TIME)) return if(constructionStep != CONSTRUCTION_PANEL_OPEN) return playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) - user.visible_message("[user] removes [src]'s circuit board.", \ - "You remove the circuit board from [src].") + user.visible_message(span_notice("[user] removes [src]'s circuit board."), \ + span_notice("You remove the circuit board from [src].")) new /obj/item/electronics/firelock(drop_location()) constructionStep = CONSTRUCTION_NO_CIRCUIT update_appearance() return if(C.tool_behaviour == TOOL_WRENCH) if(locate(/obj/machinery/door/firedoor) in get_turf(src)) - to_chat(user, "There's already a firelock there.") + to_chat(user, span_warning("There's already a firelock there.")) return C.play_tool_sound(src) - user.visible_message("[user] starts bolting down [src]...", \ - "You begin bolting [src]...") + user.visible_message(span_notice("[user] starts bolting down [src]..."), \ + span_notice("You begin bolting [src]...")) if(!C.use_tool(src, user, DEFAULT_STEP_TIME)) return if(locate(/obj/machinery/door/firedoor) in get_turf(src)) return - user.visible_message("[user] finishes the firelock.", \ - "You finish the firelock.") + user.visible_message(span_notice("[user] finishes the firelock."), \ + span_notice("You finish the firelock.")) playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) if(reinforced) new /obj/machinery/door/firedoor/heavy(get_turf(src)) @@ -370,49 +370,49 @@ if(istype(C, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/P = C if(reinforced) - to_chat(user, "[src] is already reinforced.") + to_chat(user, span_warning("[src] is already reinforced.")) return if(P.get_amount() < 2) - to_chat(user, "You need more plasteel to reinforce [src].") + to_chat(user, span_warning("You need more plasteel to reinforce [src].")) return - user.visible_message("[user] begins reinforcing [src]...", \ - "You begin reinforcing [src]...") + user.visible_message(span_notice("[user] begins reinforcing [src]..."), \ + span_notice("You begin reinforcing [src]...")) playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) if(do_after(user, DEFAULT_STEP_TIME, target = src)) if(constructionStep != CONSTRUCTION_PANEL_OPEN || reinforced || P.get_amount() < 2 || !P) return - user.visible_message("[user] reinforces [src].", \ - "You reinforce [src].") + user.visible_message(span_notice("[user] reinforces [src]."), \ + span_notice("You reinforce [src].")) playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) P.use(2) reinforced = 1 return if(CONSTRUCTION_NO_CIRCUIT) if(istype(C, /obj/item/electronics/firelock)) - user.visible_message("[user] starts adding [C] to [src]...", \ - "You begin adding a circuit board to [src]...") + user.visible_message(span_notice("[user] starts adding [C] to [src]..."), \ + span_notice("You begin adding a circuit board to [src]...")) playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) if(!do_after(user, DEFAULT_STEP_TIME, target = src)) return if(constructionStep != CONSTRUCTION_NO_CIRCUIT) return qdel(C) - user.visible_message("[user] adds a circuit to [src].", \ - "You insert and secure [C].") + user.visible_message(span_notice("[user] adds a circuit to [src]."), \ + span_notice("You insert and secure [C].")) playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE) constructionStep = CONSTRUCTION_PANEL_OPEN return if(C.tool_behaviour == TOOL_WELDER) if(!C.tool_start_check(user, amount=1)) return - user.visible_message("[user] begins cutting apart [src]'s frame...", \ - "You begin slicing [src] apart...") + user.visible_message(span_notice("[user] begins cutting apart [src]'s frame..."), \ + span_notice("You begin slicing [src] apart...")) if(C.use_tool(src, user, DEFAULT_STEP_TIME, volume=50, amount=1)) if(constructionStep != CONSTRUCTION_NO_CIRCUIT) return - user.visible_message("[user] cuts apart [src]!", \ - "You cut [src] into metal.") + user.visible_message(span_notice("[user] cuts apart [src]!"), \ + span_notice("You cut [src] into metal.")) var/turf/T = get_turf(src) new /obj/item/stack/sheet/iron(T, 3) if(reinforced) @@ -423,8 +423,8 @@ var/obj/item/electroadaptive_pseudocircuit/P = C if(!P.adapt_circuit(user, DEFAULT_STEP_TIME * 0.5)) return - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt a firelock circuit and slot it into the assembly.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt a firelock circuit and slot it into the assembly.")) constructionStep = CONSTRUCTION_PANEL_OPEN update_appearance() return @@ -440,13 +440,13 @@ /obj/structure/firelock_frame/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_UPGRADE_SIMPLE_CIRCUITS) - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt a firelock circuit and slot it into the assembly.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt a firelock circuit and slot it into the assembly.")) constructionStep = CONSTRUCTION_PANEL_OPEN update_appearance() return TRUE if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct [src].") + to_chat(user, span_notice("You deconstruct [src].")) qdel(src) return TRUE return FALSE diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index eb40489e3cb..c36fd2f562d 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -28,10 +28,10 @@ if(W.tool_behaviour == TOOL_SCREWDRIVER) if(density) - to_chat(user, "You need to open [src] before opening its maintenance panel.") + to_chat(user, span_warning("You need to open [src] before opening its maintenance panel.")) return else if(default_deconstruction_screwdriver(user, icon_state, icon_state, W)) - to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch of [src].") + to_chat(user, span_notice("You [panel_open ? "open" : "close"] the maintenance hatch of [src].")) return TRUE if(panel_open) @@ -39,17 +39,17 @@ var/change_id = input("Set the shutters/blast door/blast door controllers ID. It must be a number between 1 and 100.", "ID", id) as num|null if(change_id) id = clamp(round(change_id, 1), 1, 100) - to_chat(user, "You change the ID to [id].") + to_chat(user, span_notice("You change the ID to [id].")) else if(W.tool_behaviour == TOOL_CROWBAR && deconstruction == BLASTDOOR_FINISHED) - to_chat(user, "You start to remove the airlock electronics.") + to_chat(user, span_notice("You start to remove the airlock electronics.")) if(do_after(user, 10 SECONDS, target = src)) new /obj/item/electronics/airlock(loc) id = null deconstruction = BLASTDOOR_NEEDS_ELECTRONICS else if(W.tool_behaviour == TOOL_WIRECUTTER && deconstruction == BLASTDOOR_NEEDS_ELECTRONICS) - to_chat(user, "You start to remove the internal cables.") + to_chat(user, span_notice("You start to remove the internal cables.")) if(do_after(user, 10 SECONDS, target = src)) var/datum/crafting_recipe/recipe = locate(recipe_type) in GLOB.crafting_recipes var/amount = recipe.reqs[/obj/item/stack/cable_coil] @@ -60,7 +60,7 @@ if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You start tearing apart the [src].") + to_chat(user, span_notice("You start tearing apart the [src].")) playsound(src.loc, 'sound/items/welder.ogg', 50, 1) if(do_after(user, 15 SECONDS, target = src)) var/datum/crafting_recipe/recipe = locate(recipe_type) in GLOB.crafting_recipes @@ -72,11 +72,11 @@ . = ..() if(panel_open) if(deconstruction == BLASTDOOR_FINISHED) - . += "The maintenance panel is opened and the electronics could be pried out." + . += span_notice("The maintenance panel is opened and the electronics could be pried out.") else if(deconstruction == BLASTDOOR_NEEDS_ELECTRONICS) - . += "The electronics are missing and there are some wires sticking out." + . += span_notice("The electronics are missing and there are some wires sticking out.") else if(deconstruction == BLASTDOOR_NEEDS_WIRES) - . += "The wires have been removed and it's ready to be sliced apart." + . += span_notice("The wires have been removed and it's ready to be sliced apart.") /obj/machinery/door/poddoor/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) id = "[port.id]_[id]" @@ -178,9 +178,9 @@ /obj/machinery/door/poddoor/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers) if(density & !(resistance_flags & INDESTRUCTIBLE)) add_fingerprint(user) - user.visible_message("[user] begins prying open [src].",\ - "You begin digging your claws into [src] with all your might!",\ - "You hear groaning metal...") + user.visible_message(span_warning("[user] begins prying open [src]."),\ + span_noticealien("You begin digging your claws into [src] with all your might!"),\ + span_warning("You hear groaning metal...")) playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) var/time_to_open = 5 SECONDS @@ -189,7 +189,7 @@ if(do_after(user, time_to_open, src)) if(density && !open(TRUE)) //The airlock is still closed, but something prevented it opening. (Another player noticed and bolted/welded the airlock in time!) - to_chat(user, "Despite your efforts, [src] managed to resist your attempts to open it!") + to_chat(user, span_warning("Despite your efforts, [src] managed to resist your attempts to open it!")) else return ..() diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 8ec8fb71bed..960e0f2e38b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -227,7 +227,7 @@ playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) sleep(6) operating = FALSE - desc += "
Its access panel is smoking slightly." + desc += "
[span_warning("Its access panel is smoking slightly.")]" open(2) /obj/machinery/door/window/attackby(obj/item/I, mob/living/user, params) @@ -239,17 +239,17 @@ if(!(flags_1&NODECONSTRUCT_1)) if(I.tool_behaviour == TOOL_SCREWDRIVER) if(density || operating) - to_chat(user, "You need to open the door to access the maintenance panel!") + to_chat(user, span_warning("You need to open the door to access the maintenance panel!")) return I.play_tool_sound(src) panel_open = !panel_open - to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the [name].") + to_chat(user, span_notice("You [panel_open ? "open":"close"] the maintenance panel of the [name].")) return if(I.tool_behaviour == TOOL_CROWBAR) if(panel_open && !density && !operating) - user.visible_message("[user] removes the electronics from the [name].", \ - "You start to remove electronics from the [name]...") + user.visible_message(span_notice("[user] removes the electronics from the [name]."), \ + span_notice("You start to remove electronics from the [name]...")) if(I.use_tool(src, user, 40, volume=50)) if(panel_open && !density && !operating && loc) var/obj/structure/windoor_assembly/WA = new /obj/structure/windoor_assembly(loc) @@ -271,11 +271,11 @@ WA.created_name = name if(obj_flags & EMAGGED) - to_chat(user, "You discard the damaged electronics.") + to_chat(user, span_warning("You discard the damaged electronics.")) qdel(src) return - to_chat(user, "You remove the airlock electronics.") + to_chat(user, span_notice("You remove the airlock electronics.")) var/obj/item/electronics/airlock/ae if(!electronics) @@ -308,7 +308,7 @@ else close(2) else - to_chat(user, "The door's motors resist your efforts to force it!") + to_chat(user, span_warning("The door's motors resist your efforts to force it!")) /obj/machinery/door/window/do_animate(animation) switch(animation) @@ -354,7 +354,7 @@ /obj/machinery/door/window/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct the windoor.") + to_chat(user, span_notice("You deconstruct the windoor.")) qdel(src) return TRUE return FALSE diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index e6f0c098474..2d1a70d0d46 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -88,7 +88,7 @@ printer_ready = world.time + PRINTER_TIMEOUT new /obj/item/paper/record_printout(loc, record) else if(user) - to_chat(user, "[src] is busy right now.") + to_chat(user, span_warning("[src] is busy right now.")) /obj/item/paper/record_printout name = "paper - Log Recording" @@ -118,16 +118,16 @@ if(I.tool_behaviour == TOOL_WRENCH) if(!anchored && !isinspace()) set_anchored(TRUE) - to_chat(user, "You fasten [src].") + to_chat(user, span_notice("You fasten [src].")) else if(anchored) set_anchored(FALSE) - to_chat(user, "You unfasten [src].") + to_chat(user, span_notice("You unfasten [src].")) I.play_tool_sound(src) return return ..() /obj/machinery/doppler_array/proc/rot_message(mob/user) - to_chat(user, "You adjust [src]'s dish to face to the [dir2text(dir)].") + to_chat(user, span_notice("You adjust [src]'s dish to face to the [dir2text(dir)].")) playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE) /obj/machinery/doppler_array/proc/sense_explosion(datum/source, turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm index 8e83faf531b..c32629bd6bd 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/droneDispenser.dm @@ -126,7 +126,7 @@ /obj/machinery/drone_dispenser/examine(mob/user) . = ..() if((mode == DRONE_RECHARGING) && !machine_stat && recharging_text) - . += "[recharging_text]" + . += span_warning("[recharging_text]") /obj/machinery/drone_dispenser/process() ..() @@ -147,7 +147,7 @@ if(maximum_idle && (count_shells() >= maximum_idle)) return // then do nothing; check again next tick if(begin_create_message) - visible_message("[src] [begin_create_message]") + visible_message(span_notice("[src] [begin_create_message]")) if(work_sound) playsound(src, work_sound, 50, TRUE) mode = DRONE_PRODUCTION @@ -165,7 +165,7 @@ if(create_sound) playsound(src, create_sound, 50, TRUE) if(end_create_message) - visible_message("[src] [end_create_message]") + visible_message(span_notice("[src] [end_create_message]")) mode = DRONE_RECHARGING timer = world.time + cooldownTime @@ -175,7 +175,7 @@ if(recharge_sound) playsound(src, recharge_sound, 50, TRUE) if(recharge_message) - visible_message("[src] [recharge_message]") + visible_message(span_notice("[src] [recharge_message]")) mode = DRONE_READY update_appearance() @@ -204,26 +204,26 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) materials.retrieve_all() I.play_tool_sound(src) - to_chat(user, "You retrieve the materials from [src].") + to_chat(user, span_notice("You retrieve the materials from [src].")) else if(I.tool_behaviour == TOOL_WELDER) if(!(machine_stat & BROKEN)) - to_chat(user, "[src] doesn't need repairs.") + to_chat(user, span_warning("[src] doesn't need repairs.")) return if(!I.tool_start_check(user, amount=1)) return user.visible_message( - "[user] begins patching up [src] with [I].", - "You begin restoring the damage to [src]...") + span_notice("[user] begins patching up [src] with [I]."), + span_notice("You begin restoring the damage to [src]...")) if(!I.use_tool(src, user, 40, volume=50, amount=1)) return user.visible_message( - "[user] fixes [src]!", - "You restore [src] to operation.") + span_notice("[user] fixes [src]!"), + span_notice("You restore [src] to operation.")) set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max_integrity @@ -236,7 +236,7 @@ if(!.) return if(break_message) - audible_message("[src] [break_message]") + audible_message(span_warning("[src] [break_message]")) if(break_sound) playsound(src, break_sound, 50, TRUE) diff --git a/code/game/machinery/electrolyzer.dm b/code/game/machinery/electrolyzer.dm index f9a9ef37448..91bf95672ad 100644 --- a/code/game/machinery/electrolyzer.dm +++ b/code/game/machinery/electrolyzer.dm @@ -123,23 +123,23 @@ return if(istype(I, /obj/item/stock_parts/cell)) if(!panel_open) - to_chat(user, "The hatch must be open to insert a power cell!") + to_chat(user, span_warning("The hatch must be open to insert a power cell!")) return if(cell) - to_chat(user, "There is already a power cell inside!") + to_chat(user, span_warning("There is already a power cell inside!")) return if(!user.transferItemToLoc(I, src)) return cell = I I.add_fingerprint(usr) - user.visible_message("\The [user] inserts a power cell into \the [src].", "You insert the power cell into \the [src].") + user.visible_message(span_notice("\The [user] inserts a power cell into \the [src]."), span_notice("You insert the power cell into \the [src].")) SStgui.update_uis(src) return 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].") + user.visible_message(span_notice("\The [user] [panel_open ? "opens" : "closes"] the hatch on \the [src]."), span_notice("You [panel_open ? "open" : "close"] the hatch on \the [src].")) update_appearance() return if(default_deconstruction_crowbar(I)) @@ -172,7 +172,7 @@ if("power") on = !on mode = ELECTROLYZER_MODE_STANDBY - usr.visible_message("[usr] switches [on ? "on" : "off"] \the [src].", "You switch [on ? "on" : "off"] \the [src].") + usr.visible_message(span_notice("[usr] switches [on ? "on" : "off"] \the [src]."), span_notice("You switch [on ? "on" : "off"] \the [src].")) update_appearance() if (on) START_PROCESSING(SSmachines, src) diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index c56538c6d37..97b4e737f9b 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -32,7 +32,7 @@ req_access = list() req_one_access = list() playsound(src, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "You short out the access controller.") + to_chat(user, span_warning("You short out the access controller.")) /obj/machinery/door_buttons/proc/removeMe() @@ -62,7 +62,7 @@ if(busy) return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return if(controller && !controller.busy && door) if(controller.machine_stat & NOPOWER) @@ -129,7 +129,7 @@ if(busy) return if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_warning("Access denied.")) return switch(href_list["command"]) if("close_exterior") diff --git a/code/game/machinery/fat_sucker.dm b/code/game/machinery/fat_sucker.dm index 37509f4d048..1bc77b547ab 100644 --- a/code/game/machinery/fat_sucker.dm +++ b/code/game/machinery/fat_sucker.dm @@ -46,13 +46,13 @@ /obj/machinery/fat_sucker/examine(mob/user) . = ..() - . += {"Alt-Click to toggle the safety hatch. - Removing [bite_size] nutritional units per operation. - Requires [nutrient_to_meat] nutritional units per meat slab."} + . += {"[span_notice("Alt-Click to toggle the safety hatch.")] + [span_notice("Removing [bite_size] nutritional units per operation.")] + [span_notice("Requires [nutrient_to_meat] nutritional units per meat slab.")]"} /obj/machinery/fat_sucker/close_machine(mob/user) if(panel_open) - to_chat(user, "You need to close the maintenance hatch first!") + to_chat(user, span_warning("You need to close the maintenance hatch first!")) return ..() playsound(src, 'sound/machines/click.ogg', 50) @@ -61,7 +61,7 @@ occupant.forceMove(drop_location()) set_occupant(null) return - to_chat(occupant, "You enter [src].") + to_chat(occupant, span_notice("You enter [src].")) addtimer(CALLBACK(src, .proc/start_extracting), 20, TIMER_OVERRIDE|TIMER_UNIQUE) update_appearance() @@ -74,18 +74,18 @@ /obj/machinery/fat_sucker/container_resist_act(mob/living/user) if(!free_exit || state_open) - to_chat(user, "The emergency release is not responding! You start pushing against the hull!") + to_chat(user, span_notice("The emergency release is not responding! You start pushing against the hull!")) user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user, breakout_time, target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open) return free_exit = TRUE - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() return open_machine() @@ -96,19 +96,19 @@ else if(!processing || free_exit) open_machine() else - to_chat(user, "The safety hatch has been disabled!") + to_chat(user, span_warning("The safety hatch has been disabled!")) /obj/machinery/fat_sucker/AltClick(mob/living/user) if(!user.canUseTopic(src, BE_CLOSE)) return if(user == occupant) - to_chat(user, "You can't reach the controls from inside!") + to_chat(user, span_warning("You can't reach the controls from inside!")) return if(!(obj_flags & EMAGGED) && !allowed(user)) - to_chat(user, "You lack the required access.") + to_chat(user, span_warning("You lack the required access.")) return free_exit = !free_exit - to_chat(user, "Safety hatch [free_exit ? "unlocked" : "locked"].") + to_chat(user, span_notice("Safety hatch [free_exit ? "unlocked" : "locked"].")) /obj/machinery/fat_sucker/update_overlays() . = ..() @@ -196,10 +196,10 @@ if(..()) return if(occupant) - to_chat(user, "[src] is currently occupied!") + to_chat(user, span_warning("[src] is currently occupied!")) return if(state_open) - to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!") + to_chat(user, span_warning("[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!")) return if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) update_appearance() @@ -215,5 +215,5 @@ return start_at = 100 stop_at = 0 - to_chat(user, "You remove the access restrictions and lower the automatic ejection threshold!") + to_chat(user, span_notice("You remove the access restrictions and lower the automatic ejection threshold!")) obj_flags |= EMAGGED diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 8bb39d4c1b4..db88eeb17c5 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -120,8 +120,8 @@ obj_flags |= EMAGGED update_appearance() if(user) - user.visible_message("Sparks fly out of [src]!", - "You emag [src], disabling its thermal sensors.") + user.visible_message(span_warning("Sparks fly out of [src]!"), + span_notice("You emag [src], disabling its thermal sensors.")) playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) /obj/machinery/firealarm/should_atmos_process(datum/gas_mixture/air, exposed_temperature) @@ -197,7 +197,7 @@ if(W.tool_behaviour == TOOL_SCREWDRIVER && buildstage == 2) W.play_tool_sound(src) panel_open = !panel_open - to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") + to_chat(user, span_notice("The wires have been [panel_open ? "exposed" : "unexposed"].")) update_appearance() return @@ -208,12 +208,12 @@ if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) if(W.use_tool(src, user, 40, volume=50)) obj_integrity = max_integrity - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) else - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return switch(buildstage) @@ -221,16 +221,16 @@ if(W.tool_behaviour == TOOL_MULTITOOL) detecting = !detecting if (src.detecting) - user.visible_message("[user] reconnects [src]'s detecting unit!", "You reconnect [src]'s detecting unit.") + user.visible_message(span_notice("[user] reconnects [src]'s detecting unit!"), span_notice("You reconnect [src]'s detecting unit.")) else - user.visible_message("[user] disconnects [src]'s detecting unit!", "You disconnect [src]'s detecting unit.") + user.visible_message(span_notice("[user] disconnects [src]'s detecting unit!"), span_notice("You disconnect [src]'s detecting unit.")) return else if(W.tool_behaviour == TOOL_WIRECUTTER) buildstage = 1 W.play_tool_sound(src) new /obj/item/stack/cable_coil(user.loc, 5) - to_chat(user, "You cut the wires from \the [src].") + to_chat(user, span_notice("You cut the wires from \the [src].")) update_appearance() return @@ -245,31 +245,31 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/coil = W if(coil.get_amount() < 5) - to_chat(user, "You need more cable for this!") + to_chat(user, span_warning("You need more cable for this!")) else coil.use(5) buildstage = 2 - to_chat(user, "You wire \the [src].") + to_chat(user, span_notice("You wire \the [src].")) update_appearance() return else if(W.tool_behaviour == TOOL_CROWBAR) - user.visible_message("[user.name] removes the electronics from [src.name].", \ - "You start prying out the circuit...") + user.visible_message(span_notice("[user.name] removes the electronics from [src.name]."), \ + span_notice("You start prying out the circuit...")) if(W.use_tool(src, user, 20, volume=50)) if(buildstage == 1) if(machine_stat & BROKEN) - to_chat(user, "You remove the destroyed circuit.") + to_chat(user, span_notice("You remove the destroyed circuit.")) set_machine_stat(machine_stat & ~BROKEN) else - to_chat(user, "You pry out the circuit.") + to_chat(user, span_notice("You pry out the circuit.")) new /obj/item/electronics/firealarm(user.loc) buildstage = 0 update_appearance() return if(0) if(istype(W, /obj/item/electronics/firealarm)) - to_chat(user, "You insert the circuit.") + to_chat(user, span_notice("You insert the circuit.")) qdel(W) buildstage = 1 update_appearance() @@ -279,15 +279,15 @@ var/obj/item/electroadaptive_pseudocircuit/P = W if(!P.adapt_circuit(user, 15)) return - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt a fire alarm circuit and slot it into the assembly.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt a fire alarm circuit and slot it into the assembly.")) buildstage = 1 update_appearance() return else if(W.tool_behaviour == TOOL_WRENCH) - user.visible_message("[user] removes the fire alarm assembly from the wall.", \ - "You remove the fire alarm assembly from the wall.") + user.visible_message(span_notice("[user] removes the fire alarm assembly from the wall."), \ + span_notice("You remove the fire alarm assembly from the wall.")) var/obj/item/wallframe/firealarm/frame = new /obj/item/wallframe/firealarm() frame.forceMove(user.drop_location()) W.play_tool_sound(src) @@ -304,8 +304,8 @@ /obj/machinery/firealarm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_UPGRADE_SIMPLE_CIRCUITS) - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt a fire alarm circuit and slot it into the assembly.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt a fire alarm circuit and slot it into the assembly.")) buildstage = 1 update_appearance() return TRUE diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 36fb3814f4b..8e83e278c3c 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -76,9 +76,9 @@ add_fingerprint(user) if (W.tool_behaviour == TOOL_WIRECUTTER) if (bulb) - user.visible_message("[user] begins to disconnect [src]'s flashbulb.", "You begin to disconnect [src]'s flashbulb...") + user.visible_message(span_notice("[user] begins to disconnect [src]'s flashbulb."), span_notice("You begin to disconnect [src]'s flashbulb...")) if(W.use_tool(src, user, 30, volume=50) && bulb) - user.visible_message("[user] disconnects [src]'s flashbulb!", "You disconnect [src]'s flashbulb.") + user.visible_message(span_notice("[user] disconnects [src]'s flashbulb!"), span_notice("You disconnect [src]'s flashbulb.")) bulb.forceMove(loc) bulb = null power_change() @@ -87,20 +87,20 @@ if (!bulb) if(!user.transferItemToLoc(W, src)) return - user.visible_message("[user] installs [W] into [src].", "You install [W] into [src].") + user.visible_message(span_notice("[user] installs [W] into [src]."), span_notice("You install [W] into [src].")) bulb = W power_change() else - to_chat(user, "A flashbulb is already installed in [src]!") + to_chat(user, span_warning("A flashbulb is already installed in [src]!")) else if (W.tool_behaviour == TOOL_WRENCH) if(!bulb) - to_chat(user, "You start unsecuring the flasher frame...") + to_chat(user, span_notice("You start unsecuring the flasher frame...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You unsecure the flasher frame.") + to_chat(user, span_notice("You unsecure the flasher frame.")) deconstruct(TRUE) else - to_chat(user, "Remove a flashbulb from [src] first!") + to_chat(user, span_warning("Remove a flashbulb from [src] first!")) else return ..() @@ -194,13 +194,13 @@ W.play_tool_sound(src, 100) if (!anchored && !isinspace()) - to_chat(user, "[src] is now secured.") + to_chat(user, span_notice("[src] is now secured.")) add_overlay("[base_icon_state]-s") set_anchored(TRUE) power_change() proximity_monitor.SetRange(range) else - to_chat(user, "[src] can now be moved.") + to_chat(user, span_notice("[src] can now be moved.")) cut_overlays() set_anchored(FALSE) power_change() @@ -219,7 +219,7 @@ /obj/item/wallframe/flasher/examine(mob/user) . = ..() - . += "Its channel ID is '[id]'." + . += span_notice("Its channel ID is '[id]'.") /obj/item/wallframe/flasher/after_attach(obj/O) ..() diff --git a/code/game/machinery/gulag_item_reclaimer.dm b/code/game/machinery/gulag_item_reclaimer.dm index 4274e82cb10..0951189b8d4 100644 --- a/code/game/machinery/gulag_item_reclaimer.dm +++ b/code/game/machinery/gulag_item_reclaimer.dm @@ -74,7 +74,7 @@ if("release_items") var/mob/living/carbon/human/H = locate(params["mobref"]) in stored_items if(H != usr && !allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_warning("Access denied.")) return drop_items(H) . = TRUE diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 7fb37a4129d..a6e952de255 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -49,7 +49,7 @@ The console is located at computer/gulag_teleporter.dm /obj/machinery/gulag_teleporter/interact(mob/user) . = ..() if(locked) - to_chat(user, "[src] is locked!") + to_chat(user, span_warning("[src] is locked!")) return toggle_open() @@ -94,7 +94,7 @@ The console is located at computer/gulag_teleporter.dm if(locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) return open_machine() @@ -104,15 +104,15 @@ The console is located at computer/gulag_teleporter.dm return user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked) return locked = FALSE - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/gulag_teleporter/proc/locate_reclaimer() @@ -122,7 +122,7 @@ The console is located at computer/gulag_teleporter.dm /obj/machinery/gulag_teleporter/proc/toggle_open() if(panel_open) - to_chat(usr, "Close the maintenance panel first.") + to_chat(usr, span_notice("Close the maintenance panel first.")) return if(state_open) diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index c1465e22b70..de5ee701d1a 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -91,7 +91,7 @@ operation_order = reverseList(C.bodyparts) //Chest and head are first in bodyparts, so we invert it to make them suffer more warming_up = TRUE harvesting = TRUE - visible_message("The [name] begins warming up!") + visible_message(span_notice("The [name] begins warming up!")) say("Initializing harvest protocol.") update_appearance() addtimer(CALLBACK(src, .proc/harvest), interval) @@ -143,10 +143,10 @@ if(..()) return if(occupant) - to_chat(user, "[src] is currently occupied!") + to_chat(user, span_warning("[src] is currently occupied!")) return if(state_open) - to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!") + to_chat(user, span_warning("[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!")) return if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-o", initial(icon_state), I)) return @@ -162,7 +162,7 @@ . = !(state_open || panel_open || (flags_1 & NODECONSTRUCT_1)) && I.tool_behaviour == TOOL_CROWBAR //We removed is_operational here if(.) I.play_tool_sound(src, 50) - visible_message("[usr] pries open \the [src].", "You pry open [src].") + visible_message(span_notice("[usr] pries open \the [src]."), span_notice("You pry open [src].")) open_machine() /obj/machinery/harvester/emag_act(mob/user) @@ -170,15 +170,15 @@ return obj_flags |= EMAGGED allow_living = TRUE - to_chat(user, "You overload [src]'s lifesign scanners.") + to_chat(user, span_warning("You overload [src]'s lifesign scanners.")) /obj/machinery/harvester/container_resist_act(mob/living/user) if(!harvesting) - visible_message("[occupant] emerges from [src]!", - "You climb out of [src]!") + visible_message(span_notice("[occupant] emerges from [src]!"), + span_notice("You climb out of [src]!")) open_machine() else - to_chat(user,"[src] is active and can't be opened!") //rip + to_chat(user,span_warning("[src] is active and can't be opened!")) //rip /obj/machinery/harvester/Exited(atom/movable/user) if (!state_open && user == occupant) @@ -193,8 +193,8 @@ if(machine_stat & BROKEN) return if(state_open) - . += "[src] must be closed before harvesting." + . += span_notice("[src] must be closed before harvesting.") else if(!harvesting) - . += "Alt-click [src] to start harvesting." + . += span_notice("Alt-click [src] to start harvesting.") if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Harvest speed at [interval*0.1] seconds per organ." + . += span_notice("The status display reads: Harvest speed at [interval*0.1] seconds per organ.") diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 1a952290b32..a6fb7d10805 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -173,7 +173,7 @@ Possible to do for anyone motivated enough: /obj/machinery/holopad/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Current projection range: [holo_range] units." + . += span_notice("The status display reads: Current projection range: [holo_range] units.") /obj/machinery/holopad/attackby(obj/item/P, mob/user, params) if(default_deconstruction_screwdriver(user, "holopad_open", "holopad0", P)) @@ -190,11 +190,11 @@ Possible to do for anyone motivated enough: if(istype(P,/obj/item/disk/holodisk)) if(disk) - to_chat(user,"There's already a disk inside [src]!") + to_chat(user,span_warning("There's already a disk inside [src]!")) return if (!user.transferItemToLoc(P,src)) return - to_chat(user,"You insert [P] into [src].") + to_chat(user,span_notice("You insert [P] into [src].")) disk = P return @@ -244,15 +244,15 @@ Possible to do for anyone motivated enough: if("AIrequest") if(last_request + 200 < world.time) last_request = world.time - to_chat(usr, "You requested an AI's presence.") + to_chat(usr, span_info("You requested an AI's presence.")) var/area/area = get_area(src) for(var/mob/living/silicon/ai/AI in GLOB.silicon_mobs) if(!AI.client) continue - to_chat(AI, "Your presence is requested at \the [area].") + to_chat(AI, span_info("Your presence is requested at \the [area].")) return TRUE else - to_chat(usr, "A request for AI presence was already sent recently.") + to_chat(usr, span_info("A request for AI presence was already sent recently.")) return if("holocall") if(outgoing_call) @@ -274,7 +274,7 @@ Possible to do for anyone motivated enough: calling = TRUE return TRUE else - to_chat(usr, "You must stand on the holopad to make a call!") + to_chat(usr, span_warning("You must stand on the holopad to make a call!")) if("connectcall") var/datum/holocall/call_to_connect = locate(params["holopad"]) in holo_calls if(!QDELETED(call_to_connect)) @@ -390,7 +390,7 @@ Possible to do for anyone motivated enough: if(is_operational && (!AI || AI.eyeobj.loc == loc))//If the projector has power and client eye is on it if (AI && istype(AI.current, /obj/machinery/holopad)) - to_chat(user, "ERROR: \black Image feed in progress.") + to_chat(user, "[span_danger("ERROR:")] \black Image feed in progress.") return var/obj/effect/overlay/holo_pad_hologram/Hologram = new(loc)//Spawn a blank effect at the location. @@ -413,11 +413,11 @@ Possible to do for anyone motivated enough: move_hologram() set_holo(user, Hologram) - visible_message("A holographic image of [user] flickers to life before your eyes!") + visible_message(span_notice("A holographic image of [user] flickers to life before your eyes!")) return Hologram else - to_chat(user, "ERROR: Unable to project hologram.") + to_chat(user, "[span_danger("ERROR:")] Unable to project hologram.") /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. For the other part of the code, check silicon say.dm. Particularly robot talk.*/ @@ -567,7 +567,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ Hologram.set_anchored(TRUE)//So space wind cannot drag it. Hologram.name = "[record.caller_name] (Hologram)"//If someone decides to right click. Hologram.set_light(2) //hologram lighting - visible_message("A holographic image of [record.caller_name] flickers to life before your eyes!") + visible_message(span_notice("A holographic image of [record.caller_name] flickers to life before your eyes!")) return Hologram /obj/machinery/holopad/proc/replay_start() diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index 721df88090e..b9473d8ea79 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -92,7 +92,7 @@ return victim = C if(!(C.get_eye_protection() > 0)) - to_chat(C, "Strobing coloured lights assault you relentlessly! You're losing your ability to think straight!") + to_chat(C, span_warning("Strobing coloured lights assault you relentlessly! You're losing your ability to think straight!")) C.become_blind(HYPNOCHAIR_TRAIT) ADD_TRAIT(C, TRAIT_DEAF, HYPNOCHAIR_TRAIT) interrogating = TRUE @@ -108,7 +108,7 @@ return if(DT_PROB(5, delta_time) && !(C.get_eye_protection() > 0)) to_chat(C, "[pick(\ - "...blue... red... green... blue, red, green, blueredgreenblueredgreen",\ + "...blue... red... green... blue, red, green, blueredgreen[span_small("blueredgreen")]",\ "...pretty colors...",\ "...you keep hearing words, but you can't seem to understand them...",\ "...so peaceful...",\ @@ -121,7 +121,7 @@ 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!") + audible_message(span_notice("[src] pings!")) playsound(src, 'sound/machines/ping.ogg', 30, TRUE) if(QDELETED(victim) || victim != occupant) @@ -176,20 +176,20 @@ /obj/machinery/hypnochair/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(600)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(600)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(600), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open) return - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/hypnochair/relaymove(mob/living/user, direction) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) /obj/machinery/hypnochair/MouseDrop_T(mob/target, mob/user) diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 4f7eca4a6cb..a2c341fd7e1 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -115,9 +115,9 @@ add_fingerprint(user) disable = !disable if (disable) - user.visible_message("[user] disables \the [src]!", "You disable the connection to \the [src].") + user.visible_message(span_notice("[user] disables \the [src]!"), span_notice("You disable the connection to \the [src].")) if (!disable) - user.visible_message("[user] reconnects \the [src]!", "You fix the connection to \the [src].") + user.visible_message(span_notice("[user] reconnects \the [src]!"), span_notice("You fix the connection to \the [src].")) update_appearance() else return ..() diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index fcecf892651..2004888fe4c 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -81,20 +81,20 @@ return if(attached) - visible_message("[attached] is detached from [src].") + visible_message(span_warning("[attached] is detached from [src].")) attached = null update_appearance() return if(!target.has_dna()) - to_chat(usr, "The drip beeps: Warning, incompatible creature!") + to_chat(usr, span_danger("The drip beeps: Warning, incompatible creature!")) return if(Adjacent(target) && usr.Adjacent(target)) if(get_reagent_holder()) attach_iv(target, usr) else - to_chat(usr, "There's nothing attached to the IV drip!") + to_chat(usr, span_warning("There's nothing attached to the IV drip!")) /obj/machinery/iv_drip/attackby(obj/item/W, mob/user, params) @@ -103,12 +103,12 @@ if(is_type_in_typecache(W, drip_containers) || IS_EDIBLE(W)) if(reagent_container) - to_chat(user, "[reagent_container] is already loaded on [src]!") + to_chat(user, span_warning("[reagent_container] is already loaded on [src]!")) return if(!user.transferItemToLoc(W, src)) return reagent_container = W - to_chat(user, "You attach [W] to [src].") + to_chat(user, span_notice("You attach [W] to [src].")) user.log_message("attached a [W] to [src] at [AREACOORD(src)] containing ([reagent_container.reagents.log_list()])", LOG_ATTACK) add_fingerprint(user) update_appearance() @@ -126,7 +126,7 @@ return PROCESS_KILL if(!(get_dist(src, attached) <= 1 && isturf(attached.loc))) - to_chat(attached, "The IV drip needle is ripped out of you!") + to_chat(attached, span_userdanger("The IV drip needle is ripped out of you!")) attached.apply_damage(3, BRUTE, pick(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM)) detach_iv() return PROCESS_KILL @@ -152,12 +152,12 @@ // If the beaker is full, ping if(!amount) if(prob(5)) - visible_message("[src] pings.") + visible_message(span_hear("[src] pings.")) return // If the human is losing too much blood, beep. if(attached.blood_volume < BLOOD_VOLUME_SAFE && prob(5)) - visible_message("[src] beeps loudly.") + visible_message(span_hear("[src] beeps loudly.")) playsound(loc, 'sound/machines/twobeep_high.ogg', 50, TRUE) var/atom/movable/target = use_internal_storage ? src : reagent_container attached.transfer_blood_to(target, amount) @@ -170,7 +170,7 @@ if(!ishuman(user)) return if(attached) - visible_message("[attached] is detached from [src].") + visible_message(span_notice("[attached] is detached from [src].")) detach_iv() return else if(reagent_container) @@ -181,15 +181,15 @@ /obj/machinery/iv_drip/attack_hand_secondary(mob/user, modifiers) if(dripfeed) dripfeed = FALSE - to_chat(usr, "You loosen the valve to speed up the [src].") + to_chat(usr, span_notice("You loosen the valve to speed up the [src].")) else dripfeed = TRUE - to_chat(usr, "You tighten the valve to slowly drip-feed the contents of [src].") + to_chat(usr, span_notice("You tighten the valve to slowly drip-feed the contents of [src].")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN ///called when an IV is attached /obj/machinery/iv_drip/proc/attach_iv(mob/living/target, mob/user) - usr.visible_message("[usr] attaches [src] to [target].", "You attach [src] to [target].") + usr.visible_message(span_warning("[usr] attaches [src] to [target]."), span_notice("You attach [src] to [target].")) var/datum/reagents/container = get_reagent_holder() log_combat(usr, target, "attached", src, "containing: ([container.log_list()])") add_fingerprint(usr) @@ -215,7 +215,7 @@ set src in view(1) if(!isliving(usr)) - to_chat(usr, "You can't do that!") + to_chat(usr, span_warning("You can't do that!")) return if (!usr.canUseTopic()) return @@ -232,14 +232,14 @@ set src in view(1) if(!isliving(usr)) - to_chat(usr, "You can't do that!") + to_chat(usr, span_warning("You can't do that!")) return if (!usr.canUseTopic()) return if(usr.incapacitated()) return mode = !mode - to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].") + to_chat(usr, span_notice("The IV drip is now [mode ? "injecting" : "taking blood"].")) update_appearance() /obj/machinery/iv_drip/examine(mob/user) @@ -251,15 +251,15 @@ if(reagent_container) if(reagent_container.reagents && reagent_container.reagents.reagent_list.len) - . += "Attached is \a [reagent_container] with [reagent_container.reagents.total_volume] units of liquid." + . += span_notice("Attached is \a [reagent_container] with [reagent_container.reagents.total_volume] units of liquid.") else - . += "Attached is an empty [reagent_container.name]." + . += span_notice("Attached is an empty [reagent_container.name].") else if(use_internal_storage) - . += "It has an internal chemical storage." + . += span_notice("It has an internal chemical storage.") else - . += "No chemicals are attached." + . += span_notice("No chemicals are attached.") - . += "[attached ? attached : "No one"] is attached." + . += span_notice("[attached ? attached : "No one"] is attached.") /obj/machinery/iv_drip/saline diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index e40094174fc..379e16ea879 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -50,7 +50,7 @@ /obj/machinery/launchpad/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Maximum range: [range] units." + . += span_notice("The status display reads: Maximum range: [range] units.") /obj/machinery/launchpad/attackby(obj/item/I, mob/user, params) if(stationary) @@ -64,7 +64,7 @@ return var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You save the data in the [I.name]'s buffer.") + to_chat(user, span_notice("You save the data in the [I.name]'s buffer.")) return 1 if(default_deconstruction_crowbar(I)) @@ -110,13 +110,13 @@ /obj/machinery/launchpad/proc/doteleport(mob/user, sending) if(teleporting) - to_chat(user, "ERROR: Launchpad busy.") + to_chat(user, span_warning("ERROR: Launchpad busy.")) return var/turf/dest = get_turf(src) if(dest && is_centcom_level(dest.z)) - to_chat(user, "ERROR: Launchpad not operative. Heavy area shielding makes teleporting impossible.") + to_chat(user, span_warning("ERROR: Launchpad not operative. Heavy area shielding makes teleporting impossible.")) return var/target_x = x + x_offset @@ -246,7 +246,7 @@ if(over_object == usr) if(!briefcase || !usr.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) return - usr.visible_message("[usr] starts closing [src]...", "You start closing [src]...") + usr.visible_message(span_notice("[usr] starts closing [src]..."), span_notice("You start closing [src]...")) if(do_after(usr, 30, target = usr)) usr.put_in_hands(briefcase) moveToNullspace() //hides it from suitcase contents @@ -259,7 +259,7 @@ if(L.pad == WEAKREF(src)) //do not attempt to link when already linked return ..() L.pad = WEAKREF(src) - to_chat(user, "You link [src] to [L].") + to_chat(user, span_notice("You link [src] to [L].")) else return ..() @@ -284,7 +284,7 @@ if(!isturf(user.loc)) //no setting up in a locker return add_fingerprint(user) - user.visible_message("[user] starts setting down [src]...", "You start setting up [pad]...") + user.visible_message(span_notice("[user] starts setting down [src]...", "You start setting up [pad]...")) if(do_after(user, 30, target = user)) pad.forceMove(get_turf(src)) pad.update_indicator() @@ -298,7 +298,7 @@ if(L.pad == WEAKREF(src.pad)) //do not attempt to link when already linked return ..() L.pad = WEAKREF(src.pad) - to_chat(user, "You link [pad] to [L].") + to_chat(user, span_notice("You link [pad] to [L].")) else return ..() @@ -319,7 +319,7 @@ /obj/item/launchpad_remote/attack_self(mob/user) . = ..() ui_interact(user) - to_chat(user, "[src] projects a display onto your retina.") + to_chat(user, span_notice("[src] projects a display onto your retina.")) /obj/item/launchpad_remote/ui_state(mob/user) @@ -349,10 +349,10 @@ /obj/item/launchpad_remote/proc/teleport(mob/user, obj/machinery/launchpad/pad) if(QDELETED(pad)) - to_chat(user, "ERROR: Launchpad not responding. Check launchpad integrity.") + to_chat(user, span_warning("ERROR: Launchpad not responding. Check launchpad integrity.")) return if(!pad.isAvailable()) - to_chat(user, "ERROR: Launchpad not operative. Make sure the launchpad is ready and powered.") + to_chat(user, span_warning("ERROR: Launchpad not operative. Make sure the launchpad is ready and powered.")) return pad.doteleport(user, sending) diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index 46d86afccb5..158996bbee6 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -109,9 +109,9 @@ return if(istype(user_item, /obj/item/disk/design_disk/limbs)) - user.visible_message("[user] begins to load \the [user_item] in \the [src]...", - "You begin to load designs from \the [user_item]...", - "You hear the clatter of a floppy drive.") + user.visible_message(span_notice("[user] begins to load \the [user_item] in \the [src]..."), + span_notice("You begin to load designs from \the [user_item]..."), + span_hear("You hear the clatter of a floppy drive.")) busy = TRUE var/obj/item/disk/design_disk/limbs/limb_design_disk = user_item if(do_after(user, 2 SECONDS, target = src)) @@ -137,7 +137,7 @@ return if (busy) - to_chat(usr, "The limb grower is busy. Please wait for completion of previous operation.") + to_chat(usr, span_danger("The limb grower is busy. Please wait for completion of previous operation.")) return switch(action) @@ -159,7 +159,7 @@ for(var/reagent_id in consumed_reagents_list) consumed_reagents_list[reagent_id] *= production_coefficient if(!reagents.has_reagent(reagent_id, consumed_reagents_list[reagent_id])) - audible_message("The [src] buzzes.") + audible_message(span_notice("The [src] buzzes.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) return @@ -187,7 +187,7 @@ /obj/machinery/limbgrower/proc/build_item(list/modified_consumed_reagents_list) for(var/reagent_id in modified_consumed_reagents_list) if(!reagents.has_reagent(reagent_id, modified_consumed_reagents_list[reagent_id])) - audible_message("The [src] buzzes.") + audible_message(span_notice("The [src] buzzes.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) break @@ -248,7 +248,7 @@ /obj/machinery/limbgrower/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Storing up to [reagents.maximum_volume]u of reagents.
Reagent consumption rate at [production_coefficient * 100]%.
" + . += span_notice("The status display reads: Storing up to [reagents.maximum_volume]u of reagents.
Reagent consumption rate at [production_coefficient * 100]%.") /* * Checks our reagent list to see if a design can be built. @@ -271,6 +271,6 @@ var/datum/design/found_design = SSresearch.techweb_design_by_id(design_id) if((found_design.build_type & LIMBGROWER) && ("emagged" in found_design.category)) stored_research.add_design(found_design) - to_chat(user, "A warning flashes onto the screen, stating that safety overrides have been deactivated!") + to_chat(user, span_warning("A warning flashes onto the screen, stating that safety overrides have been deactivated!")) obj_flags |= EMAGGED update_static_data(user) diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index b71a4ce1036..c6a65449a77 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -45,7 +45,7 @@ continue O_limit++ if(O_limit >= 20) - audible_message("[src] lets out a screech, it doesn't seem to be able to handle the load.") + audible_message(span_notice("[src] lets out a screech, it doesn't seem to be able to handle the load.")) break use_power(500) O.throw_at(target, drive_range * power, power) diff --git a/code/game/machinery/mechlaunchpad.dm b/code/game/machinery/mechlaunchpad.dm index e652e42baf1..1a6a456a779 100644 --- a/code/game/machinery/mechlaunchpad.dm +++ b/code/game/machinery/mechlaunchpad.dm @@ -44,7 +44,7 @@ return var/obj/item/multitool/multitool = tool multitool.buffer = src - to_chat(user, "You save the data in the [multitool.name]'s buffer.") + to_chat(user, span_notice("You save the data in the [multitool.name]'s buffer.")) return TRUE /** diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index d401b414853..3aedda59ca2 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -104,19 +104,19 @@ if(istype(O, /obj/item/scanner_wand)) var/obj/item/scanner_wand/W = O if(scanner_wand) - to_chat(user, "There's already a scanner wand in [src]!") + to_chat(user, span_warning("There's already a scanner wand in [src]!")) return if(HAS_TRAIT(O, TRAIT_NODROP) || !user.transferItemToLoc(O, src)) - to_chat(user, "[O] is stuck to your hand!") + to_chat(user, span_warning("[O] is stuck to your hand!")) return - user.visible_message("[user] snaps [O] onto [src]!", \ - "You press [O] into the side of [src], clicking into place.") + user.visible_message(span_notice("[user] snaps [O] onto [src]!"), \ + span_notice("You press [O] into the side of [src], clicking into place.")) //This will be the scanner returning scanner_wand's selected_target variable and assigning it to the altPatient var if(W.selected_target) if(!(altPatient == W.return_patient())) clearScans() altPatient = W.return_patient() - user.visible_message("[W.return_patient()] has been set as the current patient.") + user.visible_message(span_notice("[W.return_patient()] has been set as the current patient.")) W.selected_target = null playsound(src, 'sound/machines/click.ogg', 50, TRUE) scanner_wand = O @@ -127,14 +127,14 @@ if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) return if(!scanner_wand) - to_chat(user, "The scanner wand is currently removed from the machine.") + to_chat(user, span_warning("The scanner wand is currently removed from the machine.")) return if(!user.put_in_hands(scanner_wand)) - to_chat(user, "The scanner wand falls to the floor.") + to_chat(user, span_warning("The scanner wand falls to the floor.")) scanner_wand = null return - user.visible_message("[user] unhooks the [scanner_wand] from [src].", \ - "You detach the [scanner_wand] from [src].") + user.visible_message(span_notice("[user] unhooks the [scanner_wand] from [src]."), \ + span_notice("You detach the [scanner_wand] from [src].")) playsound(src, 'sound/machines/click.ogg', 60, TRUE) scanner_wand = null @@ -147,8 +147,8 @@ if(obj_flags & EMAGGED) return if(user) - user.visible_message("[user] waves a suspicious card by the [src]'s biometric scanner!", - "You overload the sensory electronics, the diagnostic readouts start jittering across the screen..") + user.visible_message(span_warning("[user] waves a suspicious card by the [src]'s biometric scanner!"), + span_notice("You overload the sensory electronics, the diagnostic readouts start jittering across the screen..")) obj_flags |= EMAGGED var/obj/item/circuitboard/computer/cargo/board = circuit board.obj_flags |= EMAGGED //Mirrors emag status onto the board as well. @@ -157,14 +157,14 @@ /obj/machinery/medical_kiosk/examine(mob/user) . = ..() if(scanner_wand == null) - . += "\The [src] is missing its scanner." + . += span_notice("\The [src] is missing its scanner.") else - . += "\The [src] has its scanner clipped to the side. Alt-Click to remove." + . += span_notice("\The [src] has its scanner clipped to the side. Alt-Click to remove.") /obj/machinery/medical_kiosk/ui_interact(mob/user, datum/tgui/ui) var/patient_distance = 0 if(!ishuman(user)) - to_chat(user, "[src] is unable to interface with non-humanoids!") + to_chat(user, span_warning("[src] is unable to interface with non-humanoids!")) if (ui) ui.close() return diff --git a/code/game/machinery/medipen_refiller.dm b/code/game/machinery/medipen_refiller.dm index 4c488938ff5..5204803a6e4 100644 --- a/code/game/machinery/medipen_refiller.dm +++ b/code/game/machinery/medipen_refiller.dm @@ -36,24 +36,24 @@ /// handles the messages and animation, calls refill to end the animation /obj/machinery/medipen_refiller/attackby(obj/item/I, mob/user, params) if(busy) - to_chat(user, "The machine is busy.") + to_chat(user, span_danger("The machine is busy.")) return if(istype(I, /obj/item/reagent_containers) && I.is_open_container()) var/obj/item/reagent_containers/RC = I var/units = RC.reagents.trans_to(src, RC.amount_per_transfer_from_this, transfered_by = user) if(units) - to_chat(user, "You transfer [units] units of the solution to the [name].") + to_chat(user, span_notice("You transfer [units] units of the solution to the [name].")) return else - to_chat(user, "The [name] is full.") + to_chat(user, span_danger("The [name] is full.")) return if(istype(I, /obj/item/reagent_containers/hypospray/medipen)) var/obj/item/reagent_containers/hypospray/medipen/P = I if(!(LAZYFIND(allowed, P.type))) - to_chat(user, "Error! Unknown schematics.") + to_chat(user, span_danger("Error! Unknown schematics.")) return if(P.reagents?.reagent_list.len) - to_chat(user, "The medipen is already filled.") + to_chat(user, span_notice("The medipen is already filled.")) return if(reagents.has_reagent(allowed[P.type], 10)) busy = TRUE @@ -61,14 +61,14 @@ addtimer(CALLBACK(src, .proc/refill, P, user), 20) qdel(P) return - to_chat(user, "There aren't enough reagents to finish this operation.") + to_chat(user, span_danger("There aren't enough reagents to finish this operation.")) return ..() /obj/machinery/medipen_refiller/plunger_act(obj/item/plunger/P, mob/living/user, reinforced) - to_chat(user, "You start furiously plunging [name].") + to_chat(user, span_notice("You start furiously plunging [name].")) if(do_after(user, 30, target = src)) - to_chat(user, "You finish plunging the [name].") + to_chat(user, span_notice("You finish plunging the [name].")) reagents.expose(get_turf(src), TOUCH) reagents.clear_reagents() @@ -93,4 +93,4 @@ reagents.remove_reagent(allowed[P.type], 10) cut_overlays() busy = FALSE - to_chat(user, "Medipen refilled.") + to_chat(user, span_notice("Medipen refilled.")) diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index a7cfca4df97..60131dd1032 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -102,7 +102,7 @@ if(I.tool_behaviour == TOOL_SCREWDRIVER) open = !open - user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", "You [open ? "open" : "close"] the beacon's cover.") + user.visible_message(span_notice("[user] [open ? "opens" : "closes"] the beacon's cover."), span_notice("You [open ? "open" : "close"] the beacon's cover.")) update_appearance() @@ -110,12 +110,12 @@ if(open) if (src.allowed(user)) src.locked = !src.locked - to_chat(user, "Controls are now [src.locked ? "locked" : "unlocked"].") + to_chat(user, span_notice("Controls are now [src.locked ? "locked" : "unlocked"].")) else - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) updateDialog() else - to_chat(user, "You must open the cover first!") + to_chat(user, span_warning("You must open the cover first!")) else return ..() @@ -133,7 +133,7 @@ return // prevent intraction when T-scanner revealed if(!open && !ai) // can't alter controls if not open, unless you're an AI - to_chat(user, "The beacon's control cover is closed!") + to_chat(user, span_warning("The beacon's control cover is closed!")) return diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 58ce37261c2..18da50a69ca 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -745,35 +745,35 @@ GLOBAL_LIST_EMPTY(allCasters) /obj/machinery/newscaster/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start [anchored ? "un" : ""]securing [name]...") + to_chat(user, span_notice("You start [anchored ? "un" : ""]securing [name]...")) I.play_tool_sound(src) if(I.use_tool(src, user, 60)) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(machine_stat & BROKEN) - to_chat(user, "The broken remains of [src] fall on the ground.") + to_chat(user, span_warning("The broken remains of [src] fall on the ground.")) new /obj/item/stack/sheet/iron(loc, 5) new /obj/item/shard(loc) new /obj/item/shard(loc) else - to_chat(user, "You [anchored ? "un" : ""]secure [name].") + to_chat(user, span_notice("You [anchored ? "un" : ""]secure [name].")) new /obj/item/wallframe/newscaster(loc) qdel(src) else if(I.tool_behaviour == TOOL_WELDER && !user.combat_mode) if(machine_stat & BROKEN) if(!I.tool_start_check(user, amount=0)) return - user.visible_message("[user] is repairing [src].", \ - "You begin repairing [src]...", \ - "You hear welding.") + user.visible_message(span_notice("[user] is repairing [src]."), \ + span_notice("You begin repairing [src]..."), \ + span_hear("You hear welding.")) if(I.use_tool(src, user, 40, volume=50)) if(!(machine_stat & BROKEN)) return - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) update_appearance() else - to_chat(user, "[src] does not need repairs.") + to_chat(user, span_notice("[src] does not need repairs.")) else return ..() @@ -803,7 +803,7 @@ GLOBAL_LIST_EMPTY(allCasters) /obj/machinery/newscaster/attack_paw(mob/living/user, list/modifiers) if(!user.combat_mode) - to_chat(user, "The newscaster controls are far too complicated for your tiny brain!") + to_chat(user, span_warning("The newscaster controls are far too complicated for your tiny brain!")) else take_damage(5, BRUTE, MELEE) @@ -826,9 +826,9 @@ GLOBAL_LIST_EMPTY(allCasters) else targetcam = R.aicamera else - to_chat(user, "You cannot interface with silicon photo uploading!") + to_chat(user, span_warning("You cannot interface with silicon photo uploading!")) if(!targetcam.stored.len) - to_chat(usr, "No images saved.") + to_chat(usr, span_boldannounce("No images saved.")) return var/datum/picture/selection = targetcam.selectpicture(user) if(selection) @@ -906,13 +906,13 @@ GLOBAL_LIST_EMPTY(allCasters) var/creationTime /obj/item/newspaper/suicide_act(mob/user) - user.visible_message("[user] is focusing intently on [src]! It looks like [user.p_theyre()] trying to commit sudoku... until [user.p_their()] eyes light up with realization!") + user.visible_message(span_suicide("[user] is focusing intently on [src]! It looks like [user.p_theyre()] trying to commit sudoku... until [user.p_their()] eyes light up with realization!")) user.say(";JOURNALISM IS MY CALLING! EVERYBODY APPRECIATES UNBIASED REPORTI-GLORF", forced="newspaper suicide") var/mob/living/carbon/human/H = user var/obj/W = new /obj/item/reagent_containers/food/drinks/bottle/whiskey(H.loc) playsound(H.loc, 'sound/items/drink.ogg', rand(10,50), TRUE) W.reagents.trans_to(H, W.reagents.total_volume, transfered_by = user) - user.visible_message("[user] downs the contents of [W.name] in one gulp! Shoulda stuck to sudoku!") + user.visible_message(span_suicide("[user] downs the contents of [W.name] in one gulp! Shoulda stuck to sudoku!")) return(TOXLOSS) @@ -995,7 +995,7 @@ GLOBAL_LIST_EMPTY(allCasters) human_user << browse(dat, "window=newspaper_main;size=300x400") onclose(human_user, "newspaper_main") else - to_chat(user, "The paper is full of unintelligible symbols!") + to_chat(user, span_warning("The paper is full of unintelligible symbols!")) /obj/item/newspaper/proc/notContent(list/L) if(!L.len) @@ -1045,10 +1045,10 @@ GLOBAL_LIST_EMPTY(allCasters) if(istype(W, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") + to_chat(user, span_notice("You scribble illegibly on [src]!")) return if(scribble_page == curr_page) - to_chat(user, "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?") + to_chat(user, span_warning("There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?")) else var/s = stripped_input(user, "Write something", "Newspaper") if (!s) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 36582373cdd..9bfc7417646 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -164,7 +164,7 @@ Buildable meters pipe_count += 1 for(var/obj/machinery/atmospherics/machine in loc) if((machine.pipe_flags & flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers. - to_chat(user, "Something is hogging the tile!") + to_chat(user, span_warning("Something is hogging the tile!")) return TRUE if(pipe_count == 1 && istype(machine, /obj/machinery/atmospherics/pipe/smart) && ispath(pipe_type, /obj/machinery/atmospherics/pipe/smart) && lowertext(machine.pipe_color) != lowertext(pipe_color) && machine.connection_num < 3) @@ -184,7 +184,7 @@ Buildable meters continue if(machine.GetInitDirections() & SSair.get_init_dirs(pipe_type, fixed_dir(), p_init_dir)) // matches at least one direction on either type of pipe - to_chat(user, "There is already a pipe at that location!") + to_chat(user, span_warning("There is already a pipe at that location!")) return TRUE // no conflicts found @@ -196,8 +196,8 @@ Buildable meters wrench.play_tool_sound(src) user.visible_message( \ "[user] fastens \the [src].", \ - "You fasten \the [src].", \ - "You hear ratcheting.") + span_notice("You fasten \the [src]."), \ + span_hear("You hear ratcheting.")) qdel(src) @@ -218,7 +218,7 @@ Buildable meters T.flipped = flipped /obj/item/pipe/directional/suicide_act(mob/user) - user.visible_message("[user] shoves [src] in [user.p_their()] mouth and turns it on! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] shoves [src] in [user.p_their()] mouth and turns it on! It looks like [user.p_theyre()] trying to commit suicide!")) if(iscarbon(user)) var/mob/living/carbon/C = user for(var/i=1 to 20) @@ -246,11 +246,11 @@ Buildable meters pipe = P break if(!pipe) - to_chat(user, "You need to fasten it to a pipe!") + to_chat(user, span_warning("You need to fasten it to a pipe!")) return TRUE new /obj/machinery/meter(loc, piping_layer) W.play_tool_sound(src) - to_chat(user, "You fasten the meter to the pipe.") + to_chat(user, span_notice("You fasten the meter to the pipe.")) qdel(src) /obj/item/pipe_meter/screwdriver_act(mob/living/user, obj/item/S) @@ -259,12 +259,12 @@ Buildable meters return TRUE if(!isturf(loc)) - to_chat(user, "You need to fasten it to the floor!") + to_chat(user, span_warning("You need to fasten it to the floor!")) return TRUE new /obj/machinery/meter/turf(loc, piping_layer) S.play_tool_sound(src) - to_chat(user, "You fasten the meter to the [loc.name].") + to_chat(user, span_notice("You fasten the meter to the [loc.name].")) qdel(src) /obj/item/pipe_meter/dropped() diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 283ab2c802e..c6025508074 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -63,7 +63,7 @@ /obj/machinery/pipedispenser/attackby(obj/item/W, mob/user, params) add_fingerprint(user) if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter)) - to_chat(usr, "You put [W] back into [src].") + to_chat(usr, span_notice("You put [W] back into [src].")) qdel(W) return else @@ -142,7 +142,7 @@ var/obj/structure/disposalconstruct/C = new (loc, p_type) if(!C.can_place()) - to_chat(usr, "There's not enough room to build that here!") + to_chat(usr, span_warning("There's not enough room to build that here!")) qdel(C) return if(href_list["dir"]) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 34816ad33e9..b3461eae575 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -253,7 +253,7 @@ DEFINE_BITFIELD(turret_flags, list( toggle_on() return TRUE else - to_chat(usr, "It has to be secured first!") + to_chat(usr, span_warning("It has to be secured first!")) if("authweapon") turret_flags ^= TURRET_FLAG_AUTH_WEAPONS return TRUE @@ -300,19 +300,19 @@ DEFINE_BITFIELD(turret_flags, list( if(I.tool_behaviour == TOOL_CROWBAR) //If the turret is destroyed, you can remove it with a crowbar to //try and salvage its components - to_chat(user, "You begin prying the metal coverings off...") + to_chat(user, span_notice("You begin prying the metal coverings off...")) if(I.use_tool(src, user, 20)) if(prob(70)) if(stored_gun) stored_gun.forceMove(loc) stored_gun = null - to_chat(user, "You remove the turret and salvage some components.") + to_chat(user, span_notice("You remove the turret and salvage some components.")) if(prob(50)) new /obj/item/stack/sheet/iron(loc, rand(1,4)) if(prob(50)) new /obj/item/assembly/prox_sensor(loc) else - to_chat(user, "You remove the turret but did not manage to salvage anything.") + to_chat(user, span_notice("You remove the turret but did not manage to salvage anything.")) qdel(src) else if((I.tool_behaviour == TOOL_WRENCH) && (!on)) @@ -324,13 +324,13 @@ DEFINE_BITFIELD(turret_flags, list( set_anchored(TRUE) invisibility = INVISIBILITY_MAXIMUM update_appearance() - to_chat(user, "You secure the exterior bolts on the turret.") + to_chat(user, span_notice("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 cover.parent_turret = src //make the cover's parent src else if(anchored) set_anchored(FALSE) - to_chat(user, "You unsecure the exterior bolts on the turret.") + to_chat(user, span_notice("You unsecure the exterior bolts on the turret.")) power_change() invisibility = 0 qdel(cover) //deletes the cover, and the turret instance itself becomes its own cover. @@ -339,23 +339,23 @@ DEFINE_BITFIELD(turret_flags, list( //Behavior lock/unlock mangement if(allowed(user)) locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, span_notice("Controls are now [locked ? "locked" : "unlocked"].")) else - to_chat(user, "Access denied.") + to_chat(user, span_alert("Access denied.")) else 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.") + to_chat(user, span_notice("You add [src] to multitool buffer.")) else return ..() /obj/machinery/porta_turret/emag_act(mob/user) if(obj_flags & EMAGGED) return - to_chat(user, "You short out [src]'s threat assessment circuits.") - audible_message("[src] hums oddly...") + to_chat(user, span_warning("You short out [src]'s threat assessment circuits.")) + audible_message(span_hear("[src] hums oddly...")) obj_flags |= EMAGGED controllock = TRUE toggle_on(FALSE) //turns off the turret temporarily @@ -687,7 +687,7 @@ DEFINE_BITFIELD(turret_flags, list( return FALSE if(remote_controller) if(warning_message) - to_chat(remote_controller, "Your uplink to [src] has been severed!") + to_chat(remote_controller, span_warning("Your uplink to [src] has been severed!")) quit_action.Remove(remote_controller) toggle_action.Remove(remote_controller) remote_controller.click_intercept = null @@ -911,8 +911,8 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/turretid/examine(mob/user) . += ..() if(issilicon(user) && !(machine_stat & BROKEN)) - . += {"Ctrl-click [src] to [ enabled ? "disable" : "enable"] turrets. - Alt-click [src] to set turrets to [ lethal ? "stun" : "kill"]."} + . += {"[span_notice("Ctrl-click [src] to [ enabled ? "disable" : "enable"] turrets.")] + [span_notice("Alt-click [src] to set turrets to [ lethal ? "stun" : "kill"].")]"} /obj/machinery/turretid/attackby(obj/item/I, mob/user, params) if(machine_stat & BROKEN) @@ -924,7 +924,7 @@ DEFINE_BITFIELD(turret_flags, list( var/obj/item/multitool/M = I if(M.buffer && istype(M.buffer, /obj/machinery/porta_turret)) turrets |= M.buffer - to_chat(user, "You link \the [M.buffer] with \the [src].") + to_chat(user, span_notice("You link \the [M.buffer] with \the [src].")) return if (issilicon(user)) @@ -933,18 +933,18 @@ DEFINE_BITFIELD(turret_flags, list( if ( get_dist(src, user) == 0 ) // trying to unlock the interface if (allowed(usr)) if(obj_flags & EMAGGED) - to_chat(user, "The turret control is unresponsive!") + to_chat(user, span_warning("The turret control is unresponsive!")) return locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.") + to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] the panel.")) else - to_chat(user, "Access denied.") + to_chat(user, span_alert("Access denied.")) /obj/machinery/turretid/emag_act(mob/user) if(obj_flags & EMAGGED) return - to_chat(user, "You short out the turret controls' access analysis module.") + to_chat(user, span_notice("You short out the turret controls' access analysis module.")) obj_flags |= EMAGGED locked = FALSE @@ -952,7 +952,7 @@ DEFINE_BITFIELD(turret_flags, list( if(!ailock || isAdminGhostAI(user)) return attack_hand(user) else - to_chat(user, "There seems to be a firewall preventing you from accessing this device!") + to_chat(user, span_warning("There seems to be a firewall preventing you from accessing this device!")) /obj/machinery/turretid/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -979,7 +979,7 @@ DEFINE_BITFIELD(turret_flags, list( if(!usr.has_unlimited_silicon_privilege) return if((obj_flags & EMAGGED) || (machine_stat & BROKEN)) - to_chat(usr, "The turret control is unresponsive!") + to_chat(usr, span_warning("The turret control is unresponsive!")) return locked = !locked return TRUE diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm index 90d4fbefeb4..d3c7817224d 100644 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ b/code/game/machinery/porta_turret/portable_turret_construct.dm @@ -25,14 +25,14 @@ if(PTURRET_UNSECURED) //first step if(I.tool_behaviour == TOOL_WRENCH && !anchored) I.play_tool_sound(src, 100) - to_chat(user, "You secure the external bolts.") + to_chat(user, span_notice("You secure the external bolts.")) set_anchored(TRUE) build_step = PTURRET_BOLTED return else if(I.tool_behaviour == TOOL_CROWBAR && !anchored) I.play_tool_sound(src, 75) - to_chat(user, "You dismantle the turret construction.") + to_chat(user, span_notice("You dismantle the turret construction.")) new /obj/item/stack/sheet/iron( loc, 5) qdel(src) return @@ -41,16 +41,16 @@ if(istype(I, /obj/item/stack/sheet/iron)) var/obj/item/stack/sheet/iron/M = I if(M.use(2)) - to_chat(user, "You add some metal armor to the interior frame.") + to_chat(user, span_notice("You add some metal armor to the interior frame.")) build_step = PTURRET_START_INTERNAL_ARMOUR icon_state = "turret_frame2" else - to_chat(user, "You need two sheets of iron to continue construction!") + to_chat(user, span_warning("You need two sheets of iron to continue construction!")) return else if(I.tool_behaviour == TOOL_WRENCH) I.play_tool_sound(src, 75) - to_chat(user, "You unfasten the external bolts.") + to_chat(user, span_notice("You unfasten the external bolts.")) set_anchored(FALSE) build_step = PTURRET_UNSECURED return @@ -59,7 +59,7 @@ if(PTURRET_START_INTERNAL_ARMOUR) if(I.tool_behaviour == TOOL_WRENCH) I.play_tool_sound(src, 100) - to_chat(user, "You bolt the metal armor into place.") + to_chat(user, span_notice("You bolt the metal armor into place.")) build_step = PTURRET_INTERNAL_ARMOUR_ON return @@ -67,11 +67,11 @@ if(!I.tool_start_check(user, amount=5)) //uses up 5 fuel return - to_chat(user, "You start to remove the turret's interior metal armor...") + to_chat(user, span_notice("You start to remove the turret's interior metal armor...")) if(I.use_tool(src, user, 20, volume=50, amount=5)) //uses up 5 fuel build_step = PTURRET_BOLTED - to_chat(user, "You remove the turret's interior metal armor.") + to_chat(user, span_notice("You remove the turret's interior metal armor.")) new /obj/item/stack/sheet/iron(drop_location(), 2) return @@ -82,13 +82,13 @@ if(!user.transferItemToLoc(E, src)) return installed_gun = E - to_chat(user, "You add [I] to the turret.") + to_chat(user, span_notice("You add [I] to the turret.")) build_step = PTURRET_GUN_EQUIPPED return else if(I.tool_behaviour == TOOL_WRENCH) I.play_tool_sound(src, 100) - to_chat(user, "You remove the turret's metal armor bolts.") + to_chat(user, span_notice("You remove the turret's metal armor bolts.")) build_step = PTURRET_START_INTERNAL_ARMOUR return @@ -97,7 +97,7 @@ build_step = PTURRET_SENSORS_ON if(!user.temporarilyRemoveItemFromInventory(I)) return - to_chat(user, "You add the proximity sensor to the turret.") + to_chat(user, span_notice("You add the proximity sensor to the turret.")) qdel(I) return @@ -106,7 +106,7 @@ if(I.tool_behaviour == TOOL_SCREWDRIVER) I.play_tool_sound(src, 100) build_step = PTURRET_CLOSED - to_chat(user, "You close the internal access hatch.") + to_chat(user, span_notice("You close the internal access hatch.")) return @@ -114,16 +114,16 @@ if(istype(I, /obj/item/stack/sheet/iron)) var/obj/item/stack/sheet/iron/M = I if(M.use(2)) - to_chat(user, "You add some metal armor to the exterior frame.") + to_chat(user, span_notice("You add some metal armor to the exterior frame.")) build_step = PTURRET_START_EXTERNAL_ARMOUR else - to_chat(user, "You need two sheets of iron to continue construction!") + to_chat(user, span_warning("You need two sheets of iron to continue construction!")) return else if(I.tool_behaviour == TOOL_SCREWDRIVER) I.play_tool_sound(src, 100) build_step = PTURRET_SENSORS_ON - to_chat(user, "You open the internal access hatch.") + to_chat(user, span_notice("You open the internal access hatch.")) return if(PTURRET_START_EXTERNAL_ARMOUR) @@ -131,10 +131,10 @@ if(!I.tool_start_check(user, amount=5)) return - to_chat(user, "You begin to weld the turret's armor down...") + to_chat(user, span_notice("You begin to weld the turret's armor down...")) if(I.use_tool(src, user, 30, volume=50, amount=5)) build_step = PTURRET_EXTERNAL_ARMOUR_ON - to_chat(user, "You weld the turret's armor down.") + to_chat(user, span_notice("You weld the turret's armor down.")) //The final step: create a full turret @@ -152,7 +152,7 @@ else if(I.tool_behaviour == TOOL_CROWBAR) I.play_tool_sound(src, 75) - to_chat(user, "You pry off the turret's exterior armor.") + to_chat(user, span_notice("You pry off the turret's exterior armor.")) new /obj/item/stack/sheet/iron(loc, 2) build_step = PTURRET_CLOSED return @@ -178,11 +178,11 @@ build_step = PTURRET_INTERNAL_ARMOUR_ON installed_gun.forceMove(loc) - to_chat(user, "You remove [installed_gun] from the turret frame.") + to_chat(user, span_notice("You remove [installed_gun] from the turret frame.")) installed_gun = null if(PTURRET_SENSORS_ON) - to_chat(user, "You remove the prox sensor from the turret frame.") + to_chat(user, span_notice("You remove the prox sensor from the turret frame.")) new /obj/item/assembly/prox_sensor(loc) build_step = PTURRET_GUN_EQUIPPED diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm index d1b860f3b93..438aa5f00c3 100644 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ b/code/game/machinery/porta_turret/portable_turret_cover.dm @@ -41,12 +41,12 @@ return if(!parent_turret.anchored) parent_turret.set_anchored(TRUE) - to_chat(user, "You secure the exterior bolts on the turret.") + to_chat(user, span_notice("You secure the exterior bolts on the turret.")) parent_turret.invisibility = 0 parent_turret.update_appearance() else parent_turret.set_anchored(FALSE) - to_chat(user, "You unsecure the exterior bolts on the turret.") + to_chat(user, span_notice("You unsecure the exterior bolts on the turret.")) parent_turret.invisibility = INVISIBILITY_MAXIMUM parent_turret.update_appearance() qdel(src) @@ -55,9 +55,9 @@ 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"].") + to_chat(user, span_notice("Controls are now [parent_turret.locked ? "locked" : "unlocked"].")) else - to_chat(user, "Access denied.") + to_chat(user, span_notice("Access denied.")) return if(I.tool_behaviour == TOOL_MULTITOOL && !parent_turret.locked) @@ -65,7 +65,7 @@ return var/obj/item/multitool/M = I M.buffer = parent_turret - to_chat(user, "You add [parent_turret] to multitool buffer.") + to_chat(user, span_notice("You add [parent_turret] to multitool buffer.")) return return ..() @@ -86,8 +86,8 @@ /obj/machinery/porta_turret_cover/emag_act(mob/user) if(!(parent_turret.obj_flags & EMAGGED)) - to_chat(user, "You short out [parent_turret]'s threat assessment circuits.") - visible_message("[parent_turret] hums oddly...") + to_chat(user, span_notice("You short out [parent_turret]'s threat assessment circuits.")) + visible_message(span_hear("[parent_turret] hums oddly...")) parent_turret.obj_flags |= EMAGGED parent_turret.on = FALSE addtimer(VARSET_CALLBACK(parent_turret, on, TRUE), 4 SECONDS) diff --git a/code/game/machinery/prisonlabor.dm b/code/game/machinery/prisonlabor.dm index 8c0d1134ff6..20ee5d09aa0 100644 --- a/code/game/machinery/prisonlabor.dm +++ b/code/game/machinery/prisonlabor.dm @@ -28,10 +28,10 @@ /obj/machinery/plate_press/attackby(obj/item/I, mob/living/user, params) if(!is_operational) - to_chat(user, "[src] has to be on to do this!") + to_chat(user, span_warning("[src] has to be on to do this!")) return FALSE if(current_plate) - to_chat(user, "[src] already has a plate in it!") + to_chat(user, span_warning("[src] already has a plate in it!")) return FALSE if(istype(I, /obj/item/stack/license_plates/empty)) var/obj/item/stack/license_plates/empty/plate = I @@ -51,7 +51,7 @@ pressing = TRUE update_appearance() - to_chat(user, "You start pressing a new license plate!") + to_chat(user, span_notice("You start pressing a new license plate!")) if(!do_after(user, 40, target = src)) pressing = FALSE @@ -59,7 +59,7 @@ return FALSE use_power(100) - to_chat(user, "You finish pressing a new license plate!") + to_chat(user, span_notice("You finish pressing a new license plate!")) pressing = FALSE QDEL_NULL(current_plate) diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index f22c38c67d9..3d8917b6715 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -31,11 +31,11 @@ /obj/machinery/quantumpad/examine(mob/user) . = ..() - . += "It is [ linked_pad ? "currently" : "not"] linked to another pad." + . += span_notice("It is [ linked_pad ? "currently" : "not"] linked to another pad.") if(!panel_open) - . += "The panel is screwed in, obstructing the linking device." + . += span_notice("The panel is screwed in, obstructing the linking device.") else - . += "The linking device is now able to be scanned with a multitool." + . += span_notice("The linking device is now able to be scanned with a multitool.") /obj/machinery/quantumpad/RefreshParts() var/E = 0 @@ -60,7 +60,7 @@ return var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You save the data in [I]'s buffer. It can now be saved to pads with closed panels.") + to_chat(user, span_notice("You save the data in [I]'s buffer. It can now be saved to pads with closed panels.")) return TRUE else if(I.tool_behaviour == TOOL_MULTITOOL) if(!multitool_check_buffer(user, I)) @@ -68,25 +68,25 @@ var/obj/item/multitool/M = I if(istype(M.buffer, /obj/machinery/quantumpad)) if(M.buffer == src) - to_chat(user, "You cannot link a pad to itself!") + to_chat(user, span_warning("You cannot link a pad to itself!")) return TRUE else linked_pad = M.buffer - to_chat(user, "You link [src] to the one in [I]'s buffer.") + to_chat(user, span_notice("You link [src] to the one in [I]'s buffer.")) return TRUE else - to_chat(user, "There is no quantum pad data saved in [I]'s buffer!") + to_chat(user, span_warning("There is no quantum pad data saved in [I]'s buffer!")) return TRUE else if(istype(I, /obj/item/quantum_keycard)) var/obj/item/quantum_keycard/K = I if(K.qpad) - to_chat(user, "You insert [K] into [src]'s card slot, activating it.") + to_chat(user, span_notice("You insert [K] into [src]'s card slot, activating it.")) interact(user, K.qpad) else - to_chat(user, "You insert [K] into [src]'s card slot, initiating the link procedure.") + to_chat(user, span_notice("You insert [K] into [src]'s card slot, initiating the link procedure.")) if(do_after(user, 40, target = src)) - to_chat(user, "You complete the link between [K] and [src].") + to_chat(user, span_notice("You complete the link between [K] and [src].")) K.qpad = src if(default_deconstruction_crowbar(I)) @@ -97,23 +97,23 @@ /obj/machinery/quantumpad/interact(mob/user, obj/machinery/quantumpad/target_pad = linked_pad) if(!target_pad || QDELETED(target_pad)) if(!map_pad_link_id || !initMappedLink()) - to_chat(user, "Target pad not found!") + to_chat(user, span_warning("Target pad not found!")) return if(world.time < last_teleport + teleport_cooldown) - to_chat(user, "[src] is recharging power. Please wait [DisplayTimeText(last_teleport + teleport_cooldown - world.time)].") + to_chat(user, span_warning("[src] is recharging power. Please wait [DisplayTimeText(last_teleport + teleport_cooldown - world.time)].")) return if(teleporting) - to_chat(user, "[src] is charging up. Please wait.") + to_chat(user, span_warning("[src] is charging up. Please wait.")) return if(target_pad.teleporting) - to_chat(user, "Target pad is busy. Please wait.") + to_chat(user, span_warning("Target pad is busy. Please wait.")) return if(target_pad.machine_stat & NOPOWER) - to_chat(user, "Target pad is not responding to ping.") + to_chat(user, span_warning("Target pad is not responding to ping.")) return add_fingerprint(user) doteleport(user, target_pad) @@ -142,11 +142,11 @@ teleporting = FALSE return if(machine_stat & NOPOWER) - to_chat(user, "[src] is unpowered!") + to_chat(user, span_warning("[src] is unpowered!")) teleporting = FALSE return if(!target_pad || QDELETED(target_pad) || target_pad.machine_stat & NOPOWER) - to_chat(user, "Linked pad is not responding to ping. Teleport aborted.") + to_chat(user, span_warning("Linked pad is not responding to ping. Teleport aborted.")) teleporting = FALSE return diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index bc84b0f03c2..4fe20df360e 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -26,19 +26,19 @@ /obj/machinery/recharger/examine(mob/user) . = ..() if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) - . += "You're too far away to examine [src]'s contents and display!" + . += span_warning("You're too far away to examine [src]'s contents and display!") return if(charging) - . += {"\The [src] contains: - - \A [charging]."} + . += {"[span_notice("\The [src] contains:")] + [span_notice("- \A [charging].")]"} if(!(machine_stat & (NOPOWER|BROKEN))) - . += "The status display reads:" - . += "- Recharging [recharge_coeff*10]% cell charge per cycle." + . += span_notice("The status display reads:") + . += span_notice("- Recharging [recharge_coeff*10]% cell charge per cycle.") if(charging) var/obj/item/stock_parts/cell/C = charging.get_cell() - . += "- \The [charging]'s cell is at [C.percent()]%." + . += span_notice("- \The [charging]'s cell is at [C.percent()]%.") /obj/machinery/recharger/proc/setCharging(new_charging) @@ -56,11 +56,11 @@ /obj/machinery/recharger/attackby(obj/item/G, mob/user, params) if(G.tool_behaviour == TOOL_WRENCH) if(charging) - to_chat(user, "Remove the charging item first!") + to_chat(user, span_notice("Remove the charging item first!")) return set_anchored(!anchored) power_change() - to_chat(user, "You [anchored ? "attached" : "detached"] [src].") + to_chat(user, span_notice("You [anchored ? "attached" : "detached"] [src].")) G.play_tool_sound(src) return @@ -74,13 +74,13 @@ //Checks to make sure he's not in space doing it, and that the area got proper power. var/area/a = get_area(src) if(!isarea(a) || a.power_equip == 0) - to_chat(user, "[src] blinks red as you try to insert [G].") + to_chat(user, span_notice("[src] blinks red as you try to insert [G].")) return 1 if (istype(G, /obj/item/gun/energy)) var/obj/item/gun/energy/E = G if(!E.can_charge) - to_chat(user, "Your gun has no external power connector.") + to_chat(user, span_notice("Your gun has no external power connector.")) return 1 if(!user.transferItemToLoc(G, src)) @@ -88,7 +88,7 @@ setCharging(G) else - to_chat(user, "[src] isn't connected to anything!") + to_chat(user, span_notice("[src] isn't connected to anything!")) return 1 if(anchored && !charging) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 87112b9c5db..85f66a1d347 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -36,9 +36,9 @@ /obj/machinery/recharge_station/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Recharging [recharge_speed]J per cycle." + . += span_notice("The status display reads: Recharging [recharge_speed]J per cycle.") if(repairs) - . += "[src] has been upgraded to support automatic repairs." + . += span_notice("[src] has been upgraded to support automatic repairs.") /obj/machinery/recharge_station/on_set_is_operational(old_value) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index f78a256f277..adc6abbc4da 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -62,7 +62,7 @@ /obj/machinery/recycler/examine(mob/user) . = ..() - . += "Reclaiming [amount_produced]% of materials salvaged." + . += span_notice("Reclaiming [amount_produced]% of materials salvaged.") . += {"The power light is [(machine_stat & NOPOWER) ? "off" : "on"]. The safety-mode light is [safety_mode ? "on" : "off"]. The safety-sensors status light is [obj_flags & EMAGGED ? "off" : "on"]."} @@ -90,7 +90,7 @@ safety_mode = FALSE update_appearance() playsound(src, "sparks", 75, TRUE, SILENCED_SOUND_EXTRARANGE) - to_chat(user, "You use the cryptographic sequencer on [src].") + to_chat(user, span_notice("You use the cryptographic sequencer on [src].")) /obj/machinery/recycler/update_icon_state() var/is_powered = !(machine_stat & (BROKEN|NOPOWER)) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 581e66ff707..de38191de4d 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -289,7 +289,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) GLOB.news_network.SubmitArticle(message, department, "Station Announcements", null) usr.log_talk(message, LOG_SAY, tag="station announcement from [src]") message_admins("[ADMIN_LOOKUPFLW(usr)] has made a station announcement from [src] at [AREACOORD(usr)].") - deadchat_broadcast(" made a station announcement from [get_area_name(usr, TRUE)].", "[usr.real_name]", usr, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" made a station announcement from [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type=DEADCHAT_ANNOUNCEMENT) announceAuth = FALSE message = "" screen = REQ_SCREEN_MAIN @@ -426,10 +426,10 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) /obj/machinery/requests_console/attackby(obj/item/O, mob/user, params) if(O.tool_behaviour == TOOL_CROWBAR) if(open) - to_chat(user, "You close the maintenance panel.") + to_chat(user, span_notice("You close the maintenance panel.")) open = FALSE else - to_chat(user, "You open the maintenance panel.") + to_chat(user, span_notice("You open the maintenance panel.")) open = TRUE update_appearance() return @@ -437,12 +437,12 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(open) hackState = !hackState if(hackState) - to_chat(user, "You modify the wiring.") + to_chat(user, span_notice("You modify the wiring.")) else - to_chat(user, "You reset the wiring.") + to_chat(user, span_notice("You reset the wiring.")) update_appearance() else - to_chat(user, "You must open the maintenance panel first!") + to_chat(user, span_warning("You must open the maintenance panel first!")) return var/obj/item/card/id/ID = O.GetID() @@ -455,13 +455,13 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) announceAuth = TRUE else announceAuth = FALSE - to_chat(user, "You are not authorized to send announcements!") + to_chat(user, span_warning("You are not authorized to send announcements!")) updateUsrDialog() return if (istype(O, /obj/item/stamp)) if(screen == REQ_SCREEN_AUTHENTICATE) var/obj/item/stamp/T = O - msgStamped = "Stamped with the [T.name]" + msgStamped = span_boldnotice("Stamped with the [T.name]") updateUsrDialog() return return ..() diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 1c623c41adc..e9276876cc2 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -119,13 +119,13 @@ playsound(src, 'sound/machines/card_slide.ogg', 50, TRUE) if(machine_stat & MAINT || !on || locked) - to_chat(user, "The machine appears to be disabled.") + to_chat(user, span_notice("The machine appears to be disabled.")) return FALSE if(my_card) var/obj/item/card/id/player_card = W if(player_card.registered_account.account_balance < chosen_bet_amount) //Does the player have enough funds - audible_message("You do not have the funds to play! Lower your bet or get more money.") + audible_message(span_warning("You do not have the funds to play! Lower your bet or get more money.")) playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) return FALSE if(!chosen_bet_amount || isnull(chosen_bet_type)) @@ -176,7 +176,7 @@ name = msg desc = "Owned by [new_card.registered_account.account_holder], draws directly from [user.p_their()] account." my_card = new_card - to_chat(user, "You link the wheel to your account.") + to_chat(user, span_notice("You link the wheel to your account.")) power_change() return return ..() @@ -211,18 +211,18 @@ var/color = numbers["[rolled_number]"] //Weird syntax, but dict uses strings. var/result = "[rolled_number] [color]" //e.g. 31 black - audible_message("The result is: [result]") + audible_message(span_notice("The result is: [result]")) playing = FALSE update_icon(ALL, potential_payout, color, rolled_number, is_winner) handle_color_light(color) if(!is_winner) - audible_message("You lost! Better luck next time") + audible_message(span_warning("You lost! Better luck next time")) playsound(src, 'sound/machines/synth_no.ogg', 50) return FALSE - audible_message("You have won [potential_payout] credits! Congratulations!") + audible_message(span_notice("You have won [potential_payout] credits! Congratulations!")) playsound(src, 'sound/machines/synth_yes.ogg', 50) dispense_prize(potential_payout) @@ -325,7 +325,7 @@ /obj/machinery/roulette/proc/check_bartender_funds(payout) if(my_card.registered_account.account_balance >= payout) return TRUE //We got the betting amount - audible_message("The bank account of [my_card.registered_account.account_holder] does not have enough funds to pay out the potential prize, contact them to fill up their account or lower your bet!") + audible_message(span_warning("The bank account of [my_card.registered_account.account_holder] does not have enough funds to pay out the potential prize, contact them to fill up their account or lower your bet!")) playsound(src, 'sound/machines/buzz-two.ogg', 30, TRUE) return FALSE @@ -377,15 +377,15 @@ /obj/machinery/roulette/welder_act(mob/living/user, obj/item/I) . = ..() if(machine_stat & MAINT) - to_chat(user, "You start re-attaching the top section of [src]...") + to_chat(user, span_notice("You start re-attaching the top section of [src]...")) if(I.use_tool(src, user, 30, volume=50)) - to_chat(user, "You re-attach the top section of [src].") + to_chat(user, span_notice("You re-attach the top section of [src].")) set_machine_stat(machine_stat & ~MAINT) icon_state = "idle" else - to_chat(user, "You start welding the top section from [src]...") + to_chat(user, span_notice("You start welding the top section from [src]...")) if(I.use_tool(src, user, 30, volume=50)) - to_chat(user, "You removed the top section of [src].") + to_chat(user, span_notice("You removed the top section of [src].")) set_machine_stat(machine_stat | MAINT) icon_state = "open" @@ -410,7 +410,7 @@ /obj/item/roulette_wheel_beacon/attack_self() if(used) return - loc.visible_message("\The [src] begins to beep loudly!") + loc.visible_message(span_warning("\The [src] begins to beep loudly!")) used = TRUE addtimer(CALLBACK(src, .proc/launch_payload), 40) diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm index 705e710ea93..1f7151d8e41 100644 --- a/code/game/machinery/scan_gate.dm +++ b/code/game/machinery/scan_gate.dm @@ -69,9 +69,9 @@ /obj/machinery/scanner_gate/examine(mob/user) . = ..() if(locked) - . += "The control panel is ID-locked. Swipe a valid ID to unlock it." + . += span_notice("The control panel is ID-locked. Swipe a valid ID to unlock it.") else - . += "The control panel is unlocked. Swipe an ID to lock it." + . += span_notice("The control panel is unlocked. Swipe an ID to lock it.") /obj/machinery/scanner_gate/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER @@ -95,14 +95,14 @@ if(allowed(user)) locked = FALSE req_access = list() - to_chat(user, "You unlock [src].") + to_chat(user, span_notice("You unlock [src].")) else if(!(obj_flags & EMAGGED)) - to_chat(user, "You lock [src] with [W].") + to_chat(user, span_notice("You lock [src] with [W].")) var/list/access = W.GetAccess() req_access = access locked = TRUE else - to_chat(user, "You try to lock [src] with [W], but nothing happens.") + to_chat(user, span_warning("You try to lock [src] with [W], but nothing happens.")) else if(!locked && default_deconstruction_screwdriver(user, "scangate_open", "scangate", W)) return @@ -116,7 +116,7 @@ locked = FALSE req_access = list() obj_flags |= EMAGGED - to_chat(user, "You fry the ID checking system.") + to_chat(user, span_notice("You fry the ID checking system.")) /obj/machinery/scanner_gate/proc/perform_scan(mob/living/M) var/beep = FALSE diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index b7011700d30..bd2d5715dcd 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -87,7 +87,7 @@ /obj/structure/emergency_shield/cult/barrier/Destroy() if(parent_rune) - parent_rune.visible_message("The [parent_rune] fades away as [src] is destroyed!") + parent_rune.visible_message(span_danger("The [parent_rune] fades away as [src] is destroyed!")) QDEL_NULL(parent_rune) return ..() @@ -163,25 +163,25 @@ if(.) return if(locked && !issilicon(user)) - to_chat(user, "The machine is locked, you are unable to use it!") + to_chat(user, span_warning("The machine is locked, you are unable to use it!")) return if(panel_open) - to_chat(user, "The panel must be closed before operating this machine!") + to_chat(user, span_warning("The panel must be closed before operating this machine!")) return if (active) - user.visible_message("[user] deactivated \the [src].", \ - "You deactivate \the [src].", \ - "You hear heavy droning fade out.") + user.visible_message(span_notice("[user] deactivated \the [src]."), \ + span_notice("You deactivate \the [src]."), \ + span_hear("You hear heavy droning fade out.")) shields_down() else if(anchored) - user.visible_message("[user] activated \the [src].", \ - "You activate \the [src].", \ - "You hear heavy droning.") + user.visible_message(span_notice("[user] activated \the [src]."), \ + span_notice("You activate \the [src]."), \ + span_hear("You hear heavy droning.")) shields_up() else - to_chat(user, "The device must first be secured to the floor!") + to_chat(user, span_warning("The device must first be secured to the floor!")) return /obj/machinery/shieldgen/attackby(obj/item/W, mob/user, params) @@ -189,60 +189,60 @@ W.play_tool_sound(src, 100) panel_open = !panel_open if(panel_open) - to_chat(user, "You open the panel and expose the wiring.") + to_chat(user, span_notice("You open the panel and expose the wiring.")) else - to_chat(user, "You close the panel.") + to_chat(user, span_notice("You close the panel.")) else if(istype(W, /obj/item/stack/cable_coil) && (machine_stat & BROKEN) && panel_open) var/obj/item/stack/cable_coil/coil = W if (coil.get_amount() < 1) - to_chat(user, "You need one length of cable to repair [src]!") + to_chat(user, span_warning("You need one length of cable to repair [src]!")) return - to_chat(user, "You begin to replace the wires...") + to_chat(user, span_notice("You begin to replace the wires...")) if(do_after(user, 30, target = src)) if(coil.get_amount() < 1) return coil.use(1) obj_integrity = max_integrity set_machine_stat(machine_stat & ~BROKEN) - to_chat(user, "You repair \the [src].") + to_chat(user, span_notice("You repair \the [src].")) update_appearance() else if(W.tool_behaviour == TOOL_WRENCH) if(locked) - to_chat(user, "The bolts are covered! Unlocking this would retract the covers.") + to_chat(user, span_warning("The bolts are covered! Unlocking this would retract the covers.")) return if(!anchored && !isinspace()) W.play_tool_sound(src, 100) - to_chat(user, "You secure \the [src] to the floor!") + to_chat(user, span_notice("You secure \the [src] to the floor!")) set_anchored(TRUE) else if(anchored) W.play_tool_sound(src, 100) - to_chat(user, "You unsecure \the [src] from the floor!") + to_chat(user, span_notice("You unsecure \the [src] from the floor!")) if(active) - to_chat(user, "\The [src] shuts off!") + to_chat(user, span_notice("\The [src] shuts off!")) shields_down() set_anchored(FALSE) else if(W.GetID()) if(allowed(user) && !(obj_flags & EMAGGED)) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the controls.") + to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the controls.")) else if(obj_flags & EMAGGED) - to_chat(user, "Error, access controller damaged!") + to_chat(user, span_danger("Error, access controller damaged!")) else - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) else return ..() /obj/machinery/shieldgen/emag_act(mob/user) if(obj_flags & EMAGGED) - to_chat(user, "The access controller is damaged!") + to_chat(user, span_warning("The access controller is damaged!")) return obj_flags |= EMAGGED locked = FALSE playsound(src, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "You short out the access controller.") + to_chat(user, span_warning("You short out the access controller.")) /obj/machinery/shieldgen/update_icon_state() icon_state = "shield[active ? "on" : "off"][(machine_stat & BROKEN) ? "br" : null]" @@ -308,9 +308,9 @@ if(!active_power_usage || surplus() >= active_power_usage) add_load(active_power_usage) else - visible_message("The [src.name] shuts down due to lack of power!", \ + visible_message(span_danger("The [src.name] shuts down due to lack of power!"), \ "If this message is ever seen, something is wrong.", - "You hear heavy droning fade out.") + span_hear("You hear heavy droning fade out.")) icon_state = "shield_wall_gen" active = FALSE log_game("[src] deactivated due to lack of power at [AREACOORD(src)]") @@ -376,7 +376,7 @@ /obj/machinery/power/shieldwallgen/can_be_unfasten_wrench(mob/user, silent) if(active) if(!silent) - to_chat(user, "Turn off the shield generator first!") + to_chat(user, span_warning("Turn off the shield generator first!")) return FAILED_UNFASTEN return ..() @@ -394,11 +394,11 @@ if(W.GetID()) if(allowed(user) && !(obj_flags & EMAGGED)) locked = !locked - to_chat(user, "You [src.locked ? "lock" : "unlock"] the controls.") + to_chat(user, span_notice("You [src.locked ? "lock" : "unlock"] the controls.")) else if(obj_flags & EMAGGED) - to_chat(user, "Error, access controller damaged!") + to_chat(user, span_danger("Error, access controller damaged!")) else - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) else add_fingerprint(user) @@ -409,37 +409,37 @@ if(.) return if(!anchored) - to_chat(user, "\The [src] needs to be firmly secured to the floor first!") + to_chat(user, span_warning("\The [src] needs to be firmly secured to the floor first!")) return if(locked && !issilicon(user)) - to_chat(user, "The controls are locked!") + to_chat(user, span_warning("The controls are locked!")) return if(!powernet) - to_chat(user, "\The [src] needs to be powered by a wire!") + to_chat(user, span_warning("\The [src] needs to be powered by a wire!")) return if(active) - user.visible_message("[user] turned \the [src] off.", \ - "You turn off \the [src].", \ - "You hear heavy droning fade out.") + user.visible_message(span_notice("[user] turned \the [src] off."), \ + span_notice("You turn off \the [src]."), \ + span_hear("You hear heavy droning fade out.")) active = FALSE log_game("[src] was deactivated by [key_name(user)] at [AREACOORD(src)]") else - user.visible_message("[user] turned \the [src] on.", \ - "You turn on \the [src].", \ - "You hear heavy droning.") + user.visible_message(span_notice("[user] turned \the [src] on."), \ + span_notice("You turn on \the [src]."), \ + span_hear("You hear heavy droning.")) active = ACTIVE_SETUPFIELDS log_game("[src] was activated by [key_name(user)] at [AREACOORD(src)]") add_fingerprint(user) /obj/machinery/power/shieldwallgen/emag_act(mob/user) if(obj_flags & EMAGGED) - to_chat(user, "The access controller is damaged!") + to_chat(user, span_warning("The access controller is damaged!")) return obj_flags |= EMAGGED locked = FALSE playsound(src, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "You short out the access controller.") + to_chat(user, span_warning("You short out the access controller.")) //////////////Containment Field START /obj/machinery/shieldwall @@ -462,7 +462,7 @@ needs_power = TRUE setDir(get_dir(gen_primary, gen_secondary)) for(var/mob/living/L in get_turf(src)) - visible_message("\The [src] is suddenly occupying the same space as \the [L]!") + visible_message(span_danger("\The [src] is suddenly occupying the same space as \the [L]!")) L.gib() RegisterSignal(src, COMSIG_ATOM_SINGULARITY_TRY_MOVE, .proc/block_singularity) diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index b1534138829..352af6ebe3a 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -92,26 +92,26 @@ C.throw_at(user, 3, 10) if(prob(10)) balance = max(balance - SPIN_PRICE, 0) - to_chat(user, "[src] spits your coin back out!") + to_chat(user, span_warning("[src] spits your coin back out!")) else if(!user.temporarilyRemoveItemFromInventory(C)) return - to_chat(user, "You insert [C] into [src]'s slot!") + to_chat(user, span_notice("You insert [C] into [src]'s slot!")) balance += C.value qdel(C) else - to_chat(user, "This machine is only accepting holochips!") + to_chat(user, span_warning("This machine is only accepting holochips!")) else if(istype(I, /obj/item/holochip)) if(paymode == HOLOCHIP) var/obj/item/holochip/H = I if(!user.temporarilyRemoveItemFromInventory(H)) return - to_chat(user, "You insert [H.credits] holocredits into [src]'s slot!") + to_chat(user, span_notice("You insert [H.credits] holocredits into [src]'s slot!")) balance += H.credits qdel(H) else - to_chat(user, "This machine is only accepting coins!") + to_chat(user, span_warning("This machine is only accepting coins!")) else if(I.tool_behaviour == TOOL_MULTITOOL) if(balance > 0) visible_message("[src] says, 'ERROR! Please empty the machine balance before altering paymode'") //Prevents converting coins into holocredits and vice versa @@ -199,7 +199,7 @@ var/the_name if(user) the_name = user.real_name - visible_message("[user] pulls the lever and the slot machine starts spinning!") + visible_message(span_notice("[user] pulls the lever and the slot machine starts spinning!")) else the_name = "Exaybachay" @@ -231,16 +231,16 @@ /obj/machinery/computer/slot_machine/proc/can_spin(mob/user) if(machine_stat & NOPOWER) - to_chat(user, "The slot machine has no power!") + to_chat(user, span_warning("The slot machine has no power!")) return FALSE if(machine_stat & BROKEN) - to_chat(user, "The slot machine is broken!") + to_chat(user, span_warning("The slot machine is broken!")) return FALSE if(working) - to_chat(user, "You need to wait until the machine stops spinning before you can play again!") + to_chat(user, span_warning("You need to wait until the machine stops spinning before you can play again!")) return FALSE if(balance < SPIN_PRICE) - to_chat(user, "Insufficient money to play!") + to_chat(user, span_warning("Insufficient money to play!")) return FALSE return TRUE @@ -283,12 +283,12 @@ give_money(SMALL_PRIZE) else if(linelength == 3) - to_chat(user, "You win three free games!") + to_chat(user, span_notice("You win three free games!")) balance += SPIN_PRICE * 4 money = max(money - SPIN_PRICE * 4, money) else - to_chat(user, "No luck!") + to_chat(user, span_warning("No luck!")) /obj/machinery/computer/slot_machine/proc/get_lines() var/amountthesame diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index efb62f6729b..69e54707a27 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -61,7 +61,7 @@ else . += "There is no power cell installed." if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Temperature range at [settable_temperature_range]°C.
Heating power at [siunit(heating_power, "W", 1)].
Power consumption at [(efficiency*-0.0025)+150]%.
" //100%, 75%, 50%, 25% + . += span_notice("The status display reads: Temperature range at [settable_temperature_range]°C.
Heating power at [siunit(heating_power, "W", 1)].
Power consumption at [(efficiency*-0.0025)+150]%.") //100%, 75%, 50%, 25% /obj/machinery/space_heater/update_icon_state() . = ..() @@ -149,7 +149,7 @@ add_fingerprint(user) if(default_deconstruction_screwdriver(user, icon_state, icon_state, I)) - user.visible_message("\The [user] [panel_open ? "opens" : "closes"] the hatch on \the [src].", "You [panel_open ? "open" : "close"] the hatch on \the [src].") + user.visible_message(span_notice("\The [user] [panel_open ? "opens" : "closes"] the hatch on \the [src]."), span_notice("You [panel_open ? "open" : "close"] the hatch on \the [src].")) update_appearance() return TRUE @@ -161,16 +161,16 @@ if(istype(I, /obj/item/stock_parts/cell)) if(!panel_open) - to_chat(user, "The hatch must be open to insert a power cell!") + to_chat(user, span_warning("The hatch must be open to insert a power cell!")) return if(cell) - to_chat(user, "There is already a power cell inside!") + to_chat(user, span_warning("There is already a power cell inside!")) return if(!user.transferItemToLoc(I, src)) return cell = I I.add_fingerprint(usr) - user.visible_message("\The [user] inserts a power cell into \the [src].", "You insert the power cell into \the [src].") + user.visible_message(span_notice("\The [user] inserts a power cell into \the [src]."), span_notice("You insert the power cell into \the [src].")) SStgui.update_uis(src) return TRUE @@ -215,7 +215,7 @@ if("power") on = !on mode = HEATER_MODE_STANDBY - usr.visible_message("[usr] switches [on ? "on" : "off"] \the [src].", "You switch [on ? "on" : "off"] \the [src].") + usr.visible_message(span_notice("[usr] switches [on ? "on" : "off"] \the [src]."), span_notice("You switch [on ? "on" : "off"] \the [src].")) update_appearance() if (on) START_PROCESSING(SSmachines, src) @@ -325,14 +325,14 @@ return if(istype(item, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, "There is already a power cell inside!") + to_chat(user, span_warning("There is already a power cell inside!")) return else if(!user.transferItemToLoc(item, src)) return cell = item item.add_fingerprint(usr) - user.visible_message("\The [user] inserts a power cell into \the [src].", "You insert the power cell into \the [src].") + user.visible_message(span_notice("\The [user] inserts a power cell into \the [src]."), span_notice("You insert the power cell into \the [src].")) SStgui.update_uis(src) //reagent containers if(is_reagent_container(item) && !(item.item_flags & ABSTRACT) && item.is_open_container()) @@ -341,7 +341,7 @@ if(!user.transferItemToLoc(container, src)) return replace_beaker(user, container) - to_chat(user, "You add [container] to [src]'s water bath.") + to_chat(user, span_notice("You add [container] to [src]'s water bath.")) updateUsrDialog() return //Dropper tools diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index 3537d362d2f..6899d8fd161 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -25,7 +25,7 @@ /obj/machinery/stasis/examine(mob/user) . = ..() - . += "Alt-click to [stasis_enabled ? "turn off" : "turn on"] the machine." + . += span_notice("Alt-click to [stasis_enabled ? "turn off" : "turn on"] the machine.") /obj/machinery/stasis/proc/play_power_sound() var/_running = stasis_running() @@ -42,9 +42,9 @@ stasis_enabled = !stasis_enabled stasis_can_toggle = world.time + STASIS_TOGGLE_COOLDOWN playsound(src, 'sound/machines/click.ogg', 60, TRUE) - user.visible_message("\The [src] [stasis_enabled ? "powers on" : "shuts down"].", \ - "You [stasis_enabled ? "power on" : "shut down"] \the [src].", \ - "You hear a nearby machine [stasis_enabled ? "power on" : "shut down"].") + user.visible_message(span_notice("\The [src] [stasis_enabled ? "powers on" : "shuts down"]."), \ + span_notice("You [stasis_enabled ? "power on" : "shut down"] \the [src]."), \ + span_hear("You hear a nearby machine [stasis_enabled ? "power on" : "shut down"].")) play_power_sound() update_appearance() diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 8efe41398ba..c94984e4b2d 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -279,7 +279,7 @@ else if (occupant) var/mob/living/mob_occupant = occupant - to_chat(mob_occupant, "[src]'s confines grow warm, then hot, then scorching. You're being burned [!mob_occupant.stat ? "alive" : "away"]!") + to_chat(mob_occupant, span_userdanger("[src]'s confines grow warm, then hot, then scorching. You're being burned [!mob_occupant.stat ? "alive" : "away"]!")) cook() if ("lock", "unlock") if (!state_open) @@ -323,27 +323,27 @@ return var/mob/living/target = A if(!state_open) - to_chat(user, "The unit's doors are shut!") + to_chat(user, span_warning("The unit's doors are shut!")) return if(!is_operational) - to_chat(user, "The unit is not operational!") + to_chat(user, span_warning("The unit is not operational!")) return if(occupant || helmet || suit || storage) - to_chat(user, "It's too cluttered inside to fit in!") + to_chat(user, span_warning("It's too cluttered inside to fit in!")) return if(target == user) - user.visible_message("[user] starts squeezing into [src]!", "You start working your way into [src]...") + user.visible_message(span_warning("[user] starts squeezing into [src]!"), span_notice("You start working your way into [src]...")) else - target.visible_message("[user] starts shoving [target] into [src]!", "[user] starts shoving you into [src]!") + target.visible_message(span_warning("[user] starts shoving [target] into [src]!"), span_userdanger("[user] starts shoving you into [src]!")) if(do_mob(user, target, 30)) if(occupant || helmet || suit || storage) return if(target == user) - user.visible_message("[user] slips into [src] and closes the door behind [user.p_them()]!", "You slip into [src]'s cramped space and shut its door.") + user.visible_message(span_warning("[user] slips into [src] and closes the door behind [user.p_them()]!"), "You slip into [src]'s cramped space and shut its door.") else - target.visible_message("[user] pushes [target] into [src] and shuts its door!", "[user] shoves you into [src] and shuts the door!") + target.visible_message(span_warning("[user] pushes [target] into [src] and shuts its door!"), span_userdanger("[user] shoves you into [src] and shuts the door!")) close_machine(target) add_fingerprint(user) @@ -376,7 +376,7 @@ uv = FALSE locked = FALSE if(uv_super) - visible_message("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber.") + visible_message(span_warning("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber.")) playsound(src, 'sound/machines/airlock_alien_prying.ogg', 50, TRUE) helmet = null qdel(helmet) @@ -390,9 +390,9 @@ wires.cut_all() else if(!mob_occupant) - visible_message("[src]'s door slides open. The glowing yellow lights dim to a gentle green.") + visible_message(span_notice("[src]'s door slides open. The glowing yellow lights dim to a gentle green.")) else - visible_message("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.") + visible_message(span_warning("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.")) mob_occupant.radiation = 0 playsound(src, 'sound/machines/airlockclose.ogg', 25, TRUE) var/list/things_to_clear = list() //Done this way since using GetAllContents on the SSU itself would include circuitry and such. @@ -442,7 +442,7 @@ if(locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) return open_machine() dump_inventory_contents() @@ -454,21 +454,21 @@ return user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the doors of [src]!", \ - "You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a thump from [src].") + user.visible_message(span_notice("You see [user] kicking against the doors of [src]!"), \ + span_notice("You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a thump from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src ) return - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() dump_inventory_contents() add_fingerprint(user) if(locked) - visible_message("You see [user] kicking against the doors of [src]!", \ - "You start kicking against the doors...") + visible_message(span_notice("You see [user] kicking against the doors of [src]!"), \ + span_notice("You start kicking against the doors...")) addtimer(CALLBACK(src, .proc/resist_open, user), 300) else open_machine() @@ -476,42 +476,42 @@ /obj/machinery/suit_storage_unit/proc/resist_open(mob/user) if(!state_open && occupant && (user in src) && user.stat == CONSCIOUS) // Check they're still here. - visible_message("You see [user] burst out of [src]!", \ - "You escape the cramped confines of [src]!") + visible_message(span_notice("You see [user] burst out of [src]!"), \ + span_notice("You escape the cramped confines of [src]!")) open_machine() /obj/machinery/suit_storage_unit/attackby(obj/item/I, mob/user, params) if(state_open && is_operational) if(istype(I, /obj/item/clothing/suit)) if(suit) - to_chat(user, "The unit already contains a suit!.") + to_chat(user, span_warning("The unit already contains a suit!.")) return if(!user.transferItemToLoc(I, src)) return suit = I else if(istype(I, /obj/item/clothing/head)) if(helmet) - to_chat(user, "The unit already contains a helmet!") + to_chat(user, span_warning("The unit already contains a helmet!")) return if(!user.transferItemToLoc(I, src)) return helmet = I else if(istype(I, /obj/item/clothing/mask)) if(mask) - to_chat(user, "The unit already contains a mask!") + to_chat(user, span_warning("The unit already contains a mask!")) return if(!user.transferItemToLoc(I, src)) return mask = I else if(storage) - to_chat(user, "The auxiliary storage compartment is full!") + to_chat(user, span_warning("The auxiliary storage compartment is full!")) return if(!user.transferItemToLoc(I, src)) return storage = I - visible_message("[user] inserts [I] into [src]", "You load [I] into [src].") + visible_message(span_notice("[user] inserts [I] into [src]"), span_notice("You load [I] into [src].")) update_appearance() return @@ -533,7 +533,7 @@ */ /obj/machinery/suit_storage_unit/default_deconstruction_screwdriver(mob/user, icon_state_open, icon_state_closed, obj/item/I) if(!(flags_1 & NODECONSTRUCT_1) && I.tool_behaviour == TOOL_SCREWDRIVER && uv) - to_chat(user, "It might not be wise to fiddle with [src] while it's running...") + to_chat(user, span_warning("It might not be wise to fiddle with [src] while it's running...")) return TRUE return ..() @@ -542,5 +542,5 @@ . = !(state_open || panel_open || is_operational || locked || (flags_1 & NODECONSTRUCT_1)) && I.tool_behaviour == TOOL_CROWBAR if(.) I.play_tool_sound(src, 50) - visible_message("[usr] pries open \the [src].", "You pry open \the [src].") + visible_message(span_notice("[usr] pries open \the [src]."), span_notice("You pry open \the [src].")) open_machine() diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index f80381feea2..a8e229495b9 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -20,7 +20,7 @@ /obj/machinery/power/singularity_beacon/proc/Activate(mob/user = null) if(surplus() < 1500) if(user) - to_chat(user, "The connected wire doesn't have enough current.") + to_chat(user, span_notice("The connected wire doesn't have enough current.")) return for (var/_singulo in GLOB.singularities) var/datum/component/singularity/singulo = _singulo @@ -30,7 +30,7 @@ icon_state = "[icontype]1" active = TRUE if(user) - to_chat(user, "You activate the beacon.") + to_chat(user, span_notice("You activate the beacon.")) /obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null) @@ -41,7 +41,7 @@ icon_state = "[icontype]0" active = FALSE if(user) - to_chat(user, "You deactivate the beacon.") + to_chat(user, span_notice("You deactivate the beacon.")) /obj/machinery/power/singularity_beacon/attack_ai(mob/user) @@ -55,30 +55,30 @@ if(anchored) return active ? Deactivate(user) : Activate(user) else - to_chat(user, "You need to screw \the [src] to the floor first!") + to_chat(user, span_warning("You need to screw \the [src] to the floor first!")) /obj/machinery/power/singularity_beacon/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_WRENCH) if(active) - to_chat(user, "You need to deactivate \the [src] first!") + to_chat(user, span_warning("You need to deactivate \the [src] first!")) return if(anchored) set_anchored(FALSE) - to_chat(user, "You unbolt \the [src] from the floor and detach it from the cable.") + to_chat(user, span_notice("You unbolt \the [src] from the floor and detach it from the cable.")) disconnect_from_network() return else if(!connect_to_network()) - to_chat(user, "\The [src] must be placed over an exposed, powered cable node!") + to_chat(user, span_warning("\The [src] must be placed over an exposed, powered cable node!")) return set_anchored(TRUE) - to_chat(user, "You bolt \the [src] to the floor and attach it to the cable.") + to_chat(user, span_notice("You bolt \the [src] to the floor and attach it to the cable.")) return else if(W.tool_behaviour == TOOL_SCREWDRIVER) user.visible_message( \ "[user] messes with \the [src] for a bit.", \ - "You can't fit the screwdriver into \the [src]'s bolts! Try using a wrench.") + span_notice("You can't fit the screwdriver into \the [src]'s bolts! Try using a wrench.")) else return ..() @@ -124,7 +124,7 @@ /obj/item/sbeacondrop/attack_self(mob/user) if(user) - to_chat(user, "Locked In.") + to_chat(user, span_notice("Locked In.")) new droptype( user.loc ) playsound(src, 'sound/effects/pop.ogg', 100, TRUE, TRUE) qdel(src) diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index e395b53578b..cb7efed5e68 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -114,25 +114,25 @@ if(I.tool_behaviour == TOOL_WRENCH && can_unanchor) if(!anchored) if(!isturf(loc) || isspaceturf(loc)) - to_chat(user, "The bomb must be placed on solid ground to attach it.") + to_chat(user, span_notice("The bomb must be placed on solid ground to attach it.")) else - to_chat(user, "You firmly wrench the bomb to the floor.") + to_chat(user, span_notice("You firmly wrench the bomb to the floor.")) I.play_tool_sound(src) set_anchored(TRUE) if(active) - to_chat(user, "The bolts lock in place.") + to_chat(user, span_notice("The bolts lock in place.")) else if(!active) - to_chat(user, "You wrench the bomb from the floor.") + to_chat(user, span_notice("You wrench the bomb from the floor.")) I.play_tool_sound(src) set_anchored(FALSE) else - to_chat(user, "The bolts are locked down!") + to_chat(user, span_warning("The bolts are locked down!")) else if(I.tool_behaviour == TOOL_SCREWDRIVER) open_panel = !open_panel update_appearance() - to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.") + to_chat(user, span_notice("You [open_panel ? "open" : "close"] the wire panel.")) else if(is_wire_tool(I) && open_panel) wires.interact(user) @@ -140,23 +140,23 @@ else if(I.tool_behaviour == TOOL_CROWBAR) if(open_panel && wires.is_all_cut()) if(payload) - to_chat(user, "You carefully pry out [payload].") + to_chat(user, span_notice("You carefully pry out [payload].")) payload.forceMove(drop_location()) payload = null else - to_chat(user, "There isn't anything in here to remove!") + to_chat(user, span_warning("There isn't anything in here to remove!")) else if (open_panel) - to_chat(user, "The wires connecting the shell to the explosives are holding it down!") + to_chat(user, span_warning("The wires connecting the shell to the explosives are holding it down!")) else - to_chat(user, "The cover is screwed on, it won't pry off!") + to_chat(user, span_warning("The cover is screwed on, it won't pry off!")) else if(istype(I, /obj/item/bombcore)) if(!payload) if(!user.transferItemToLoc(I, src)) return payload = I - to_chat(user, "You place [payload] into [src].") + to_chat(user, span_notice("You place [payload] into [src].")) else - to_chat(user, "[payload] is already loaded into [src]! You'll have to remove it first.") + to_chat(user, span_warning("[payload] is already loaded into [src]! You'll have to remove it first.")) else if(I.tool_behaviour == TOOL_WELDER) if(payload || !wires.is_all_cut() || !open_panel) return @@ -164,16 +164,16 @@ if(!I.tool_start_check(user, amount=5)) //uses up 5 fuel return - to_chat(user, "You start to cut [src] apart...") + to_chat(user, span_notice("You start to cut [src] apart...")) if(I.use_tool(src, user, 20, volume=50, amount=5)) //uses up 5 fuel - to_chat(user, "You cut [src] apart.") + to_chat(user, span_notice("You cut [src] apart.")) new /obj/item/stack/sheet/plasteel( loc, 5) qdel(src) else var/old_integ = obj_integrity . = ..() if((old_integ > obj_integrity) && active && (payload in src)) - to_chat(user, "That seems like a really bad idea...") + to_chat(user, span_warning("That seems like a really bad idea...")) /obj/machinery/syndicatebomb/interact(mob/user) wires.interact(user) @@ -181,7 +181,7 @@ if(!active) settings(user) else if(anchored) - to_chat(user, "The bomb is bolted to the floor!") + to_chat(user, span_warning("The bomb is bolted to the floor!")) /obj/machinery/syndicatebomb/proc/activate() active = TRUE @@ -200,10 +200,10 @@ if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station timer_set = clamp(new_timer, minimum_timer, maximum_timer) - loc.visible_message("[icon2html(src, viewers(src))] timer set for [timer_set] seconds.") + loc.visible_message(span_notice("[icon2html(src, viewers(src))] timer set for [timer_set] seconds.")) if(tgui_alert(user,"Would you like to start the countdown now?",,list("Yes","No")) == "Yes" && in_range(src, user) && isliving(user)) if(!active) - visible_message("[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.") + visible_message(span_danger("[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.")) activate() update_appearance() add_fingerprint(user) @@ -318,7 +318,7 @@ var/obj/machinery/syndicatebomb/holder = loc if(istype(holder)) attempts++ - holder.loc.visible_message("[icon2html(holder, viewers(holder))] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires...") + holder.loc.visible_message(span_danger("[icon2html(holder, viewers(holder))] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires...")) reset() else qdel(src) @@ -328,7 +328,7 @@ if(istype(holder)) attempts++ defusals++ - holder.loc.visible_message("[icon2html(holder, viewers(holder))] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds...") + holder.loc.visible_message(span_notice("[icon2html(holder, viewers(holder))] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds...")) sleep(50) //Just in case someone is trying to remove the bomb core this gives them a little window to crowbar it out if(istype(holder)) reset() @@ -449,9 +449,9 @@ if(!user.transferItemToLoc(I, src)) return beakers += I - to_chat(user, "You load [src] with [I].") + to_chat(user, span_notice("You load [src] with [I].")) else - to_chat(user, "[I] won't fit! \The [src] can only hold up to [max_beakers] containers.") + to_chat(user, span_warning("[I] won't fit! \The [src] can only hold up to [max_beakers] containers.")) return ..() @@ -533,7 +533,7 @@ detonated++ existent++ playsound(user, 'sound/machines/click.ogg', 20, TRUE) - to_chat(user, "[existent] found, [detonated] triggered.") + to_chat(user, span_notice("[existent] found, [detonated] triggered.")) if(detonated) detonated-- log_bomber(user, "remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using a", src) diff --git a/code/game/machinery/teambuilder.dm b/code/game/machinery/teambuilder.dm index 2ce9faed8a1..9fc700b56be 100644 --- a/code/game/machinery/teambuilder.dm +++ b/code/game/machinery/teambuilder.dm @@ -24,7 +24,7 @@ /obj/machinery/teambuilder/examine_more(mob/user) . = ..() - . += "You see a hastily written note on the side, it says '1215-1217, PICK A SIDE'." + . += span_notice("You see a hastily written note on the side, it says '1215-1217, PICK A SIDE'.") /obj/machinery/teambuilder/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index 650aa270b6c..87085b1d8ab 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -174,7 +174,7 @@ if(href_list["delete"]) if(!src.allowed(usr) && !(obj_flags & EMAGGED)) - to_chat(usr, "ACCESS DENIED.") + to_chat(usr, span_danger("ACCESS DENIED.")) return if(SelectedServer) diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index f3adae7bc7d..bee1ec90569 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -43,7 +43,7 @@ /obj/machinery/computer/message_monitor/attackby(obj/item/O, mob/living/user, params) if(O.tool_behaviour == TOOL_SCREWDRIVER && (obj_flags & EMAGGED)) //Stops people from just unscrewing the monitor and putting it back to get the console working again. - to_chat(user, "It is too hot to mess with!") + to_chat(user, span_warning("It is too hot to mess with!")) else return ..() @@ -62,7 +62,7 @@ addtimer(CALLBACK(src, .proc/UnmagConsole), time) message = rebootmsg else - to_chat(user, "A no server error appears on the screen.") + to_chat(user, span_notice("A no server error appears on the screen.")) /obj/machinery/computer/message_monitor/New() ..() @@ -132,9 +132,9 @@ //Bottom message if(!auth) - dat += "

Please authenticate with the server in order to show additional options." + dat += "

[span_notice("Please authenticate with the server in order to show additional options.")]" else - dat += "

Reg, #514 forbids sending messages to a Head of Staff containing Erotic Rendering Properties." + dat += "

[span_warning("Reg, #514 forbids sending messages to a Head of Staff containing Erotic Rendering Properties.")]" //Message Logs if(MSG_MON_SCREEN_LOGS) @@ -243,10 +243,10 @@ /obj/machinery/computer/message_monitor/proc/BruteForce(mob/user) if(isnull(linkedServer)) - to_chat(user, "Could not complete brute-force: Linked Server Disconnected!") + to_chat(user, span_warning("Could not complete brute-force: Linked Server Disconnected!")) else var/currentKey = linkedServer.decryptkey - to_chat(user, "Brute-force completed! The key is '[currentKey]'.") + to_chat(user, span_warning("Brute-force completed! The key is '[currentKey]'.")) hacking = FALSE screen = MSG_MON_SCREEN_MAIN // Return the screen back to normal @@ -293,10 +293,10 @@ if(message_servers.len > 1) linkedServer = input(usr, "Please select a server.", "Select a server.", null) as null|anything in message_servers - message = "NOTICE: Server selected." + message = span_alert("NOTICE: Server selected.") else if(message_servers.len > 0) linkedServer = message_servers[1] - message = "NOTICE: Only Single Server Detected - Server selected." + message = span_notice("NOTICE: Only Single Server Detected - Server selected.") else message = noserver @@ -313,14 +313,14 @@ message = noserver else if(auth) linkedServer.pda_msgs = list() - message = "NOTICE: Logs cleared." + message = span_notice("NOTICE: Logs cleared.") //Clears the request console logs - KEY REQUIRED if (href_list["clear_requests"]) if(LINKED_SERVER_NONRESPONSIVE) message = noserver else if(auth) linkedServer.rc_msgs = list() - message = "NOTICE: Logs cleared." + message = span_notice("NOTICE: Logs cleared.") //Change the password - KEY REQUIRED if (href_list["pass"]) if(LINKED_SERVER_NONRESPONSIVE) @@ -331,12 +331,12 @@ if(linkedServer.decryptkey == dkey) var/newkey = stripped_input(usr,"Please enter the new key (3 - 16 characters max):") if(length(newkey) <= 3) - message = "NOTICE: Decryption key too short!" + message = span_notice("NOTICE: Decryption key too short!") else if(length(newkey) > 16) - message = "NOTICE: Decryption key too long!" + message = span_notice("NOTICE: Decryption key too long!") else if(newkey && newkey != "") linkedServer.decryptkey = newkey - message = "NOTICE: Decryption key set." + message = span_notice("NOTICE: Decryption key set.") else message = incorrectkey @@ -357,7 +357,7 @@ message = noserver else //if(istype(href_list["delete_logs"], /datum/data_pda_msg)) linkedServer.pda_msgs -= locate(href_list["delete_logs"]) in linkedServer.pda_msgs - message = "NOTICE: Log Deleted!" + message = span_notice("NOTICE: Log Deleted!") //Delete the request console log. if (href_list["delete_requests"]) //Are they on the view logs screen? @@ -366,7 +366,7 @@ message = noserver else //if(istype(href_list["delete_logs"], /datum/data_pda_msg)) linkedServer.rc_msgs -= locate(href_list["delete_requests"]) in linkedServer.rc_msgs - message = "NOTICE: Log Deleted!" + message = span_notice("NOTICE: Log Deleted!") //Create a custom message if (href_list["msg"]) if(LINKED_SERVER_NONRESPONSIVE) @@ -412,11 +412,11 @@ customsender = "UNKNOWN" if(isnull(customrecepient)) - message = "NOTICE: No recepient selected!" + message = span_notice("NOTICE: No recepient selected!") return attack_hand(usr) if(isnull(custommessage) || custommessage == "") - message = "NOTICE: No message entered!" + message = span_notice("NOTICE: No message entered!") return attack_hand(usr) var/datum/signal/subspace/messaging/pda/signal = new(src, list( diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 04ed2328bfb..90b353fa3d4 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -99,7 +99,7 @@ if("id") if(params["value"]) if(length(params["value"]) > 32) - to_chat(operator, "Error: Machine ID too long!") + to_chat(operator, span_warning("Error: Machine ID too long!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) return else @@ -109,7 +109,7 @@ if("network") if(params["value"]) if(length(params["value"]) > 15) - to_chat(operator, "Error: Network name too long!") + to_chat(operator, span_warning("Error: Network name too long!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) return else @@ -124,7 +124,7 @@ tempfreq = text2num(params["value"]) * 10 if("freq") if(tempfreq == FREQ_SYNDICATE) - to_chat(operator, "Error: Interference preventing filtering frequency: \"[tempfreq / 10] kHz\"") + to_chat(operator, span_warning("Error: Interference preventing filtering frequency: \"[tempfreq / 10] kHz\"")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) else if(!(tempfreq in freq_listening)) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 502cb341177..6f685b1c6ef 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -28,20 +28,20 @@ if(Adjacent(user)) user.put_in_hands(stored) stored = null - to_chat(user, "You remove the blackbox from [src]. The tapes stop spinning.") + to_chat(user, span_notice("You remove the blackbox from [src]. The tapes stop spinning.")) update_appearance() return else - to_chat(user, "It seems that the blackbox is missing...") + to_chat(user, span_warning("It seems that the blackbox is missing...")) return /obj/machinery/blackbox_recorder/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/blackbox)) if(HAS_TRAIT(I, TRAIT_NODROP) || !user.transferItemToLoc(I, src)) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, span_warning("[I] is stuck to your hand!")) return - user.visible_message("[user] clicks [I] into [src]!", \ - "You press the device into [src], and it clicks into place. The tapes begin spinning again.") + user.visible_message(span_notice("[user] clicks [I] into [src]!"), \ + span_notice("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_appearance() @@ -107,7 +107,7 @@ /obj/machinery/telecomms/message_server/examine(mob/user) . = ..() if(calibrating) - . += "It's still calibrating." + . += span_warning("It's still calibrating.") /obj/machinery/telecomms/message_server/proc/GenerateKey() var/newKey diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index cacb41cd6f2..f3db12d5218 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -35,7 +35,7 @@ /obj/machinery/teleport/hub/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Probability of malfunction decreased by [(accuracy*25)-25]%." + . += span_notice("The status display reads: Probability of malfunction decreased by [(accuracy*25)-25]%.") /obj/machinery/teleport/hub/proc/link_power_station() if(power_station) @@ -49,7 +49,7 @@ /obj/machinery/teleport/hub/Bumped(atom/movable/AM) if(is_centcom_level(z)) - to_chat(AM, "You can't use this here!") + to_chat(AM, span_warning("You can't use this here!")) return if(is_ready()) teleport(AM) @@ -70,7 +70,7 @@ return if (QDELETED(com.target)) com.target = null - visible_message("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.") + visible_message(span_alert("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")) return if (ismovable(M)) if(do_teleport(M, com.target, channel = TELEPORT_CHANNEL_BLUESPACE)) @@ -80,7 +80,7 @@ var/mob/living/carbon/human/human = M if(!(human.mob_biotypes & (MOB_ROBOTIC|MOB_MINERAL|MOB_UNDEAD|MOB_SPIRIT))) if(human.dna && human.dna.species.id != "fly") - to_chat(M, "You hear a buzzing in your ears.") + to_chat(M, span_hear("You hear a buzzing in your ears.")) human.set_species(/datum/species/fly) log_game("[human] ([key_name(human)]) was turned into a fly person") @@ -129,11 +129,11 @@ /obj/machinery/teleport/station/examine(mob/user) . = ..() if(!panel_open) - . += "The panel is screwed in, obstructing the linking device and wiring panel." + . += span_notice("The panel is screwed in, obstructing the linking device and wiring panel.") else - . += "The linking device is now able to be scanned with a multitool." + . += span_notice("The linking device is now able to be scanned with a multitool.") if(in_range(user, src) || isobserver(user)) - . += "The status display reads: This station can be linked to [efficiency] other station(s)." + . += span_notice("The status display reads: This station can be linked to [efficiency] other station(s).") /obj/machinery/teleport/station/proc/link_console_and_hub() for(var/direction in GLOB.cardinals) @@ -166,15 +166,15 @@ var/obj/item/multitool/M = W if(panel_open) M.buffer = src - to_chat(user, "You download the data to the [W.name]'s buffer.") + to_chat(user, span_notice("You download the data to the [W.name]'s buffer.")) else if(M.buffer && istype(M.buffer, /obj/machinery/teleport/station) && M.buffer != src) if(linked_stations.len < efficiency) linked_stations.Add(M.buffer) M.buffer = null - to_chat(user, "You upload the data from the [W.name]'s buffer.") + to_chat(user, span_notice("You upload the data from the [W.name]'s buffer.")) else - to_chat(user, "This station can't hold more information, try to use better parts.") + to_chat(user, span_alert("This station can't hold more information, try to use better parts.")) return else if(default_deconstruction_screwdriver(user, "controller-o", "controller", W)) update_appearance() @@ -193,13 +193,13 @@ return if (teleporter_console.target) if(teleporter_hub.panel_open || teleporter_hub.machine_stat & (BROKEN|NOPOWER)) - to_chat(user, "The teleporter hub isn't responding.") + to_chat(user, span_alert("The teleporter hub isn't responding.")) else engaged = !engaged use_power(5000) - to_chat(user, "Teleporter [engaged ? "" : "dis"]engaged!") + to_chat(user, span_notice("Teleporter [engaged ? "" : "dis"]engaged!")) else - to_chat(user, "No target detected.") + to_chat(user, span_alert("No target detected.")) engaged = FALSE teleporter_hub.update_appearance() add_fingerprint(user) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index cdfa9692ff9..8825ac893a8 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(dye_registry, list( /obj/machinery/washing_machine/examine(mob/user) . = ..() if(!busy) - . += "Right-click with an empty hand to start a wash cycle." + . += span_notice("Right-click with an empty hand to start a wash cycle.") /obj/machinery/washing_machine/process(delta_time) if(!busy) @@ -300,19 +300,19 @@ GLOBAL_LIST_INIT(dye_registry, list( else if(!user.combat_mode) if (!state_open) - to_chat(user, "Open the door first!") + to_chat(user, span_warning("Open the door first!")) return TRUE if(bloody_mess) - to_chat(user, "[src] must be cleaned up first!") + to_chat(user, span_warning("[src] must be cleaned up first!")) return TRUE if(contents.len >= max_wash_capacity) - to_chat(user, "The washing machine is full!") + to_chat(user, span_warning("The washing machine is full!")) return TRUE if(!user.transferItemToLoc(W, src)) - to_chat(user, "\The [W] is stuck to your hand, you cannot put it in the washing machine!") + to_chat(user, span_warning("\The [W] is stuck to your hand, you cannot put it in the washing machine!")) return TRUE if(W.dye_color) color_source = W @@ -326,7 +326,7 @@ GLOBAL_LIST_INIT(dye_registry, list( if(.) return if(busy) - to_chat(user, "[src] is busy!") + to_chat(user, span_warning("[src] is busy!")) return if(user.pulling && isliving(user.pulling)) @@ -349,13 +349,13 @@ GLOBAL_LIST_INIT(dye_registry, list( if(!user.canUseTopic(src, !issilicon(user))) return SECONDARY_ATTACK_CONTINUE_CHAIN if(busy) - to_chat(user, "[src] is busy!") + to_chat(user, span_warning("[src] is busy!")) return SECONDARY_ATTACK_CONTINUE_CHAIN if(state_open) - to_chat(user, "Close the door first!") + to_chat(user, span_warning("Close the door first!")) return SECONDARY_ATTACK_CONTINUE_CHAIN if(bloody_mess) - to_chat(user, "[src] must be cleaned up first!") + to_chat(user, span_warning("[src] must be cleaned up first!")) return SECONDARY_ATTACK_CONTINUE_CHAIN busy = TRUE update_appearance() diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index d4e0b1ed496..9ef7c70a50c 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -15,29 +15,29 @@ if(.) return if(charges <= 0) - to_chat(user, "The Wish Granter lies silent.") + to_chat(user, span_boldnotice("The Wish Granter lies silent.")) return else if(!ishuman(user)) - to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.") + to_chat(user, span_boldnotice("You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.")) return else if(is_special_character(user)) - to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.") + to_chat(user, span_boldnotice("Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.")) else if (!insisting) - to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?") + to_chat(user, span_boldnotice("Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?")) insisting++ else - to_chat(user, "You speak. [pick("I want the station to disappear","Humanity is corrupt, mankind must be destroyed","I want to be rich", "I want to rule the world","I want immortality.")]. The Wish Granter answers.") - to_chat(user, "Your head pounds for a moment, before your vision clears. You are the avatar of the Wish Granter, and your power is LIMITLESS! And it's all yours. You need to make sure no one can take it from you. No one can know, first.") + to_chat(user, span_boldnotice("You speak. [pick("I want the station to disappear","Humanity is corrupt, mankind must be destroyed","I want to be rich", "I want to rule the world","I want immortality.")]. The Wish Granter answers.")) + to_chat(user, span_boldnotice("Your head pounds for a moment, before your vision clears. You are the avatar of the Wish Granter, and your power is LIMITLESS! And it's all yours. You need to make sure no one can take it from you. No one can know, first.")) charges-- insisting = 0 user.mind.add_antag_datum(/datum/antagonist/wishgranter) - to_chat(user, "You have a very bad feeling about this.") + to_chat(user, span_warning("You have a very bad feeling about this.")) return diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 30b0c172782..e28db18d352 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -289,9 +289,9 @@ // If the mob we're attempting to buckle is not stood on this atom's turf and it isn't the user buckling themselves, // we'll try it with a 2 second do_after delay. if(M != user && (get_turf(M) != get_turf(src))) - M.visible_message("[user] starts buckling [M] to [src]!",\ - "[user] starts buckling you to [src]!",\ - "You hear metal clanking.") + M.visible_message(span_warning("[user] starts buckling [M] to [src]!"),\ + span_userdanger("[user] starts buckling you to [src]!"),\ + span_hear("You hear metal clanking.")) if(!do_after(user, 2 SECONDS, M)) return FALSE @@ -303,13 +303,13 @@ . = buckle_mob(M, check_loc = check_loc) if(.) if(M == user) - M.visible_message("[M] buckles [M.p_them()]self to [src].",\ - "You buckle yourself to [src].",\ - "You hear metal clanking.") + M.visible_message(span_notice("[M] buckles [M.p_them()]self to [src]."),\ + span_notice("You buckle yourself to [src]."),\ + span_hear("You hear metal clanking.")) else - M.visible_message("[user] buckles [M] to [src]!",\ - "[user] buckles you to [src]!",\ - "You hear metal clanking.") + M.visible_message(span_warning("[user] buckles [M] to [src]!"),\ + span_warning("[user] buckles you to [src]!"),\ + span_hear("You hear metal clanking.")) /** * Handles a user unbuckling a mob from src and sends a visible_message * @@ -323,13 +323,13 @@ var/mob/living/M = unbuckle_mob(buckled_mob) if(M) if(M != user) - M.visible_message("[user] unbuckles [M] from [src].",\ - "[user] unbuckles you from [src].",\ - "You hear metal clanking.") + M.visible_message(span_notice("[user] unbuckles [M] from [src]."),\ + span_notice("[user] unbuckles you from [src]."),\ + span_hear("You hear metal clanking.")) else - M.visible_message("[M] unbuckles [M.p_them()]self from [src].",\ - "You unbuckle yourself from [src].",\ - "You hear metal clanking.") + M.visible_message(span_notice("[M] unbuckles [M.p_them()]self from [src]."),\ + span_notice("You unbuckle yourself from [src]."),\ + span_hear("You hear metal clanking.")) add_fingerprint(user) if(isliving(M.pulledby)) var/mob/living/L = M.pulledby diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index d659ef0288a..d1b503f46a4 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -91,7 +91,7 @@ /obj/effect/anomaly/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_ANALYZER) - to_chat(user, "Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].") + to_chat(user, span_notice("Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].")) /////////////////////// diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index 91e00128c10..94b3fef0efb 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -103,10 +103,10 @@ if(I.tool_behaviour == TOOL_WIRECUTTER) I.play_tool_sound(src, 100) if(ruined) - to_chat(user, "You remove the remnants of the poster.") + to_chat(user, span_notice("You remove the remnants of the poster.")) qdel(src) else - to_chat(user, "You carefully remove the poster from the wall.") + to_chat(user, span_notice("You carefully remove the poster from the wall.")) roll_and_drop(user.loc) /obj/structure/sign/poster/attack_hand(mob/user, list/modifiers) @@ -115,7 +115,7 @@ return if(ruined) return - visible_message("[user] rips [src] in a single, decisive motion!" ) + visible_message(span_notice("[user] rips [src] in a single, decisive motion!") ) playsound(src.loc, 'sound/items/poster_ripped.ogg', 100, TRUE) var/obj/structure/sign/poster/ripped/R = new(loc) @@ -134,7 +134,7 @@ //separated to reduce code duplication. Moved here for ease of reference and to unclutter r_wall/attackby() /turf/closed/wall/proc/place_poster(obj/item/poster/P, mob/user) if(!P.poster_structure) - to_chat(user, "[P] has no poster... inside it? Inform a coder!") + to_chat(user, span_warning("[P] has no poster... inside it? Inform a coder!")) return // Deny placing posters on currently-diagonal walls, although the wall may change in the future. @@ -147,14 +147,14 @@ var/stuff_on_wall = 0 for(var/obj/O in contents) //Let's see if it already has a poster on it or too much stuff if(istype(O, /obj/structure/sign/poster)) - to_chat(user, "The wall is far too cluttered to place a poster!") + to_chat(user, span_warning("The wall is far too cluttered to place a poster!")) return stuff_on_wall++ if(stuff_on_wall == 3) - to_chat(user, "The wall is far too cluttered to place a poster!") + to_chat(user, span_warning("The wall is far too cluttered to place a poster!")) return - to_chat(user, "You start placing the poster on the wall..." ) + to_chat(user, span_notice("You start placing the poster on the wall...") ) var/obj/structure/sign/poster/D = P.poster_structure @@ -169,10 +169,10 @@ return if(iswallturf(src) && user && user.loc == temp_loc) //Let's check if everything is still there - to_chat(user, "You place the poster!") + to_chat(user, span_notice("You place the poster!")) return - to_chat(user, "The poster falls down!") + to_chat(user, span_notice("The poster falls down!")) D.roll_and_drop(get_turf(user)) // Various possible posters follow diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 978101a721e..82ad80b1531 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -53,12 +53,12 @@ if(src.reagents && W.reagents) . = 1 //so the containers don't splash their content on the src while scooping. if(!src.reagents.total_volume) - to_chat(user, "[src] isn't thick enough to scoop up!") + to_chat(user, span_notice("[src] isn't thick enough to scoop up!")) return if(W.reagents.total_volume >= W.reagents.maximum_volume) - to_chat(user, "[W] is full!") + to_chat(user, span_notice("[W] is full!")) return - to_chat(user, "You scoop up [src] into [W]!") + to_chat(user, span_notice("You scoop up [src] into [W]!")) reagents.trans_to(W, reagents.total_volume, transfered_by = user) if(!reagents.total_volume) //scooped up all of it qdel(src) @@ -69,7 +69,7 @@ else var/hotness = W.get_temperature() reagents.expose_temperature(hotness) - to_chat(user, "You heat [name] with [W]!") + to_chat(user, span_notice("You heat [name] with [W]!")) else return ..() diff --git a/code/game/objects/effects/decals/cleanable/food.dm b/code/game/objects/effects/decals/cleanable/food.dm index 9167a02359a..83c0304a1e4 100644 --- a/code/game/objects/effects/decals/cleanable/food.dm +++ b/code/game/objects/effects/decals/cleanable/food.dm @@ -40,7 +40,7 @@ /obj/effect/decal/cleanable/food/salt/Bumped(atom/movable/AM) . = ..() if(is_species(AM, /datum/species/snail)) - to_chat(AM, "Your path is obstructed by salt.") + to_chat(AM, span_danger("Your path is obstructed by [span_phobia("salt")].")) /obj/effect/decal/cleanable/food/salt/on_entered(datum/source, atom/movable/AM) . = ..() diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 3272e3dd452..bab9e30cd01 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -145,7 +145,7 @@ var/mob/living/carbon/human/H = user if(isflyperson(H)) playsound(get_turf(src), 'sound/items/drink.ogg', 50, TRUE) //slurp - H.visible_message("[H] extends a small proboscis into the vomit pool, sucking it with a slurping sound.") + H.visible_message(span_alert("[H] extends a small proboscis into the vomit pool, sucking it with a slurping sound.")) if(reagents) for(var/datum/reagent/R in reagents.reagent_list) if (istype(R, /datum/reagent/consumable)) diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm index 0e59e9ab9fb..0bfabe79663 100644 --- a/code/game/objects/effects/decals/cleanable/robots.dm +++ b/code/game/objects/effects/decals/cleanable/robots.dm @@ -77,7 +77,7 @@ /obj/effect/decal/cleanable/oil/attackby(obj/item/I, mob/living/user) var/attacked_by_hot_thing = I.get_temperature() if(attacked_by_hot_thing) - visible_message("[user] tries to ignite [src] with [I]!", "You try to ignite [src] with [I].") + visible_message(span_warning("[user] tries to ignite [src] with [I]!"), span_warning("You try to ignite [src] with [I].")) log_combat(user, src, (attacked_by_hot_thing < 480) ? "tried to ignite" : "ignited", I) fire_act(attacked_by_hot_thing) return @@ -86,7 +86,7 @@ /obj/effect/decal/cleanable/oil/fire_act(exposed_temperature, exposed_volume) if(exposed_temperature < 480) return - visible_message("[src] catches fire!") + visible_message(span_danger("[src] catches fire!")) var/turf/T = get_turf(src) qdel(src) new /obj/effect/hotspot(T) diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm index a09d686f510..ccef2c3b38e 100644 --- a/code/game/objects/effects/decals/remains.dm +++ b/code/game/objects/effects/decals/remains.dm @@ -4,7 +4,7 @@ icon = 'icons/effects/blood.dmi' /obj/effect/decal/remains/acid_act() - visible_message("[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!") + visible_message(span_warning("[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!")) playsound(src, 'sound/items/welder.ogg', 150, TRUE) new /obj/effect/decal/cleanable/greenglow(drop_location()) qdel(src) diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 67deeb1ef5f..d9212dfc4f8 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -301,7 +301,7 @@ return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - to_chat(user, "You hit [src] but bounce off it!") + to_chat(user, span_warning("You hit [src] but bounce off it!")) playsound(src.loc, 'sound/weapons/tap.ogg', 100, TRUE) /obj/structure/foamedmetal/iron @@ -338,7 +338,7 @@ if(!U.welded) U.welded = TRUE U.update_appearance() - U.visible_message("[U] sealed shut!") + U.visible_message(span_danger("[U] sealed shut!")) for(var/mob/living/L in O) L.extinguish_mob() for(var/obj/item/Item in O) diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm index bd8816b92da..10dc848279a 100644 --- a/code/game/objects/effects/effect_system/effects_other.dm +++ b/code/game/objects/effects/effect_system/effects_other.dm @@ -102,7 +102,7 @@ /datum/effect_system/reagents_explosion/start() if(explosion_message) - location.visible_message("The solution violently explodes!", \ - "You hear an explosion!") + location.visible_message(span_danger("The solution violently explodes!"), \ + span_hear("You hear an explosion!")) dyn_explosion(location, amount, flash_range = flashing_factor) diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index b356ca612d9..7f07d0bd438 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -186,7 +186,7 @@ if(!isnull(U.welded) && !U.welded) //must be an unwelded vent pump or vent scrubber. U.welded = TRUE U.update_appearance() - U.visible_message("[U] is frozen shut!") + U.visible_message(span_danger("[U] is frozen shut!")) for(var/mob/living/L in T) L.extinguish_mob() for(var/obj/item/Item in T) diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 1f2c60c96cb..8876b070c85 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -233,7 +233,7 @@ take_damage(5, BURN, 0, 0) /obj/structure/glowshroom/acid_act(acidpwr, acid_volume) - visible_message("[src] melts away!") + visible_message(span_danger("[src] melts away!")) var/obj/effect/decal/cleanable/molten_object/I = new (get_turf(src)) I.desc = "Looks like this was \an [src] some time ago." qdel(src) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index d82600e7f14..ccca78e9026 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -30,7 +30,7 @@ /// The effect of the mine /obj/effect/mine/proc/mineEffect(mob/victim) - to_chat(victim, "*click*") + to_chat(victim, span_danger("*click*")) /// If the landmine was previously inactive, this beeps and displays a message marking it active /obj/effect/mine/proc/now_armed() @@ -61,9 +61,9 @@ if(triggered) //too busy detonating to detonate again return if(triggerer) - visible_message("[triggerer] sets off [icon2html(src, viewers(src))] [src]!") + visible_message(span_danger("[triggerer] sets off [icon2html(src, viewers(src))] [src]!")) else - visible_message("[icon2html(src, viewers(src))] [src] detonates!") + visible_message(span_danger("[icon2html(src, viewers(src))] [src] detonates!")) var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(3, 1, src) @@ -103,7 +103,7 @@ /obj/effect/mine/kickmine/mineEffect(mob/victim) if(isliving(victim) && victim.client) - to_chat(victim, "You have been kicked FOR NO REISIN!") + to_chat(victim, span_userdanger("You have been kicked FOR NO REISIN!")) qdel(victim.client) @@ -195,7 +195,7 @@ playsound(src, 'sound/weapons/armbomb.ogg', 70, TRUE) - to_chat(user, "You arm \the [src], causing it to shake! It will deploy in 3 seconds.") + to_chat(user, span_warning("You arm \the [src], causing it to shake! It will deploy in 3 seconds.")) active = TRUE addtimer(CALLBACK(src, .proc/deploy_mine), 3 SECONDS) @@ -204,7 +204,7 @@ do_alert_animation() playsound(loc, 'sound/machines/chime.ogg', 30, FALSE, -3) var/obj/effect/mine/new_mine = new mine_type(get_turf(src)) - visible_message("\The [src] releases a puff of smoke, revealing \a [new_mine]!") + visible_message(span_danger("\The [src] releases a puff of smoke, revealing \a [new_mine]!")) var/obj/effect/particle_effect/smoke/poof = new (get_turf(src)) poof.lifetime = 3 qdel(src) diff --git a/code/game/objects/effects/phased_mob.dm b/code/game/objects/effects/phased_mob.dm index ce221c97d6c..8cdfe932c28 100644 --- a/code/game/objects/effects/phased_mob.dm +++ b/code/game/objects/effects/phased_mob.dm @@ -24,7 +24,7 @@ else //this ONLY happens if someone uses a phasing effect to try to land in a NOTELEPORT zone after it is created, AKA trying to exploit. if(isliving(phasing_in)) var/mob/living/living_cheaterson = phasing_in - to_chat(living_cheaterson, "This area has a heavy universal force occupying it, and you are scattered to the cosmos!") + to_chat(living_cheaterson, span_userdanger("This area has a heavy universal force occupying it, and you are scattered to the cosmos!")) if(ishuman(living_cheaterson)) shake_camera(living_cheaterson, 20, 1) addtimer(CALLBACK(living_cheaterson, /mob/living/carbon.proc/vomit), 2 SECONDS) @@ -55,10 +55,10 @@ var/area/destination_area = newloc.loc movedelay = world.time + movespeed if(newloc.flags_1 & NOJAUNT) - to_chat(user, "Some strange aura is blocking the way.") + to_chat(user, span_warning("Some strange aura is blocking the way.")) return if(destination_area.area_flags & NOTELEPORT) - to_chat(user, "Some dull, universal force is blocking the way. It's overwhelmingly oppressive force feels dangerous.") + to_chat(user, span_danger("Some dull, universal force is blocking the way. It's overwhelmingly oppressive force feels dangerous.")) return return newloc diff --git a/code/game/objects/effects/powerup.dm b/code/game/objects/effects/powerup.dm index 63f3010b249..e9da2872e5b 100644 --- a/code/game/objects/effects/powerup.dm +++ b/code/game/objects/effects/powerup.dm @@ -47,7 +47,7 @@ else qdel(src) if(pickup_message) - to_chat(target, "[pickup_message]") + to_chat(target, span_notice("[pickup_message]")) if(pickup_sound) playsound(get_turf(target), pickup_sound, 50, TRUE, -1) return TRUE diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index f0d5b21ca87..923a1689c64 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -40,7 +40,7 @@ return if(!HAS_TRAIT(user,TRAIT_WEB_WEAVER)) return - user.visible_message("[user] begins weaving [src] into cloth.", "You begin weaving [src] into cloth.") + user.visible_message(span_notice("[user] begins weaving [src] into cloth."), span_notice("You begin weaving [src] into cloth.")) if(!do_after(user, 2 SECONDS)) return qdel(src) @@ -62,7 +62,7 @@ if(istype(mover.pulledby, /mob/living/simple_animal/hostile/giant_spider)) return TRUE if(prob(50)) - to_chat(mover, "You get stuck in \the [src] for a moment.") + to_chat(mover, span_danger("You get stuck in \the [src] for a moment.")) return FALSE else if(istype(mover, /obj/projectile)) return prob(30) @@ -83,7 +83,7 @@ if(mover.pulledby == allowed_mob) return TRUE if(prob(50)) - to_chat(mover, "You get stuck in \the [src] for a moment.") + to_chat(mover, span_danger("You get stuck in \the [src] for a moment.")) return FALSE else if(istype(mover, /obj/projectile)) return prob(30) @@ -149,7 +149,7 @@ var/datum/radial_menu_choice/option = new option.image = image(icon = initial(spider.icon), icon_state = initial(spider.icon_state)) - option.info = "[initial(spider.menu_description)]" + option.info = span_boldnotice("[initial(spider.menu_description)]") display_spiders[initial(spider.name)] = option @@ -248,7 +248,7 @@ return if(prob(50)) - audible_message("You hear something scampering through the ventilation ducts.") + audible_message(span_hear("You hear something scampering through the ventilation ducts.")) addtimer(CALLBACK(src, .proc/finish_vent_move, exit_vent), travel_time) @@ -276,7 +276,7 @@ var/obj/machinery/atmospherics/components/unary/vent_pump/exit_vent = pick(vents) if(prob(50)) visible_message("[src] scrambles into the ventilation ducts!", \ - "You hear something scampering through the ventilation ducts.") + span_hear("You hear something scampering through the ventilation ducts.")) addtimer(CALLBACK(src, .proc/vent_move, exit_vent), rand(20,60)) @@ -288,7 +288,7 @@ var/target_atom = pick(nearby) walk_to(src, target_atom) if(prob(40)) - src.visible_message("\The [src] skitters[pick(" away"," around","")].") + src.visible_message(span_notice("\The [src] skitters[pick(" away"," around","")].")) else if(prob(10)) //ventcrawl! for(var/obj/machinery/atmospherics/components/unary/vent_pump/v in view(7,src)) @@ -323,8 +323,8 @@ var/breakout_time = 600 user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - to_chat(user, "You struggle against the tight bonds... (This will take about [DisplayTimeText(breakout_time)].)") - visible_message("You see something struggling and writhing in \the [src]!") + to_chat(user, span_notice("You struggle against the tight bonds... (This will take about [DisplayTimeText(breakout_time)].)")) + visible_message(span_notice("You see something struggling and writhing in \the [src]!")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src) return @@ -332,7 +332,7 @@ /obj/structure/spider/cocoon/Destroy() var/turf/T = get_turf(src) - src.visible_message("\The [src] splits open.") + src.visible_message(span_warning("\The [src] splits open.")) for(var/atom/movable/A in contents) A.forceMove(T) return ..() diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 6fae4cd7c75..5fb7edc5765 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -43,7 +43,7 @@ /obj/effect/step_trigger/message/Trigger(mob/M) if(M.client) - to_chat(M, "[message]") + to_chat(M, span_info("[message]")) if(once) qdel(src) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 72811e66e5f..d1cc20ab61a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -425,12 +425,12 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e var/announce = FALSE //Apply fantasy with affix. failing this should never happen, but if it does it should not be silent. if(AddComponent(/datum/component/fantasy, fantasy_quality, list(affix), canFail, announce) == COMPONENT_INCOMPATIBLE) - to_chat(usr, "Fantasy component not compatible with [src].") + to_chat(usr, span_warning("Fantasy component not compatible with [src].")) CRASH("fantasy component incompatible with object of type: [type]") - to_chat(usr, "[before_name] now has [picked_affix_name]!") + to_chat(usr, span_notice("[before_name] now has [picked_affix_name]!")) log_admin("[key_name(usr)] has added [picked_affix_name] fantasy affix to [before_name]") - message_admins("[key_name(usr)] has added [picked_affix_name] fantasy affix to [before_name]") + message_admins(span_notice("[key_name(usr)] has added [picked_affix_name] fantasy affix to [before_name]")) /obj/item/attack_hand(mob/user, list/modifiers) . = ..() @@ -455,9 +455,9 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e if(can_handle_hot) extinguish() - to_chat(user, "You put out the fire on [src].") + to_chat(user, span_notice("You put out the fire on [src].")) else - to_chat(user, "You burn your hand on [src]!") + to_chat(user, span_warning("You burn your hand on [src]!")) var/obj/item/bodypart/affecting = C.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") if(affecting?.receive_damage( 0, 5 )) // 5 burn damage C.update_damage_overlays() @@ -470,7 +470,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e var/grav = user.has_gravity() if(grav > STANDARD_GRAVITY) var/grav_power = min(3,grav - STANDARD_GRAVITY) - to_chat(user,"You start picking up [src]...") + to_chat(user,span_notice("You start picking up [src]...")) if(!do_mob(user,src,30*grav_power)) return @@ -521,7 +521,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e if(!user.can_hold_items(src)) if(src in ayy.contents) // To stop Aliens having items stuck in their pockets ayy.dropItemToGround(src) - to_chat(user, "Your claws aren't capable of such fine manipulation!") + to_chat(user, span_warning("Your claws aren't capable of such fine manipulation!")) return attack_paw(ayy, modifiers) @@ -545,7 +545,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e return TRUE if(prob(final_block_chance)) - owner.visible_message("[owner] blocks [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] blocks [attack_text] with [src]!")) return TRUE /obj/item/proc/talk_into(mob/M, input, channel, spans, datum/language/language, list/message_mods) @@ -782,7 +782,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e /obj/item/proc/ignition_effect(atom/A, mob/user) if(get_temperature()) - . = "[user] lights [A] with [src]." + . = span_notice("[user] lights [A] with [src].") else . = "" @@ -1037,7 +1037,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e return user.dropItemToGround(src, silent = TRUE) if(throwforce && HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You set [src] down gently on the ground.") + to_chat(user, span_notice("You set [src] down gently on the ground.")) return return src @@ -1110,8 +1110,8 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e /obj/item/proc/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE) if(get_sharpness() && force >= 5) //if we've got something sharp with a decent force (ie, not plastic) INVOKE_ASYNC(victim, /mob.proc/emote, "scream") - victim.visible_message("[victim] looks like [victim.p_theyve()] just bit something they shouldn't have!", \ - "OH GOD! Was that a crunch? That didn't feel good at all!!") + victim.visible_message(span_warning("[victim] looks like [victim.p_theyve()] just bit something they shouldn't have!"), \ + span_boldwarning("OH GOD! Was that a crunch? That didn't feel good at all!!")) victim.apply_damage(max(15, force), BRUTE, BODY_ZONE_HEAD, wound_bonus = 10, sharpness = TRUE) victim.losebreath += 2 @@ -1154,8 +1154,8 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e discover_after = FALSE victim.adjust_disgust(33) - victim.visible_message("[victim] looks like [victim.p_theyve()] just bitten into something hard.", \ - "Eugh! Did I just bite into something?") + victim.visible_message(span_warning("[victim] looks like [victim.p_theyve()] just bitten into something hard."), \ + span_warning("Eugh! Did I just bite into something?")) else if(w_class == WEIGHT_CLASS_TINY) //small items like soap or toys that don't have mat datums /// victim's chest (for cavity implanting the item) @@ -1163,16 +1163,16 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e if(victim_cavity.cavity_item) victim.vomit(5, FALSE, FALSE, distance = 0) forceMove(drop_location()) - to_chat(victim, "You vomit up a [name]! [source_item? "Was that in \the [source_item]?" : ""]") + to_chat(victim, span_warning("You vomit up a [name]! [source_item? "Was that in \the [source_item]?" : ""]")) else victim.transferItemToLoc(src, victim, TRUE) victim.losebreath += 2 victim_cavity.cavity_item = src - to_chat(victim, "You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]") + to_chat(victim, span_warning("You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]")) discover_after = FALSE else - to_chat(victim, "[source_item? "Something strange was in the \the [source_item]..." : "I just bit something strange..."] ") + to_chat(victim, span_warning("[source_item? "Something strange was in the \the [source_item]..." : "I just bit something strange..."] ")) return discover_after diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index aa2c02e02b0..e1dcf921556 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -42,7 +42,7 @@ AI MODULES //The proc other things should be calling /obj/item/ai_module/proc/install(datum/ai_laws/law_datum, mob/user) if(!bypass_law_amt_check && (!laws.len || laws[1] == "")) //So we don't loop trough an empty list and end up with runtimes. - to_chat(user, "ERROR: No laws found on board.") + to_chat(user, span_warning("ERROR: No laws found on board.")) return var/overflow = FALSE @@ -54,16 +54,16 @@ AI MODULES if(mylaw != "") tot_laws++ if(tot_laws > CONFIG_GET(number/silicon_max_law_amount) && !bypass_law_amt_check)//allows certain boards to avoid this check, eg: reset - to_chat(user, "Not enough memory allocated to [law_datum.owner ? law_datum.owner : "the AI core"]'s law processor to handle this amount of laws.") + to_chat(user, span_alert("Not enough memory allocated to [law_datum.owner ? law_datum.owner : "the AI core"]'s law processor to handle this amount of laws.")) message_admins("[ADMIN_LOOKUPFLW(user)] tried to upload laws to [law_datum.owner ? ADMIN_LOOKUPFLW(law_datum.owner) : "an AI core"] that would exceed the law cap.") overflow = TRUE var/law2log = transmitInstructions(law_datum, user, overflow) //Freeforms return something extra we need to log if(law_datum.owner) - to_chat(user, "Upload complete. [law_datum.owner]'s laws have been modified.") + to_chat(user, span_notice("Upload complete. [law_datum.owner]'s laws have been modified.")) law_datum.owner.law_change_counter++ else - to_chat(user, "Upload complete.") + to_chat(user, span_notice("Upload complete.")) var/time = time2text(world.realtime,"hh:mm:ss") var/ainame = law_datum.owner ? law_datum.owner.name : "empty AI core" @@ -72,12 +72,12 @@ AI MODULES log_law("[user.key]/[user.name] used [src.name] on [aikey]/([ainame]) from [AREACOORD(user)].[law2log ? " The law specified [law2log]" : ""]") message_admins("[ADMIN_LOOKUPFLW(user)] used [src.name] on [ADMIN_LOOKUPFLW(law_datum.owner)] from [AREACOORD(user)].[law2log ? " The law specified [law2log]" : ""]") if(law_datum.owner) - deadchat_broadcast(" changed [ainame]'s laws at [get_area_name(user, TRUE)].", "[user]", follow_target=user, message_type=DEADCHAT_LAWCHANGE) + deadchat_broadcast(" changed [span_name("[ainame]")]'s laws at [get_area_name(user, TRUE)].", span_name("[user]"), follow_target=user, message_type=DEADCHAT_LAWCHANGE) //The proc that actually changes the silicon's laws. /obj/item/ai_module/proc/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow = FALSE) if(law_datum.owner) - to_chat(law_datum.owner, "[sender] has uploaded a change to the laws you must follow using a [name].") + to_chat(law_datum.owner, span_userdanger("[sender] has uploaded a change to the laws you must follow using a [name].")) /******************** Modules ********************/ @@ -163,7 +163,7 @@ AI MODULES /obj/item/ai_module/supplied/safeguard/install(datum/ai_laws/law_datum, mob/user) if(!targetName) - to_chat(user, "No name detected on module, please enter one.") + to_chat(user, span_alert("No name detected on module, please enter one.")) return 0 ..() @@ -189,7 +189,7 @@ AI MODULES /obj/item/ai_module/zeroth/onehuman/install(datum/ai_laws/law_datum, mob/user) if(!targetName) - to_chat(user, "No name detected on module, please enter one.") + to_chat(user, span_alert("No name detected on module, please enter one.")) return 0 ..() @@ -244,7 +244,7 @@ AI MODULES if(!targName) return if(CHAT_FILTER_CHECK(targName)) - to_chat(user, "Error: Law contains invalid text.") // AI LAW 2 SAY U W U WITHOUT THE SPACES + to_chat(user, span_warning("Error: Law contains invalid text.")) // AI LAW 2 SAY U W U WITHOUT THE SPACES return laws[1] = targName ..() @@ -255,7 +255,7 @@ AI MODULES /obj/item/ai_module/supplied/freeform/install(datum/ai_laws/law_datum, mob/user) if(laws[1] == "") - to_chat(user, "No law detected on module, please create one.") + to_chat(user, span_alert("No law detected on module, please create one.")) return 0 ..() @@ -273,15 +273,15 @@ AI MODULES if(lawpos == null) return if(lawpos <= 0) - to_chat(user, "Error: The law number of [lawpos] is invalid.") + to_chat(user, span_warning("Error: The law number of [lawpos] is invalid.")) lawpos = 1 return - to_chat(user, "Law [lawpos] selected.") + to_chat(user, span_notice("Law [lawpos] selected.")) ..() /obj/item/ai_module/remove/install(datum/ai_laws/law_datum, mob/user) if(lawpos > (law_datum.get_law_amount(list(LAW_INHERENT = 1, LAW_SUPPLIED = 1)))) - to_chat(user, "There is no law [lawpos] to delete!") + to_chat(user, span_warning("There is no law [lawpos] to delete!")) return ..() @@ -451,7 +451,7 @@ AI MODULES if(!targName) return if(CHAT_FILTER_CHECK(targName)) - to_chat(user, "Error: Law contains invalid text.") + to_chat(user, span_warning("Error: Law contains invalid text.")) return laws[1] = targName ..() @@ -473,7 +473,7 @@ AI MODULES if(!targName) return if(CHAT_FILTER_CHECK(targName)) // not even the syndicate can uwu - to_chat(user, "Error: Law contains invalid text.") + to_chat(user, span_warning("Error: Law contains invalid text.")) return laws[1] = targName ..() @@ -481,7 +481,7 @@ AI MODULES /obj/item/ai_module/syndicate/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) // ..() //We don't want this module reporting to the AI who dun it. --NEO if(law_datum.owner) - to_chat(law_datum.owner, "BZZZZT") + to_chat(law_datum.owner, span_warning("BZZZZT")) if(!overflow) law_datum.owner.add_hacked_law(laws[1]) else @@ -505,7 +505,7 @@ AI MODULES /obj/item/ai_module/toy_ai/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) //..() if(law_datum.owner) - to_chat(law_datum.owner, "BZZZZT") + to_chat(law_datum.owner, span_warning("BZZZZT")) if(!overflow) law_datum.owner.add_ion_law(laws[1]) else @@ -519,9 +519,9 @@ AI MODULES /obj/item/ai_module/toy_ai/attack_self(mob/user) laws[1] = generate_ion_law() - to_chat(user, "You press the button on [src].") + to_chat(user, span_notice("You press the button on [src].")) playsound(user, 'sound/machines/click.ogg', 20, TRUE) - src.loc.visible_message("[icon2html(src, viewers(loc))] [laws[1]]") + src.loc.visible_message(span_warning("[icon2html(src, viewers(loc))] [laws[1]]")) /******************** Mother Drone ******************/ diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index b6af7482710..9f0693df664 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -79,10 +79,10 @@ RLD /// Installs an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade /obj/item/construction/proc/install_upgrade(obj/item/rcd_upgrade/rcd_up, mob/user) if(rcd_up.upgrade & upgrade) - to_chat(user, "[src] has already installed this upgrade!") + to_chat(user, span_warning("[src] has already installed this upgrade!")) return if(rcd_up.upgrade & banned_upgrades) - to_chat(user, "[src] can't install this upgrade!") + to_chat(user, span_warning("[src] can't install this upgrade!")) return upgrade |= rcd_up.upgrade if((rcd_up.upgrade & RCD_UPGRADE_SILO_LINK) && !silo_mats) @@ -99,7 +99,7 @@ RLD var/obj/item/rcd_ammo/R = O var/load = min(R.ammoamt, max_matter - matter) if(load <= 0) - to_chat(user, "[src] can't hold any more matter-units!") + to_chat(user, span_warning("[src] can't hold any more matter-units!")) return FALSE R.ammoamt -= load if(R.ammoamt <= 0) @@ -110,14 +110,14 @@ RLD else if(istype(O, /obj/item/stack)) loaded = loadwithsheets(O, user) if(loaded) - to_chat(user, "[src] now holds [matter]/[max_matter] matter-units.") + to_chat(user, span_notice("[src] now holds [matter]/[max_matter] matter-units.")) update_appearance() //ensures that ammo counters (if present) get updated return loaded /obj/item/construction/proc/loadwithsheets(obj/item/stack/S, mob/user) var/value = S.matter_amount if(value <= 0) - to_chat(user, "You can't insert [S.name] into [src]!") + to_chat(user, span_notice("You can't insert [S.name] into [src]!")) return FALSE var/maxsheets = round((max_matter-matter)/value) //calculate the max number of sheets that will fit in RCD if(maxsheets > 0) @@ -125,9 +125,9 @@ RLD S.use(amount_to_use) matter += value*amount_to_use playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) - to_chat(user, "You insert [amount_to_use] [S.name] sheets into [src]. ") + to_chat(user, span_notice("You insert [amount_to_use] [S.name] sheets into [src]. ")) return TRUE - to_chat(user, "You can't insert any more [S.name] sheets into [src]!") + to_chat(user, span_warning("You can't insert any more [S.name] sheets into [src]!")) return FALSE /obj/item/construction/proc/activate() @@ -150,10 +150,10 @@ RLD else if(silo_mats.on_hold()) if(user) - to_chat(user, "Mineral access is on hold, please contact the quartermaster.") + to_chat(user, span_alert("Mineral access is on hold, please contact the quartermaster.")) return FALSE if(!silo_mats.mat_container) - to_chat(user, "No silo link detected. Connect to silo via multitool.") + to_chat(user, span_alert("No silo link detected. Connect to silo via multitool.")) return FALSE if(!silo_mats.mat_container.has_materials(list(/datum/material/iron = 500), amount)) if(user) @@ -169,14 +169,14 @@ RLD /obj/item/construction/proc/checkResource(amount, mob/user) if(!silo_mats || !silo_mats.mat_container) if(silo_link) - to_chat(user, "Connected silo link is invalid. Reconnect to silo via multitool.") + to_chat(user, span_alert("Connected silo link is invalid. Reconnect to silo via multitool.")) return FALSE else . = matter >= amount else if(silo_mats.on_hold()) if(user) - to_chat(user, "Mineral access is on hold, please contact the quartermaster.") + to_chat(user, span_alert("Mineral access is on hold, please contact the quartermaster.")) return FALSE . = silo_mats.mat_container.has_materials(list(/datum/material/iron = 500), amount) if(!. && user) @@ -187,7 +187,7 @@ RLD /obj/item/construction/proc/range_check(atom/A, mob/user) if(!(A in view(7, get_turf(user)))) - to_chat(user, "The \'Out of Range\' light on [src] blinks red.") + to_chat(user, span_warning("The \'Out of Range\' light on [src] blinks red.")) return FALSE else return TRUE @@ -272,7 +272,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) /obj/item/construction/rcd/ui_action_click(mob/user, actiontype) if (!COOLDOWN_FINISHED(src, destructive_scan_cooldown)) - to_chat(user, "[src] lets out a low buzz.") + to_chat(user, span_warning("[src] lets out a low buzz.")) return COOLDOWN_START(src, destructive_scan_cooldown, RCD_DESTRUCTIVE_SCAN_COOLDOWN) @@ -329,11 +329,11 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) var/turf/T = get_turf(user) if(!isopenturf(T)) // Oh fuck - user.visible_message("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS mode = RCD_FLOORWALL - user.visible_message("[user] sets the RCD to 'Wall' and points it down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] sets the RCD to 'Wall' and points it down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide!")) if(checkResource(16, user)) // It takes 16 resources to construct a wall var/success = T.rcd_act(user, src, RCD_FLOORWALL) T = get_turf(user) @@ -347,7 +347,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) user.gib() return MANUAL_SUICIDE - user.visible_message("[user] pulls the trigger... But there is not enough ammo!") + user.visible_message(span_suicide("[user] pulls the trigger... But there is not enough ammo!")) return SHAME /obj/item/construction/rcd/verb/toggle_window_glass_verb() @@ -399,17 +399,17 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) else window_type = /obj/structure/window/fulltile - to_chat(user, "You change \the [src]'s window mode to [window_size] [window_glass] window.") + to_chat(user, span_notice("You change \the [src]'s window mode to [window_size] [window_glass] window.")) /obj/item/construction/rcd/proc/toggle_silo_link(mob/user) if(silo_mats) if(!silo_mats.mat_container && !silo_link) // Allow them to turn off an invalid link - to_chat(user, "No silo link detected. Connect to silo via multitool.") + to_chat(user, span_alert("No silo link detected. Connect to silo via multitool.")) return FALSE silo_link = !silo_link - to_chat(user, "You change \the [src]'s storage link state: [silo_link ? "ON" : "OFF"].") + to_chat(user, span_notice("You change \the [src]'s storage link state: [silo_link ? "ON" : "OFF"].")) else - to_chat(user, "\the [src] doesn't have remote storage connection.") + to_chat(user, span_warning("\the [src] doesn't have remote storage connection.")) /obj/item/construction/rcd/proc/get_airlock_image(airlock_type) var/obj/machinery/door/airlock/proto = airlock_type @@ -729,7 +729,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) else return playsound(src, 'sound/effects/pop.ogg', 50, FALSE) - to_chat(user, "You change RCD's mode to '[choice]'.") + to_chat(user, span_notice("You change RCD's mode to '[choice]'.")) /obj/item/construction/rcd/proc/target_check(atom/A, mob/user) // only returns true for stuff the device can actually work with if((isturf(A) && A.density && mode==RCD_DECONSTRUCT) || (isturf(A) && !A.density) || (istype(A, /obj/machinery/door/airlock) && mode==RCD_DECONSTRUCT) || istype(A, /obj/structure/grille) || (istype(A, /obj/structure/window) && mode==RCD_DECONSTRUCT) || istype(A, /obj/structure/girder)) @@ -926,13 +926,13 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) switch(mode) if(REMOVE_MODE) mode = LIGHT_MODE - to_chat(user, "You change RLD's mode to 'Permanent Light Construction'.") + to_chat(user, span_notice("You change RLD's mode to 'Permanent Light Construction'.")) if(LIGHT_MODE) mode = GLOW_MODE - to_chat(user, "You change RLD's mode to 'Light Launcher'.") + to_chat(user, span_notice("You change RLD's mode to 'Light Launcher'.")) if(GLOW_MODE) mode = REMOVE_MODE - to_chat(user, "You change RLD's mode to 'Deconstruct'.") + to_chat(user, span_notice("You change RLD's mode to 'Deconstruct'.")) /obj/item/construction/rld/proc/checkdupes(target) @@ -952,7 +952,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) if(REMOVE_MODE) if(istype(A, /obj/machinery/light/)) if(checkResource(deconcost, user)) - to_chat(user, "You start deconstructing [A]...") + to_chat(user, span_notice("You start deconstructing [A]...")) user.Beam(A,icon_state="light_beam", time = 15) playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) if(do_after(user, decondelay, target = A)) @@ -966,7 +966,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) if(iswallturf(A)) var/turf/closed/wall/W = A if(checkResource(floorcost, user)) - to_chat(user, "You start building a wall light...") + to_chat(user, span_notice("You start building a wall light...")) user.Beam(A,icon_state="light_beam", time = 15) playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) playsound(src.loc, 'sound/effects/light_flicker.ogg', 50, FALSE) @@ -982,7 +982,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) if((isspaceturf(C) || TURF_SHARES(C)) && !dupes.len) candidates += C if(!candidates.len) - to_chat(user, "Valid target not found...") + to_chat(user, span_warning("Valid target not found...")) playsound(src.loc, 'sound/misc/compiler-failure.ogg', 30, TRUE) return FALSE for(var/turf/open/O in candidates) @@ -1012,7 +1012,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) if(isfloorturf(A)) var/turf/open/floor/F = A if(checkResource(floorcost, user)) - to_chat(user, "You start building a floor light...") + to_chat(user, span_notice("You start building a floor light...")) user.Beam(A,icon_state="light_beam", time = 15) playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) playsound(src.loc, 'sound/effects/light_flicker.ogg', 50, TRUE) @@ -1032,7 +1032,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) if(GLOW_MODE) if(useResource(launchcost, user)) activate() - to_chat(user, "You fire a glowstick!") + to_chat(user, span_notice("You fire a glowstick!")) var/obj/item/flashlight/glowstick/G = new /obj/item/flashlight/glowstick(start) G.color = color_choice G.set_light_color(G.color) @@ -1103,7 +1103,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) blueprint = name_to_type[choice] playsound(src, 'sound/effects/pop.ogg', 50, FALSE) - to_chat(user, "You change [name]s blueprint to '[choice]'.") + to_chat(user, span_notice("You change [name]s blueprint to '[choice]'.")) ///Set the list of designs this plumbing rcd can make /obj/item/construction/plumbing/proc/set_plumbing_designs() @@ -1159,7 +1159,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) if(istype(A, /obj/machinery/plumbing)) var/obj/machinery/plumbing/P = A if(P.anchored) - to_chat(user, "The [P.name] needs to be unanchored!") + to_chat(user, span_warning("The [P.name] needs to be unanchored!")) return if(do_after(user, 20, target = P)) P.deconstruct() //Let's not substract matter @@ -1179,7 +1179,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) //We want the key (the define), not the index (the string) current_layer = layers[current_loc] - to_chat(user, "You switch [src] to [current_layer].") + to_chat(user, span_notice("You switch [src] to [current_layer].")) /obj/item/construction/plumbing/research name = "research plumbing constructor" diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index 5464c6d1d69..6c2d4f29499 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -51,7 +51,7 @@ if(!loaded) if(!user.transferItemToLoc(W, src)) - to_chat(user, "[src] is stuck to your hand!") + to_chat(user, span_warning("[src] is stuck to your hand!")) return else loaded = W //W.loc is src at this point. @@ -65,12 +65,12 @@ else return update_appearance() - to_chat(user, "You add the pipe cleaners to [src]. It now contains [loaded.amount].") + to_chat(user, span_notice("You add the pipe cleaners to [src]. It now contains [loaded.amount].")) else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(!loaded) return if(ghetto && prob(10)) //Is it a ghetto RCL? If so, give it a 10% chance to fall apart - to_chat(user, "You attempt to loosen the securing screws on the side, but it falls apart!") + to_chat(user, span_warning("You attempt to loosen the securing screws on the side, but it falls apart!")) while(loaded.amount > 30) //There are only two kinds of situations: "nodiff" (60,90), or "diff" (31-59, 61-89) var/diff = loaded.amount % 30 if(diff) @@ -82,7 +82,7 @@ qdel(src) return - to_chat(user, "You loosen the securing screws on the side, allowing you to lower the guiding edge and retrieve the wires.") + to_chat(user, span_notice("You loosen the securing screws on the side, allowing you to lower the guiding edge and retrieve the wires.")) while(loaded.amount > 30) //There are only two kinds of situations: "nodiff" (60,90), or "diff" (31-59, 61-89) var/diff = loaded.amount % 30 if(diff) @@ -103,7 +103,7 @@ /obj/item/rcl/examine(mob/user) . = ..() if(loaded) - . += "It contains [loaded.amount]/[max_amount] pipe cleaners." + . += span_info("It contains [loaded.amount]/[max_amount] pipe cleaners.") /obj/item/rcl/Destroy() QDEL_NULL(loaded) @@ -136,7 +136,7 @@ update_appearance() if(!loaded || !loaded.amount) if(loud) - to_chat(user, "The last of the pipe cleaners unreel from [src].") + to_chat(user, span_notice("The last of the pipe cleaners unreel from [src].")) if(loaded) QDEL_NULL(loaded) loaded = null @@ -188,11 +188,11 @@ if(!isturf(user.loc)) return if(is_empty(user, 0)) - to_chat(user, "\The [src] is empty!") + to_chat(user, span_warning("\The [src] is empty!")) return if(prob(2) && ghetto) //Give ghetto RCLs a 2% chance to jam, requiring it to be reactviated manually. - to_chat(user, "[src]'s wires jam!") + to_chat(user, span_warning("[src]'s wires jam!")) active = FALSE return else @@ -278,7 +278,7 @@ if(!isturf(user.loc)) return if(is_empty(user, 0)) - to_chat(user, "\The [src] is empty!") + to_chat(user, span_warning("\The [src] is empty!")) return var/turf/T = get_turf(user) diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index f0bc11d2a92..1ab4b6d2471 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -287,7 +287,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( if(target.pipe_color && target.piping_layer) paint_color = GLOB.pipe_color_name[target.pipe_color] piping_layer = target.piping_layer - to_chat(user, "You change [src] to [paint_color] color and layer [piping_layer] pipes.") + to_chat(user, span_notice("You change [src] to [paint_color] color and layer [piping_layer] pipes.")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /obj/item/pipe_dispenser/attackby(obj/item/W, mob/user, params) @@ -306,14 +306,14 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( */ /obj/item/pipe_dispenser/proc/install_upgrade(obj/item/rpd_upgrade/rpd_up, mob/user) if(rpd_up.upgrade_flags& upgrade_flags) - to_chat(user, "[src] has already installed this upgrade!") + to_chat(user, span_warning("[src] has already installed this upgrade!")) return upgrade_flags |= rpd_up.upgrade_flags playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) qdel(rpd_up) /obj/item/pipe_dispenser/suicide_act(mob/user) - user.visible_message("[user] points the end of the RPD down [user.p_their()] throat and presses a button! It looks like [user.p_theyre()] trying to commit suicide...") + user.visible_message(span_suicide("[user] points the end of the RPD down [user.p_their()] throat and presses a button! It looks like [user.p_theyre()] trying to commit suicide...")) playsound(get_turf(user), 'sound/machines/click.ogg', 50, TRUE) playsound(get_turf(user), 'sound/items/deconstruct.ogg', 50, TRUE) return(BRUTELOSS) @@ -448,7 +448,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( . = TRUE if((mode & DESTROY_MODE) && istype(attack_target, /obj/item/pipe) || istype(attack_target, /obj/structure/disposalconstruct) || istype(attack_target, /obj/structure/c_transit_tube) || istype(attack_target, /obj/structure/c_transit_tube_pod) || istype(attack_target, /obj/item/pipe_meter) || istype(attack_target, /obj/structure/disposalpipe/broken)) - to_chat(user, "You start destroying a pipe...") + to_chat(user, span_notice("You start destroying a pipe...")) playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) if(do_after(user, destroy_speed, target = attack_target)) activate() @@ -462,7 +462,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( return ..() playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) if (recipe.type == /datum/pipe_info/meter) - to_chat(user, "You start building a meter...") + to_chat(user, span_notice("You start building a meter...")) if(do_after(user, atmos_build_speed, target = attack_target)) activate() var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(get_turf(attack_target)) @@ -471,12 +471,12 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( PM.wrench_act(user, src) else if(recipe.all_layers == FALSE && (piping_layer == 1 || piping_layer == 5)) - to_chat(user, "You can't build this object on the layer...") + to_chat(user, span_notice("You can't build this object on the layer...")) return ..() - to_chat(user, "You start building a pipe...") + to_chat(user, span_notice("You start building a pipe...")) if(do_after(user, atmos_build_speed, target = attack_target)) if(recipe.all_layers == FALSE && (piping_layer == 1 || piping_layer == 5))//double check to stop cheaters (and to not waste time waiting for something that can't be placed) - to_chat(user, "You can't build this object on the layer...") + to_chat(user, span_notice("You can't build this object on the layer...")) return ..() activate() var/obj/machinery/atmospherics/path = queued_p_type @@ -506,15 +506,15 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( return ..() attack_target = get_turf(attack_target) if(isclosedturf(attack_target)) - to_chat(user, "[src]'s error light flickers; there's something in the way!") + to_chat(user, span_warning("[src]'s error light flickers; there's something in the way!")) return - to_chat(user, "You start building a disposals pipe...") + to_chat(user, span_notice("You start building a disposals pipe...")) playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) if(do_after(user, disposal_build_speed, target = attack_target)) var/obj/structure/disposalconstruct/C = new (attack_target, queued_p_type, queued_p_dir, queued_p_flipped) if(!C.can_place()) - to_chat(user, "There's not enough room to build that here!") + to_chat(user, span_warning("There's not enough room to build that here!")) qdel(C) return @@ -531,9 +531,9 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( return ..() attack_target = get_turf(attack_target) if(isclosedturf(attack_target)) - to_chat(user, "[src]'s error light flickers; there's something in the way!") + to_chat(user, span_warning("[src]'s error light flickers; there's something in the way!")) return - to_chat(user, "You start building a transit tube...") + to_chat(user, span_notice("You start building a transit tube...")) playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) if(do_after(user, transit_build_speed, target = attack_target)) activate() @@ -573,7 +573,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( else return SStgui.update_uis(src) - to_chat(source, "You set the layer to [piping_layer].") + to_chat(source, span_notice("You set the layer to [piping_layer].")) #undef ATMOS_CATEGORY #undef DISPOSALS_CATEGORY diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index 64df6ca2177..4bfebaacc7c 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -57,7 +57,7 @@ RSF /obj/item/rsf/examine(mob/user) . = ..() - . += "It currently holds [matter]/[max_matter] [discriptor]." + . += span_notice("It currently holds [matter]/[max_matter] [discriptor].") /obj/item/rsf/cyborg matter = 30 @@ -66,7 +66,7 @@ RSF if(is_type_in_list(W,matter_by_item))//If the thing we got hit by is in our matter list var/tempMatter = matter_by_item[W.type] + matter if(tempMatter > max_matter) - to_chat(user, "\The [src] can't hold any more [discriptor]!") + to_chat(user, span_warning("\The [src] can't hold any more [discriptor]!")) return if(isstack(W)) var/obj/item/stack/stack = W @@ -75,7 +75,7 @@ RSF qdel(W) matter = tempMatter //We add its value playsound(src.loc, 'sound/machines/click.ogg', 10, TRUE) - to_chat(user, "\The [src] now holds [matter]/[max_matter] [discriptor].") + to_chat(user, span_notice("\The [src] now holds [matter]/[max_matter] [discriptor].")) icon_state = base_icon_state//and set the icon state to the base state else return ..() @@ -124,7 +124,7 @@ RSF if(use_matter(dispense_cost, user))//If we can charge that amount of charge, we do so and return true playsound(loc, 'sound/machines/click.ogg', 10, TRUE) var/atom/meme = new to_dispense(get_turf(A)) - to_chat(user, "[action_type] [meme.name]...") + to_chat(user, span_notice("[action_type] [meme.name]...")) cooldown = world.time + cooldowndelay ///A helper proc. checks to see if we can afford the amount of charge that is passed, and if we can docs the charge from our base, and returns TRUE. If we can't we return FALSE @@ -133,18 +133,18 @@ RSF var/mob/living/silicon/robot/R = user var/end_charge = R.cell.charge - charge if(end_charge < 0) - to_chat(user, "You do not have enough power to use [src].") + to_chat(user, span_warning("You do not have enough power to use [src].")) icon_state = spent_icon_state return FALSE R.cell.charge = end_charge return TRUE else if(matter - 1 < 0) - to_chat(user, "\The [src] doesn't have enough [discriptor] left.") + to_chat(user, span_warning("\The [src] doesn't have enough [discriptor] left.")) icon_state = spent_icon_state return FALSE matter-- - to_chat(user, "\The [src] now holds [matter]/[max_matter] [discriptor].") + to_chat(user, span_notice("\The [src] now holds [matter]/[max_matter] [discriptor].")) return TRUE ///Helper proc that iterates through all the things we are allowed to spawn on, and sees if the passed atom is one of them @@ -172,9 +172,9 @@ RSF /obj/item/rsf/cookiesynth/emag_act(mob/user) obj_flags ^= EMAGGED if(obj_flags & EMAGGED) - to_chat(user, "You short out [src]'s reagent safety checker!") + to_chat(user, span_warning("You short out [src]'s reagent safety checker!")) else - to_chat(user, "You reset [src]'s reagent safety checker!") + to_chat(user, span_warning("You reset [src]'s reagent safety checker!")) /obj/item/rsf/cookiesynth/attack_self(mob/user) var/mob/living/silicon/robot/P = null @@ -183,9 +183,9 @@ RSF if(((obj_flags & EMAGGED) || (P?.emagged)) && !toxin) toxin = TRUE to_dispense = /obj/item/food/cookie/sleepy - to_chat(user, "Cookie Synthesizer hacked.") + to_chat(user, span_alert("Cookie Synthesizer hacked.")) else toxin = FALSE to_dispense = /obj/item/food/cookie - to_chat(user, "Cookie Synthesizer reset.") - + to_chat(user, span_notice("Cookie Synthesizer reset.")) + diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index 3fb4045bb63..0d7a92eceb5 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -53,10 +53,10 @@ //because you're expecting user input. /obj/item/airlock_painter/proc/can_use(mob/user) if(!ink) - to_chat(user, "There is no toner cartridge installed in [src]!") + to_chat(user, span_warning("There is no toner cartridge installed in [src]!")) return FALSE else if(ink.charges < 1) - to_chat(user, "[src] is out of ink!") + to_chat(user, span_warning("[src] is out of ink!")) return FALSE else return TRUE @@ -65,7 +65,7 @@ var/obj/item/organ/lungs/L = user.getorganslot(ORGAN_SLOT_LUNGS) if(can_use(user) && L) - user.visible_message("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!")) use(user) // Once you've inhaled the toner, you throw up your lungs @@ -91,27 +91,27 @@ // TODO maybe add some colorful vomit? - user.visible_message("[user] vomits out [user.p_their()] [L]!") + user.visible_message(span_suicide("[user] vomits out [user.p_their()] [L]!")) playsound(user.loc, 'sound/effects/splat.ogg', 50, TRUE) L.forceMove(T) return (TOXLOSS|OXYLOSS) else if(can_use(user) && !L) - user.visible_message("[user] is spraying toner on [user.p_them()]self from [src]! It looks like [user.p_theyre()] trying to commit suicide.") + user.visible_message(span_suicide("[user] is spraying toner on [user.p_them()]self from [src]! It looks like [user.p_theyre()] trying to commit suicide.")) user.reagents.add_reagent(/datum/reagent/colorful_reagent, 1) user.reagents.expose(user, TOUCH, 1) return TOXLOSS else - user.visible_message("[user] is trying to inhale toner from [src]! It might be a suicide attempt if [src] had any toner.") + user.visible_message(span_suicide("[user] is trying to inhale toner from [src]! It might be a suicide attempt if [src] had any toner.")) return SHAME /obj/item/airlock_painter/examine(mob/user) . = ..() if(!ink) - . += "It doesn't have a toner cartridge installed." + . += span_notice("It doesn't have a toner cartridge installed.") return var/ink_level = "high" if(ink.charges < 1) @@ -120,17 +120,17 @@ ink_level = "low" else if((ink.charges/ink.max_charges) > 1) //Over 100% (admin var edit) ink_level = "dangerously high" - . += "Its ink levels look [ink_level]." + . += span_notice("Its ink levels look [ink_level].") /obj/item/airlock_painter/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/toner)) if(ink) - to_chat(user, "[src] already contains \a [ink]!") + to_chat(user, span_warning("[src] already contains \a [ink]!")) return if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You install [W] into [src].") + to_chat(user, span_notice("You install [W] into [src].")) ink = W playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) else @@ -141,7 +141,7 @@ playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) ink.forceMove(user.drop_location()) user.put_in_hands(ink) - to_chat(user, "You remove [ink] from [src].") + to_chat(user, span_notice("You remove [ink] from [src].")) ink = null /obj/item/airlock_painter/decal @@ -171,7 +171,7 @@ . = ..() var/turf/open/floor/F = target if(!proximity) - to_chat(user, "You need to get closer!") + to_chat(user, span_notice("You need to get closer!")) return if(use_paint(user) && isturf(F)) F.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, stored_dir, null, null, alpha, color, null, CLEAN_TYPE_PAINT, null) diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index fb0ff8aeaa6..a9177784e23 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -19,13 +19,13 @@ var/turf/T = get_turf(user) var/area/A = get_area(T) if(!isfloorturf(T)) - to_chat(user, "You cannot place [src] on this spot!") + to_chat(user, span_warning("You cannot place [src] on this spot!")) return if(A.always_unpowered) - to_chat(user, "You cannot place [src] in this area!") + to_chat(user, span_warning("You cannot place [src] in this area!")) return if(gotwallitem(T, ndir, inverse*2)) - to_chat(user, "There's already an item on this wall!") + to_chat(user, span_warning("There's already an item on this wall!")) return return TRUE @@ -33,9 +33,9 @@ /obj/item/wallframe/proc/attach(turf/on_wall, mob/user) if(result_path) playsound(src.loc, 'sound/machines/click.ogg', 75, TRUE) - user.visible_message("[user.name] attaches [src] to the wall.", - "You attach [src] to the wall.", - "You hear clicking.") + user.visible_message(span_notice("[user.name] attaches [src] to the wall."), + span_notice("You attach [src] to the wall."), + span_hear("You hear clicking.")) var/ndir = get_dir(on_wall,user) if(inverse) ndir = turn(ndir, 180) @@ -70,7 +70,7 @@ var/glass_amt = round(custom_materials[GET_MATERIAL_REF(/datum/material/glass)]/MINERAL_MATERIAL_AMOUNT) //Replace this shit later if(W.tool_behaviour == TOOL_WRENCH && (metal_amt || glass_amt)) - to_chat(user, "You dismantle [src].") + to_chat(user, span_notice("You dismantle [src].")) if(metal_amt) new /obj/item/stack/sheet/iron(get_turf(src), metal_amt) if(glass_amt) @@ -94,18 +94,18 @@ var/turf/T = get_turf(on_wall) //the user is not where it needs to be. var/area/A = get_area(user) if(A.get_apc()) - to_chat(user, "This area already has an APC!") + to_chat(user, span_warning("This area already has an APC!")) return //only one APC per area if(!A.requires_power) - to_chat(user, "You cannot place [src] in this area!") + to_chat(user, span_warning("You cannot place [src] in this area!")) return //can't place apcs in areas with no power requirement for(var/obj/machinery/power/terminal/E in T) if(E.master) - to_chat(user, "There is another network terminal here!") + to_chat(user, span_warning("There is another network terminal here!")) return else new /obj/item/stack/cable_coil(T, 10) - to_chat(user, "You cut the cables and disassemble the unused power terminal.") + to_chat(user, span_notice("You cut the cables and disassemble the unused power terminal.")) qdel(E) return TRUE diff --git a/code/game/objects/items/binoculars.dm b/code/game/objects/items/binoculars.dm index 23017fcd78e..45aa014a1e9 100644 --- a/code/game/objects/items/binoculars.dm +++ b/code/game/objects/items/binoculars.dm @@ -31,7 +31,7 @@ RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_walk) RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, .proc/rotate) listeningTo = user - user.visible_message("[user] holds [src] up to [user.p_their()] eyes.", "You hold [src] up to your eyes.") + user.visible_message(span_notice("[user] holds [src] up to [user.p_their()] eyes."), span_notice("You hold [src] up to your eyes.")) inhand_icon_state = "binoculars_wielded" user.regenerate_icons() user.client.view_size.zoomOut(zoom_out_amt, zoom_amt, user.dir) @@ -56,7 +56,7 @@ UnregisterSignal(user, COMSIG_MOVABLE_MOVED) UnregisterSignal(user, COMSIG_ATOM_DIR_CHANGE) listeningTo = null - user.visible_message("[user] lowers [src].", "You lower [src].") + user.visible_message(span_notice("[user] lowers [src]."), span_notice("You lower [src].")) inhand_icon_state = "binoculars" user.regenerate_icons() user.client.view_size.zoomIn() diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index d7f718f2005..d827d3ceb9a 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -36,7 +36,7 @@ return var/area/A = get_area(usr) if(A.area_flags & NOTELEPORT) - to_chat(usr, "You cannot edit restricted areas.") + to_chat(usr, span_warning("You cannot edit restricted areas.")) return in_use = TRUE create_area(usr) @@ -106,9 +106,9 @@ if(href_list["view_wireset"]) legend = href_list["view_wireset"]; if(href_list["view_blueprints"]) - set_viewer(usr, "You flip the blueprints over to view the complex information diagram.") + set_viewer(usr, span_notice("You flip the blueprints over to view the complex information diagram.")) if(href_list["hide_blueprints"]) - clear_viewer(usr,"You flip the blueprints over to view the simple information diagram.") + clear_viewer(usr,span_notice("You flip the blueprints over to view the simple information diagram.")) if(href_list["refresh"]) clear_viewer(usr) set_viewer(usr) @@ -191,12 +191,12 @@ if(!str || !length(str) || str==prevname) //cancel return if(length(str) > 50) - to_chat(usr, "The given name is too long. The area's name is unchanged.") + to_chat(usr, span_warning("The given name is too long. The area's name is unchanged.")) return rename_area(A, str) - to_chat(usr, "You rename the '[prevname]' to '[str]'.") + to_chat(usr, span_notice("You rename the '[prevname]' to '[str]'.")) log_game("[key_name(usr)] has renamed [prevname] to [str]") A.update_areasize() interact() diff --git a/code/game/objects/items/body_egg.dm b/code/game/objects/items/body_egg.dm index 76dfd615d45..182ac8ad2b4 100644 --- a/code/game/objects/items/body_egg.dm +++ b/code/game/objects/items/body_egg.dm @@ -7,7 +7,7 @@ /obj/item/organ/body_egg/on_find(mob/living/finder) ..() - to_chat(finder, "You found an unknown alien organism in [owner]'s [zone]!") + to_chat(finder, span_warning("You found an unknown alien organism in [owner]'s [zone]!")) /obj/item/organ/body_egg/Initialize() . = ..() diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 394714832a8..e48c5eb023e 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -28,7 +28,7 @@ /obj/item/bodybag/suicide_act(mob/user) if(isopenturf(user.loc)) - user.visible_message("[user] is crawling into [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is crawling into [src]! It looks like [user.p_theyre()] trying to commit suicide!")) var/obj/structure/closet/body_bag/R = new unfoldedbag_path(user.loc) R.add_fingerprint(user) qdel(src) @@ -52,13 +52,13 @@ . = ..() if(contents.len) var/s = contents.len == 1 ? "" : "s" - . += "You can make out the shape[s] of [contents.len] object[s] through the fabric." + . += span_notice("You can make out the shape[s] of [contents.len] object[s] through the fabric.") /obj/item/bodybag/bluespace/Destroy() for(var/atom/movable/A in contents) A.forceMove(get_turf(src)) if(isliving(A)) - to_chat(A, "You suddenly feel the space around you torn apart! You're free!") + to_chat(A, span_notice("You suddenly feel the space around you torn apart! You're free!")) return ..() /obj/item/bodybag/bluespace/deploy_bodybag(mob/user, atom/location) @@ -66,7 +66,7 @@ for(var/atom/movable/A in contents) A.forceMove(R) if(isliving(A)) - to_chat(A, "You suddenly feel air around you! You're free!") + to_chat(A, span_notice("You suddenly feel air around you! You're free!")) R.open(user) R.add_fingerprint(user) R.foldedbag_instance = src @@ -74,18 +74,18 @@ /obj/item/bodybag/bluespace/container_resist_act(mob/living/user) if(user.incapacitated()) - to_chat(user, "You can't get out while you're restrained like this!") + to_chat(user, span_warning("You can't get out while you're restrained like this!")) return user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - to_chat(user, "You claw at the fabric of [src], trying to tear it open...") - to_chat(loc, "Someone starts trying to break free of [src]!") + to_chat(user, span_notice("You claw at the fabric of [src], trying to tear it open...")) + to_chat(loc, span_warning("Someone starts trying to break free of [src]!")) if(!do_mob(user, src, 12 SECONDS, timed_action_flags = (IGNORE_TARGET_LOC_CHANGE|IGNORE_HELD_ITEM))) return // you are still in the bag? time to go unless you KO'd, honey! // if they escape during this time and you rebag them the timer is still clocking down and does NOT reset so they can very easily get out. if(user.incapacitated()) - to_chat(loc, "The pressure subsides. It seems that they've stopped resisting...") + to_chat(loc, span_warning("The pressure subsides. It seems that they've stopped resisting...")) return - loc.visible_message("[user] suddenly appears in front of [loc]!", "[user] breaks free of [src]!") + loc.visible_message(span_warning("[user] suddenly appears in front of [loc]!"), span_userdanger("[user] breaks free of [src]!")) qdel(src) diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index ea42d317c05..fe7b32ea3ad 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -41,7 +41,7 @@ /obj/item/pushbroom/proc/on_wield(obj/item/source, mob/user) SIGNAL_HANDLER - to_chat(user, "You brace the [src] against the ground in a firm sweeping stance.") + to_chat(user, span_notice("You brace the [src] against the ground in a firm sweeping stance.")) RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, .proc/sweep) /** @@ -90,7 +90,7 @@ if (i > 1) if (target_bin) target_bin.update_appearance() - to_chat(user, "You sweep the pile of garbage into [target_bin].") + to_chat(user, span_notice("You sweep the pile of garbage into [target_bin].")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 30, TRUE, -1) /** @@ -109,5 +109,5 @@ name = "robotic push broom" /obj/item/pushbroom/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) - to_chat(user, "You cannot place your [src] into the [J]") + to_chat(user, span_notice("You cannot place your [src] into the [J]")) return FALSE diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index c3a4b432da7..c43ced52abd 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -73,7 +73,7 @@ /obj/item/candle/attack_self(mob/user) if(put_out_candle()) - user.visible_message("[user] snuffs [src].") + user.visible_message(span_notice("[user] snuffs [src].")) /obj/item/candle/infinite infinite = TRUE diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 435f228225b..a0ea43eec9f 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -41,7 +41,7 @@ /obj/item/cardboard_cutout/attack_hand(mob/living/user, list/modifiers) if(!user.combat_mode || pushed_over) return ..() - user.visible_message("[user] pushes over [src]!", "You push over [src]!") + user.visible_message(span_warning("[user] pushes over [src]!"), span_danger("You push over [src]!")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) push_over() @@ -57,7 +57,7 @@ /obj/item/cardboard_cutout/attack_self(mob/living/user) if(!pushed_over) return - to_chat(user, "You right [src].") + to_chat(user, span_notice("You right [src].")) desc = initial(desc) icon = initial(icon) icon_state = initial(icon_state) //This resets a cutout to its blank state - this is intentional to allow for resetting @@ -79,15 +79,15 @@ user.do_attack_animation(src) if(I.force) - user.visible_message("[user] hits [src] with [I]!", \ - "You hit [src] with [I]!") + user.visible_message(span_danger("[user] hits [src] with [I]!"), \ + span_danger("You hit [src] with [I]!")) if(prob(I.force)) push_over() /obj/item/cardboard_cutout/bullet_act(obj/projectile/P, def_zone, piercing_hit = FALSE) if(istype(P, /obj/projectile/bullet/reusable)) P.on_hit(src, 0, piercing_hit) - visible_message("[src] is hit by [P]!") + visible_message(span_danger("[src] is hit by [P]!")) playsound(src, 'sound/weapons/slice.ogg', 50, TRUE) if(prob(P.damage)) push_over() @@ -108,7 +108,7 @@ return FALSE if(!check_menu(user, crayon)) return FALSE - user.visible_message("[user] gives [src] a new look.", "Voila! You give [src] a new look.") + user.visible_message(span_notice("[user] gives [src] a new look."), span_notice("Voila! You give [src] a new look.")) crayon.use_charges(1) crayon.check_empty(user) alpha = 255 @@ -213,14 +213,14 @@ if(user.incapacitated()) return FALSE if(pushed_over) - to_chat(user, "Right [src] first!") + to_chat(user, span_warning("Right [src] first!")) return FALSE if(!crayon || !user.is_holding(crayon)) return FALSE if(crayon.check_empty(user)) return FALSE if(crayon.is_capped) - to_chat(user, "Take the cap off first!") + to_chat(user, span_warning("Take the cap off first!")) return FALSE return TRUE diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 4c064fcb90a..d14fac4405b 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -30,7 +30,7 @@ var/list/files = list() /obj/item/card/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to swipe [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to swipe [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/card/data @@ -413,7 +413,7 @@ var/minor if(registered_name && registered_age && registered_age < AGE_MINOR) minor = " (MINOR)" - user.visible_message("[user] shows you: [icon2html(src, viewers(user))] [src.name][minor].", "You show \the [src.name][minor].") + user.visible_message(span_notice("[user] shows you: [icon2html(src, viewers(user))] [src.name][minor]."), span_notice("You show \the [src.name][minor].")) add_fingerprint(user) /obj/item/card/id/vv_edit_var(var_name, var_value) @@ -429,7 +429,7 @@ /obj/item/card/id/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/rupee)) - to_chat(user, "Your ID smartly rejects the strange shard of glass. Who knew, apparently it's not ACTUALLY valuable!") + to_chat(user, span_warning("Your ID smartly rejects the strange shard of glass. Who knew, apparently it's not ACTUALLY valuable!")) return else if(iscash(W)) insert_money(W, user) @@ -439,7 +439,7 @@ var/list/money_contained = money_bag.contents var/money_added = mass_insert_money(money_contained, user) if (money_added) - to_chat(user, "You stuff the contents into the card! They disappear in a puff of bluespace smoke, adding [money_added] worth of credits to the linked account.") + to_chat(user, span_notice("You stuff the contents into the card! They disappear in a puff of bluespace smoke, adding [money_added] worth of credits to the linked account.")) return else return ..() @@ -458,21 +458,21 @@ physical_currency = TRUE if(!registered_account) - to_chat(user, "[src] doesn't have a linked account to deposit [money] into!") + to_chat(user, span_warning("[src] doesn't have a linked account to deposit [money] into!")) return var/cash_money = money.get_item_credit_value() if(!cash_money) - to_chat(user, "[money] doesn't seem to be worth anything!") + to_chat(user, span_warning("[money] doesn't seem to be worth anything!")) return registered_account.adjust_money(cash_money) SSblackbox.record_feedback("amount", "credits_inserted", cash_money) log_econ("[cash_money] credits were inserted into [src] owned by [src.registered_name]") if(physical_currency) - to_chat(user, "You stuff [money] into [src]. It disappears in a small puff of bluespace smoke, adding [cash_money] credits to the linked account.") + to_chat(user, span_notice("You stuff [money] into [src]. It disappears in a small puff of bluespace smoke, adding [cash_money] credits to the linked account.")) else - to_chat(user, "You insert [money] into [src], adding [cash_money] credits to the linked account.") + to_chat(user, span_notice("You insert [money] into [src], adding [cash_money] credits to the linked account.")) - to_chat(user, "The linked account now reports a balance of [registered_account.account_balance] cr.") + to_chat(user, span_notice("The linked account now reports a balance of [registered_account.account_balance] cr.")) qdel(money) /** @@ -484,7 +484,7 @@ */ /obj/item/card/id/proc/mass_insert_money(list/money, mob/user) if(!registered_account) - to_chat(user, "[src] doesn't have a linked account to deposit into!") + to_chat(user, span_warning("[src] doesn't have a linked account to deposit into!")) return FALSE if (!money || !money.len) @@ -525,10 +525,10 @@ if(!alt_click_can_use_id(user)) return if(!new_bank_id || new_bank_id < 111111 || new_bank_id > 999999) - to_chat(user, "The account ID number needs to be between 111111 and 999999.") + to_chat(user, span_warning("The account ID number needs to be between 111111 and 999999.")) return if (registered_account && registered_account.account_id == new_bank_id) - to_chat(user, "The account ID was already assigned to this card.") + to_chat(user, span_warning("The account ID was already assigned to this card.")) return var/datum/bank_account/B = SSeconomy.bank_accounts_by_id["[new_bank_id]"] @@ -538,11 +538,11 @@ B.bank_cards += src registered_account = B - to_chat(user, "The provided account has been linked to this ID card.") + to_chat(user, span_notice("The provided account has been linked to this ID card.")) return TRUE - to_chat(user, "The account ID number provided is invalid.") + to_chat(user, span_warning("The account ID number provided is invalid.")) return /obj/item/card/id/AltClick(mob/living/user) @@ -554,7 +554,7 @@ return if (registered_account.being_dumped) - registered_account.bank_card_talk("内部服务器错误", TRUE) + registered_account.bank_card_talk(span_warning("内部服务器错误"), TRUE) return var/amount_to_remove = FLOOR(input(user, "How much do you want to withdraw? Current Balance: [registered_account.account_balance]", "Withdraw Funds", 5) as num|null, 1) @@ -566,25 +566,25 @@ if(registered_account.adjust_money(-amount_to_remove)) var/obj/item/holochip/holochip = new (user.drop_location(), amount_to_remove) user.put_in_hands(holochip) - to_chat(user, "You withdraw [amount_to_remove] credits into a holochip.") + to_chat(user, span_notice("You withdraw [amount_to_remove] credits into a holochip.")) SSblackbox.record_feedback("amount", "credits_removed", amount_to_remove) log_econ("[amount_to_remove] credits were removed from [src] owned by [src.registered_name]") return else var/difference = amount_to_remove - registered_account.account_balance - registered_account.bank_card_talk("ERROR: The linked account requires [difference] more credit\s to perform that withdrawal.", TRUE) + registered_account.bank_card_talk(span_warning("ERROR: The linked account requires [difference] more credit\s to perform that withdrawal."), TRUE) /obj/item/card/id/examine(mob/user) . = ..() if(registered_account) . += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr." - . += "There's more information below, you can look again to take a closer look..." + . += span_notice("There's more information below, you can look again to take a closer look...") /obj/item/card/id/examine_more(mob/user) - var/list/msg = list("You examine [src] closer, and note the following...") + var/list/msg = list(span_notice("You examine [src] closer, and note the following...")) if(registered_age) - msg += "The card indicates that the holder is [registered_age] years old. [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads 'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO' along the bottom of the card." : ""]" + msg += "The card indicates that the holder is [registered_age] years old. [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads [span_danger("'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO'")] along the bottom of the card." : ""]" if(mining_points) msg += "There's [mining_points] mining equipment redemption point\s loaded onto this card." if(registered_account) @@ -593,17 +593,17 @@ var/datum/bank_account/D = SSeconomy.get_dep_account(registered_account.account_job.paycheck_department) if(D) msg += "The [D.account_holder] reports a balance of [D.account_balance] cr." - msg += "Alt-Click the ID to pull money from the linked account in the form of holochips." - msg += "You can insert credits into the linked account by pressing holochips, cash, or coins against the ID." + msg += span_info("Alt-Click the ID to pull money from the linked account in the form of holochips.") + msg += span_info("You can insert credits into the linked account by pressing holochips, cash, or coins against the ID.") if(registered_account.civilian_bounty) msg += "There is an active civilian bounty." - msg += "[registered_account.bounty_text()]" - msg += "Quantity: [registered_account.bounty_num()]" - msg += "Reward: [registered_account.bounty_value()]" + msg += span_info("[registered_account.bounty_text()]") + msg += span_info("Quantity: [registered_account.bounty_num()]") + msg += span_info("Reward: [registered_account.bounty_value()]") if(registered_account.account_holder == user.real_name) - msg += "If you lose this ID card, you can reclaim your account by Alt-Clicking a blank ID card while holding it and entering your account ID number." + msg += span_boldnotice("If you lose this ID card, you can reclaim your account by Alt-Clicking a blank ID card while holding it and entering your account ID number.") else - msg += "There is no registered account linked to this card. Alt-Click to add one." + msg += span_info("There is no registered account linked to this card. Alt-Click to add one.") return msg @@ -716,7 +716,7 @@ icon_state = "car_budget" //saving up for a new tesla /obj/item/card/id/departmental_budget/AltClick(mob/living/user) - registered_account.bank_card_talk("Withdrawing is not compatible with this card design.", TRUE) //prevents the vault bank machine being useless and putting money from the budget to your card to go over personal crates + registered_account.bank_card_talk(span_warning("Withdrawing is not compatible with this card design."), TRUE) //prevents the vault bank machine being useless and putting money from the budget to your card to go over personal crates /obj/item/card/id/advanced name = "identification card" @@ -987,7 +987,7 @@ var/points = 0 /obj/item/card/id/advanced/prisoner/attack_self(mob/user) - to_chat(usr, "You have accumulated [points] out of the [goal] points you need for freedom.") + to_chat(usr, span_notice("You have accumulated [points] out of the [goal] points you need for freedom.")) /obj/item/card/id/advanced/prisoner/one name = "Prisoner #13-001" @@ -1115,7 +1115,7 @@ var/obj/item/card/id/target_card = theft_target?.resolve() if(QDELETED(target_card)) - to_chat(usr, "The ID card you were attempting to scan is no longer in range.") + to_chat(usr, span_notice("The ID card you were attempting to scan is no longer in range.")) target_card = null return TRUE @@ -1123,7 +1123,7 @@ var/turf/our_turf = get_turf(src) var/turf/target_turf = get_turf(target_card) if(!our_turf.Adjacent(target_turf)) - to_chat(usr, "The ID card you were attempting to scan is no longer in range.") + to_chat(usr, span_notice("The ID card you were attempting to scan is no longer in range.")) target_card = null return TRUE @@ -1137,17 +1137,17 @@ return TRUE if(!(access_type in target_card.access)) - to_chat(usr, "ID error: ID card rejected your attempted access modification.") + to_chat(usr, span_notice("ID error: ID card rejected your attempted access modification.")) LOG_ID_ACCESS_CHANGE(usr, src, "failed to add [SSid_access.get_access_desc(access_type)][try_wildcard ? " with wildcard [try_wildcard]" : ""]") return TRUE if(!can_add_wildcards(list(access_type), try_wildcard)) - to_chat(usr, "ID error: ID card rejected your attempted access modification.") + to_chat(usr, span_notice("ID error: ID card rejected your attempted access modification.")) LOG_ID_ACCESS_CHANGE(usr, src, "failed to add [SSid_access.get_access_desc(access_type)][try_wildcard ? " with wildcard [try_wildcard]" : ""]") return TRUE if(!add_access(list(access_type), try_wildcard)) - to_chat(usr, "ID error: ID card rejected your attempted access modification.") + to_chat(usr, span_notice("ID error: ID card rejected your attempted access modification.")) LOG_ID_ACCESS_CHANGE(usr, src, "failed to add [SSid_access.get_access_desc(access_type)][try_wildcard ? " with wildcard [try_wildcard]" : ""]") return TRUE @@ -1208,7 +1208,7 @@ update_label() update_icon() forged = TRUE - to_chat(user, "You successfully forge the ID card.") + to_chat(user, span_notice("You successfully forge the ID card.")) log_game("[key_name(user)] has forged \the [initial(name)] with name \"[registered_name]\", occupation \"[assignment]\" and trim \"[trim?.assignment]\".") if(!registered_account) @@ -1219,7 +1219,7 @@ if(account) account.bank_cards += src registered_account = account - to_chat(user, "Your account number has been automatically assigned.") + to_chat(user, span_notice("Your account number has been automatically assigned.")) return if(forged) registered_name = initial(registered_name) @@ -1229,7 +1229,7 @@ update_label() update_icon() forged = FALSE - to_chat(user, "You successfully reset the ID card.") + to_chat(user, span_notice("You successfully reset the ID card.")) return if (popup_input == "Change Account ID") set_new_account(user) diff --git a/code/game/objects/items/chainsaw.dm b/code/game/objects/items/chainsaw.dm index 3ca29de0155..6c8572f32e7 100644 --- a/code/game/objects/items/chainsaw.dm +++ b/code/game/objects/items/chainsaw.dm @@ -48,13 +48,13 @@ /obj/item/chainsaw/suicide_act(mob/living/carbon/user) if(on) - user.visible_message("[user] begins to tear [user.p_their()] head off with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to tear [user.p_their()] head off with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/weapons/chainsawhit.ogg', 100, TRUE) var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) if(myhead) myhead.dismember() else - user.visible_message("[user] smashes [src] into [user.p_their()] neck, destroying [user.p_their()] esophagus! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] smashes [src] into [user.p_their()] neck, destroying [user.p_their()] esophagus! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/weapons/genhit1.ogg', 100, TRUE) return(BRUTELOSS) @@ -86,7 +86,7 @@ /obj/item/chainsaw/doomslayer/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(attack_type == PROJECTILE_ATTACK) - owner.visible_message("Ranged attacks just make [owner] angrier!") + owner.visible_message(span_danger("Ranged attacks just make [owner] angrier!")) playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) return TRUE return FALSE diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 9f25aa5721f..a621d1a9c0d 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -28,13 +28,13 @@ /obj/item/station_charter/attack_self(mob/living/user) if(used) - to_chat(user, "The [name_type] has already been named!") + to_chat(user, span_warning("The [name_type] has already been named!")) return if(!ignores_timeout && (world.time-SSticker.round_start_time > STATION_RENAME_TIME_LIMIT)) //5 minutes - to_chat(user, "The crew has already settled into the shift. It probably wouldn't be good to rename the [name_type] right now.") + to_chat(user, span_warning("The crew has already settled into the shift. It probably wouldn't be good to rename the [name_type] right now.")) return if(response_timer_id) - to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.") + to_chat(user, span_warning("You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")) return var/new_name = stripped_input(user, message="What do you want to name \ @@ -43,7 +43,7 @@ will automatically be accepted.", max_length=MAX_CHARTER_LEN) if(response_timer_id) - to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.") + to_chat(user, span_warning("You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")) return if(!new_name) @@ -52,14 +52,14 @@ [new_name]") if(standard_station_regex.Find(new_name)) - to_chat(user, "Your name has been automatically approved.") + to_chat(user, span_notice("Your name has been automatically approved.")) rename_station(new_name, user.name, user.real_name, key_name(user)) return - to_chat(user, "Your name has been sent to your employers for approval.") + to_chat(user, span_notice("Your name has been sent to your employers for approval.")) // Autoapproves after a certain time response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) - to_chat(GLOB.admins, "CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]") + to_chat(GLOB.admins, span_adminnotice("CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]")) for(var/client/admin_client in GLOB.admins) if(admin_client.prefs.toggles & SOUND_ADMINHELP) window_flash(admin_client, ignorepref = TRUE) @@ -142,7 +142,7 @@ /obj/item/station_charter/revolution/attack_self(mob/living/user) if(COOLDOWN_FINISHED(src, cutoff) && !used) - to_chat(user, "You have lost the victorious fervor to declare a new name.") + to_chat(user, span_warning("You have lost the victorious fervor to declare a new name.")) return . = ..() diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 11b70e82e24..c5a303f7f97 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -86,14 +86,14 @@ var/mob/living/user = loc if(F.gun) if(isliving(user) && F.captured) - to_chat(user, "FAIL: [F.captured] already has an existing connection.") + to_chat(user, span_alert("FAIL: [F.captured] already has an existing connection.")) field_disconnect(F) else startpos = get_turf(src) field = F F.gun = src if(isliving(user) && F.captured) - to_chat(user, "Connection established with target: [F.captured]") + to_chat(user, span_notice("Connection established with target: [F.captured]")) /obj/item/gun/energy/chrono_gun/proc/field_disconnect(obj/structure/chrono_field/F) @@ -102,7 +102,7 @@ if(F.gun == src) F.gun = null if(isliving(user) && F.captured) - to_chat(user, "Disconnected from target: [F.captured]") + to_chat(user, span_alert("Disconnected from target: [F.captured]")) field = null startpos = null @@ -197,7 +197,7 @@ mob_underlay = mutable_appearance(cached_icon, "frame1") update_appearance() - desc = initial(desc) + "
It appears to contain [target.name]." + desc = initial(desc) + "
[span_info("It appears to contain [target.name].")]" START_PROCESSING(SSobj, src) return ..() @@ -223,7 +223,7 @@ AM.forceMove(drop_location()) qdel(src) else if(timetokill <= 0) - to_chat(captured, "As the last essence of your being is erased from time, you are taken back to your most enjoyable memory. You feel happy...") + to_chat(captured, span_boldnotice("As the last essence of your being is erased from time, you are taken back to your most enjoyable memory. You feel happy...")) var/mob/dead/observer/ghost = captured.ghostize(1) if(captured.mind) if(ghost) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index fbb953c3958..fcc946549ed 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -84,11 +84,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) if(lit && cig && !user.combat_mode) if(cig.lit) - to_chat(user, "[cig] is already lit!") + to_chat(user, span_warning("[cig] is already lit!")) if(M == user) cig.attackby(src, user) else - cig.light("[user] holds [src] out for [M], and lights [cig].") + cig.light(span_notice("[user] holds [src] out for [M], and lights [cig].")) else ..() @@ -140,7 +140,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/lung_harm = 1 //How bad it is for you /obj/item/clothing/mask/cigarette/suicide_act(mob/user) - user.visible_message("[user] is huffing [src] as quickly as [user.p_they()] can! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer.") + user.visible_message(span_suicide("[user] is huffing [src] as quickly as [user.p_they()] can! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer.")) return (TOXLOSS|OXYLOSS) /obj/item/clothing/mask/cigarette/Initialize() @@ -162,7 +162,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!reagents.has_reagent(/datum/reagent/oxygen)) //cigarettes need oxygen var/datum/gas_mixture/air = return_air() if(!air || !air.has_gas(/datum/gas/oxygen, 1)) //or oxygen on a tile to burn - to_chat(user, "Your [name] needs a source of oxygen to burn.") + to_chat(user, span_notice("Your [name] needs a source of oxygen to burn.")) return ..() var/lighting_text = W.ignition_effect(src, user) if(lighting_text) @@ -174,12 +174,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM return if(istype(glass)) //you can dip cigarettes into beakers if(glass.reagents.trans_to(src, chem_volume, transfered_by = user)) //if reagents were transfered, show the message - to_chat(user, "You dip \the [src] into \the [glass].") + to_chat(user, span_notice("You dip \the [src] into \the [glass].")) else //if not, either the beaker was empty, or the cigarette was full if(!glass.reagents.total_volume) - to_chat(user, "[glass] is empty!") + to_chat(user, span_warning("[glass] is empty!")) else - to_chat(user, "[src] is full!") + to_chat(user, span_warning("[src] is full!")) /obj/item/clothing/mask/cigarette/proc/light(flavor_text = null) if(lit) @@ -240,7 +240,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM lit = FALSE if(ismob(loc)) var/mob/living/M = loc - to_chat(M, "Your [name] goes out.") + to_chat(M, span_notice("Your [name] goes out.")) M.update_inv_wear_mask() M.update_inv_hands() @@ -281,7 +281,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(smoketime <= 0) new type_butt(location) if(ismob(loc)) - to_chat(M, "Your [name] goes out.") + to_chat(M, span_notice("Your [name] goes out.")) qdel(src) return open_flame() @@ -291,7 +291,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/cigarette/attack_self(mob/user) if(lit) - user.visible_message("[user] calmly drops and treads on \the [src], putting it out instantly.") + user.visible_message(span_notice("[user] calmly drops and treads on \the [src], putting it out instantly.")) new type_butt(user.loc) new /obj/effect/decal/cleanable/ash(user.loc) qdel(src) @@ -301,16 +301,16 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!istype(M)) return ..() if(M.on_fire && !lit) - light("[user] lights [src] with [M]'s burning body. What a cold-blooded badass.") + light(span_notice("[user] lights [src] with [M]'s burning body. What a cold-blooded badass.")) return var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) if(lit && cig && !user.combat_mode) if(cig.lit) - to_chat(user, "The [cig.name] is already lit!") + to_chat(user, span_warning("The [cig.name] is already lit!")) if(M == user) cig.attackby(src, user) else - cig.light("[user] holds the [name] out for [M], and lights [M.p_their()] [cig.name].") + cig.light(span_notice("[user] holds the [name] out for [M], and lights [M.p_their()] [cig.name].")) else return ..() @@ -549,7 +549,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM new /obj/effect/decal/cleanable/ash(location) if(ismob(loc)) var/mob/living/M = loc - to_chat(M, "Your [name] goes out.") + to_chat(M, span_notice("Your [name] goes out.")) lit = FALSE icon_state = icon_off inhand_icon_state = icon_off @@ -568,7 +568,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/obj/item/food/grown/G = O if(!packeditem) if(HAS_TRAIT(G, TRAIT_DRIED)) - to_chat(user, "You stuff [O] into [src].") + to_chat(user, span_notice("You stuff [O] into [src].")) smoketime = 13 * 60 packeditem = TRUE name = "[O.name]-packed [initial(name)]" @@ -576,30 +576,30 @@ CIGARETTE PACKETS ARE IN FANCY.DM O.reagents.trans_to(src, O.reagents.total_volume, transfered_by = user) qdel(O) else - to_chat(user, "It has to be dried first!") + to_chat(user, span_warning("It has to be dried first!")) else - to_chat(user, "It is already packed!") + to_chat(user, span_warning("It is already packed!")) else var/lighting_text = O.ignition_effect(src,user) if(lighting_text) if(smoketime > 0) light(lighting_text) else - to_chat(user, "There is nothing to smoke!") + to_chat(user, span_warning("There is nothing to smoke!")) else return ..() /obj/item/clothing/mask/cigarette/pipe/attack_self(mob/user) var/turf/location = get_turf(user) if(lit) - user.visible_message("[user] puts out [src].", "You put out [src].") + user.visible_message(span_notice("[user] puts out [src]."), span_notice("You put out [src].")) lit = FALSE icon_state = icon_off inhand_icon_state = icon_off STOP_PROCESSING(SSobj, src) return if(!lit && smoketime > 0) - to_chat(user, "You empty [src] onto [location].") + to_chat(user, span_notice("You empty [src] onto [location].")) new /obj/effect/decal/cleanable/ash(location) packeditem = FALSE smoketime = 0 @@ -662,11 +662,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/lighter/suicide_act(mob/living/carbon/user) if (lit) - user.visible_message("[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/items/welder.ogg', 50, TRUE) return FIRELOSS else - user.visible_message("[user] begins whacking [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins whacking [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/lighter/update_overlays() @@ -712,7 +712,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!lit) set_lit(TRUE) if(fancy) - user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.", "Without even breaking stride, you flip open and light [src] in one smooth movement.") + user.visible_message(span_notice("Without even breaking stride, [user] flips open and lights [src] in one smooth movement."), span_notice("Without even breaking stride, you flip open and light [src] in one smooth movement.")) else var/prot = FALSE var/mob/living/carbon/human/H = user @@ -725,19 +725,19 @@ CIGARETTE PACKETS ARE IN FANCY.DM prot = TRUE if(prot || prob(75)) - user.visible_message("After a few attempts, [user] manages to light [src].", "After a few attempts, you manage to light [src].") + user.visible_message(span_notice("After a few attempts, [user] manages to light [src]."), span_notice("After a few attempts, you manage to light [src].")) else var/hitzone = user.held_index_to_dir(user.active_hand_index) == "r" ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND user.apply_damage(5, BURN, hitzone) - user.visible_message("After a few attempts, [user] manages to light [src] - however, [user.p_they()] burn [user.p_their()] finger in the process.", "You burn yourself while lighting the lighter!") + user.visible_message(span_warning("After a few attempts, [user] manages to light [src] - however, [user.p_they()] burn [user.p_their()] finger in the process."), span_warning("You burn yourself while lighting the lighter!")) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "burnt_thumb", /datum/mood_event/burnt_thumb) else set_lit(FALSE) if(fancy) - user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.", "You quietly shut off [src] without even looking at what you're doing. Wow.") + user.visible_message(span_notice("You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow."), span_notice("You quietly shut off [src] without even looking at what you're doing. Wow.")) else - user.visible_message("[user] quietly shuts off [src].", "You quietly shut off [src].") + user.visible_message(span_notice("[user] quietly shuts off [src]."), span_notice("You quietly shut off [src].")) else . = ..() @@ -748,14 +748,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) if(lit && cig && !user.combat_mode) if(cig.lit) - to_chat(user, "The [cig.name] is already lit!") + to_chat(user, span_warning("The [cig.name] is already lit!")) if(M == user) cig.attackby(src, user) else if(fancy) - cig.light("[user] whips the [name] out and holds it for [M]. [user.p_their(TRUE)] arm is as steady as the unflickering flame [user.p_they()] light[user.p_s()] \the [cig] with.") + cig.light(span_rose("[user] whips the [name] out and holds it for [M]. [user.p_their(TRUE)] arm is as steady as the unflickering flame [user.p_they()] light[user.p_s()] \the [cig] with.")) else - cig.light("[user] holds the [name] out for [M], and lights [M.p_their()] [cig.name].") + cig.light(span_notice("[user] holds the [name] out for [M], and lights [M.p_their()] [cig.name].")) else ..() @@ -810,7 +810,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/lighter/greyscale/ignition_effect(atom/A, mob/user) if(get_temperature()) - . = "After some fiddling, [user] manages to light [A] with [src]." + . = span_notice("After some fiddling, [user] manages to light [A] with [src].") /obj/item/lighter/slime @@ -846,10 +846,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM qdel(target) qdel(src) user.put_in_active_hand(R) - to_chat(user, "You roll the [target.name] into a rolling paper.") + to_chat(user, span_notice("You roll the [target.name] into a rolling paper.")) R.desc = "Dried [target.name] rolled up in a thin piece of paper." else - to_chat(user, "You need to dry this first!") + to_chat(user, span_warning("You need to dry this first!")) /////////////// //VAPE NATION// @@ -869,7 +869,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/super = FALSE //for the fattest vapes dude. /obj/item/clothing/mask/vape/suicide_act(mob/user) - user.visible_message("[user] is puffin hard on dat vape, [user.p_they()] trying to join the vape life on a whole notha plane!")//it doesn't give you cancer, it is cancer + user.visible_message(span_suicide("[user] is puffin hard on dat vape, [user.p_they()] trying to join the vape life on a whole notha plane!"))//it doesn't give you cancer, it is cancer return (TOXLOSS|OXYLOSS) @@ -886,7 +886,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(O.tool_behaviour == TOOL_SCREWDRIVER) if(!screw) screw = TRUE - to_chat(user, "You open the cap on [src].") + to_chat(user, span_notice("You open the cap on [src].")) reagents.flags |= OPENCONTAINER if(obj_flags & EMAGGED) add_overlay("vapeopen_high") @@ -896,7 +896,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM add_overlay("vapeopen_low") else screw = FALSE - to_chat(user, "You close the cap on [src].") + to_chat(user, span_notice("You close the cap on [src].")) reagents.flags &= ~(OPENCONTAINER) cut_overlays() @@ -905,16 +905,16 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!super) cut_overlays() super = TRUE - to_chat(user, "You increase the voltage of [src].") + to_chat(user, span_notice("You increase the voltage of [src].")) add_overlay("vapeopen_med") else cut_overlays() super = FALSE - to_chat(user, "You decrease the voltage of [src].") + to_chat(user, span_notice("You decrease the voltage of [src].")) add_overlay("vapeopen_low") if(screw && (obj_flags & EMAGGED)) - to_chat(user, "[src] can't be modified!") + to_chat(user, span_warning("[src] can't be modified!")) else ..() @@ -925,30 +925,30 @@ CIGARETTE PACKETS ARE IN FANCY.DM cut_overlays() obj_flags |= EMAGGED super = FALSE - to_chat(user, "You maximize the voltage of [src].") + to_chat(user, span_warning("You maximize the voltage of [src].")) add_overlay("vapeopen_high") var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread //for effect sp.set_up(5, 1, src) sp.start() else - to_chat(user, "[src] is already emagged!") + to_chat(user, span_warning("[src] is already emagged!")) else - to_chat(user, "You need to open the cap to do that!") + to_chat(user, span_warning("You need to open the cap to do that!")) /obj/item/clothing/mask/vape/attack_self(mob/user) if(reagents.total_volume > 0) - to_chat(user, "You empty [src] of all reagents.") + to_chat(user, span_notice("You empty [src] of all reagents.")) reagents.clear_reagents() /obj/item/clothing/mask/vape/equipped(mob/user, slot) . = ..() if(slot == ITEM_SLOT_MASK) if(!screw) - to_chat(user, "You start puffing on the vape.") + to_chat(user, span_notice("You start puffing on the vape.")) reagents.flags &= ~(NO_REACT) START_PROCESSING(SSobj, src) else //it will not start if the vape is opened. - to_chat(user, "You need to close the cap first!") + to_chat(user, span_warning("You need to close the cap first!")) /obj/item/clothing/mask/vape/dropped(mob/user) . = ..() @@ -988,7 +988,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!reagents.total_volume) if(ismob(loc)) - to_chat(M, "[src] is empty!") + to_chat(M, span_warning("[src] is empty!")) STOP_PROCESSING(SSobj, src) //it's reusable so it won't unequip when empty return @@ -1012,7 +1012,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread sp.set_up(5, 1, src) sp.start() - to_chat(M, "[src] suddenly explodes in your mouth!") + to_chat(M, span_userdanger("[src] suddenly explodes in your mouth!")) qdel(src) return diff --git a/code/game/objects/items/circuitboards/circuitboard.dm b/code/game/objects/items/circuitboards/circuitboard.dm index e6083b7911f..e0083800ddb 100644 --- a/code/game/objects/items/circuitboards/circuitboard.dm +++ b/code/game/objects/items/circuitboards/circuitboard.dm @@ -101,4 +101,4 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. if(!ispath(A)) continue nice_list += list("[req_components[A]] [initial(A.name)]") - . += "Required components: [english_list(nice_list)]." + . += span_notice("Required components: [english_list(nice_list)].") diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 14ba7625d6f..6c01db3872d 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -241,11 +241,11 @@ if(build_path == /obj/machinery/computer/bookmanagement) name = "Library Visitor Console (Computer Board)" build_path = /obj/machinery/computer/libraryconsole - to_chat(user, "Defaulting access protocols.") + to_chat(user, span_notice("Defaulting access protocols.")) else name = "Book Inventory Management Console (Computer Board)" build_path = /obj/machinery/computer/bookmanagement - to_chat(user, "Access protocols successfully updated.") + to_chat(user, span_notice("Access protocols successfully updated.")) else return ..() @@ -475,15 +475,15 @@ . = ..() if(!(obj_flags & EMAGGED)) contraband = !contraband - to_chat(user, "Receiver spectrum set to [contraband ? "Broad" : "Standard"].") + to_chat(user, span_notice("Receiver spectrum set to [contraband ? "Broad" : "Standard"].")) else - to_chat(user, "The spectrum chip is unresponsive.") + to_chat(user, span_alert("The spectrum chip is unresponsive.")) /obj/item/circuitboard/computer/cargo/emag_act(mob/living/user) if(!(obj_flags & EMAGGED)) contraband = TRUE obj_flags |= EMAGGED - to_chat(user, "You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.") + to_chat(user, span_notice("You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.")) /obj/item/circuitboard/computer/cargo/configure_machine(obj/machinery/computer/cargo/machine) if(!istype(machine)) @@ -503,14 +503,14 @@ if(!(obj_flags & EMAGGED)) contraband = TRUE obj_flags |= EMAGGED - to_chat(user, "You change the routing protocols, allowing the Drop Pod to land anywhere on the station.") + to_chat(user, span_notice("You change the routing protocols, allowing the Drop Pod to land anywhere on the station.")) /obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user) if (!(obj_flags & EMAGGED)) contraband = !contraband - to_chat(user, "Receiver spectrum set to [contraband ? "Broad" : "Standard"].") + to_chat(user, span_notice("Receiver spectrum set to [contraband ? "Broad" : "Standard"].")) else - to_chat(user, "You reset the destination-routing protocols and receiver spectrum to factory defaults.") + to_chat(user, span_notice("You reset the destination-routing protocols and receiver spectrum to factory defaults.")) contraband = FALSE obj_flags &= ~EMAGGED diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 2c026fae287..0b8b2bf175c 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -287,11 +287,11 @@ . = ..() if (istype(I)) pipe_layer = (pipe_layer >= PIPING_LAYER_MAX) ? PIPING_LAYER_MIN : (pipe_layer + 1) - to_chat(user, "You change the circuitboard to layer [pipe_layer].") + to_chat(user, span_notice("You change the circuitboard to layer [pipe_layer].")) /obj/item/circuitboard/machine/thermomachine/examine() . = ..() - . += "It is set to layer [pipe_layer]." + . += span_notice("It is set to layer [pipe_layer].") /obj/item/circuitboard/machine/HFR_fuel_input name = "HFR Fuel Input (Machine Board)" @@ -393,7 +393,7 @@ else build_path = /obj/machinery/holopad/secure secure = TRUE - to_chat(user, "You [secure? "en" : "dis"]able the security on the [src]") + to_chat(user, span_notice("You [secure? "en" : "dis"]able the security on the [src]")) . = ..() /obj/item/circuitboard/machine/holopad/examine(mob/user) @@ -470,7 +470,7 @@ var/position = fridges_name_paths.Find(build_path, fridges_name_paths) position = (position == fridges_name_paths.len) ? 1 : (position + 1) build_path = fridges_name_paths[position] - to_chat(user, "You set the board to [fridges_name_paths[build_path]].") + to_chat(user, span_notice("You set the board to [fridges_name_paths[build_path]].")) else return ..() @@ -478,7 +478,7 @@ . = ..() if(is_special_type) return - . += "[src] is set to [fridges_name_paths[build_path]]. You can use a screwdriver to reconfigure it." + . += span_info("[src] is set to [fridges_name_paths[build_path]]. You can use a screwdriver to reconfigure it.") /obj/item/circuitboard/machine/space_heater @@ -704,7 +704,7 @@ build_path = new_path name = "[new_name] 3000 (Machine Board)" - to_chat(user, "You change the circuit board setting to \"[new_name]\".") + to_chat(user, span_notice("You change the circuit board setting to \"[new_name]\".")) else return ..() @@ -743,10 +743,10 @@ . = ..() var/new_cost = input("Set a new cost for using this medical kiosk.","New cost", custom_cost) as num|null if(!new_cost || (loc != user)) - to_chat(user, "You must hold the circuitboard to change its cost!") + to_chat(user, span_warning("You must hold the circuitboard to change its cost!")) return custom_cost = clamp(round(new_cost, 1), 10, 1000) - to_chat(user, "The cost is now set to [custom_cost].") + to_chat(user, span_notice("The cost is now set to [custom_cost].")) /obj/item/circuitboard/machine/medical_kiosk/examine(mob/user) . = ..() @@ -934,7 +934,7 @@ . = ..() var/new_cloud = input("Set the public nanite chamber's Cloud ID (1-100).", "Cloud ID", cloud_id) as num|null if(!new_cloud || (loc != user)) - to_chat(user, "You must hold the circuitboard to change its Cloud ID!") + to_chat(user, span_warning("You must hold the circuitboard to change its Cloud ID!")) return cloud_id = clamp(round(new_cloud, 1), 1, 100) @@ -1096,18 +1096,18 @@ /obj/item/circuitboard/machine/dish_drive/examine(mob/user) . = ..() - . += "Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch." - . += "Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch." + . += span_notice("Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch.") + . += span_notice("Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch.") /obj/item/circuitboard/machine/dish_drive/attack_self(mob/living/user) suction = !suction - to_chat(user, "You [suction ? "enable" : "disable"] the board's suction function.") + to_chat(user, span_notice("You [suction ? "enable" : "disable"] the board's suction function.")) /obj/item/circuitboard/machine/dish_drive/AltClick(mob/living/user) if(!user.Adjacent(src)) return transmit = !transmit - to_chat(user, "You [transmit ? "enable" : "disable"] the board's automatic disposal transmission.") + to_chat(user, span_notice("You [transmit ? "enable" : "disable"] the board's automatic disposal transmission.")) /obj/item/circuitboard/machine/gibber name = "Gibber (Machine Board)" @@ -1153,11 +1153,11 @@ if(build_path == /obj/machinery/processor) name = "Slime Processor (Machine Board)" build_path = /obj/machinery/processor/slime - to_chat(user, "Name protocols successfully updated.") + to_chat(user, span_notice("Name protocols successfully updated.")) else name = "Food Processor (Machine Board)" build_path = /obj/machinery/processor - to_chat(user, "Defaulting name protocols.") + to_chat(user, span_notice("Defaulting name protocols.")) else return ..() diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 46a263cbe06..a837549442b 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -49,7 +49,7 @@ msg = "It's started to get a little smaller than it used to be, but it'll definitely still last for a while." else msg = "It's seen some light use, but it's still pretty fresh." - . += "[msg]" + . += span_notice("[msg]") /obj/item/soap/nanotrasen desc = "A heavy duty bar of Nanotrasen brand soap. Smells of plasma." @@ -81,7 +81,7 @@ uses = 301 /obj/item/soap/omega/suicide_act(mob/user) - user.visible_message("[user] is using [src] to scrub themselves from the timeline! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is using [src] to scrub themselves from the timeline! It looks like [user.p_theyre()] trying to commit suicide!")) new /obj/structure/chrono_field(user.loc, user) return MANUAL_SUICIDE @@ -93,7 +93,7 @@ /obj/item/soap/suicide_act(mob/user) user.say(";FFFFFFFFFFFFFFFFUUUUUUUDGE!!", forced="soap suicide") - user.visible_message("[user] lifts [src] to [user.p_their()] mouth and gnaws on it furiously, producing a thick froth! [user.p_they(TRUE)]'ll never get that BB gun now!") + user.visible_message(span_suicide("[user] lifts [src] to [user.p_their()] mouth and gnaws on it furiously, producing a thick froth! [user.p_they(TRUE)]'ll never get that BB gun now!")) new /obj/effect/particle_effect/foam(loc) return (TOXLOSS) @@ -111,7 +111,7 @@ if(prob(skillcheck*100)) //higher level = more uses assuming RNG is nice uses-- if(uses <= 0) - to_chat(user, "[src] crumbles into tiny bits!") + to_chat(user, span_warning("[src] crumbles into tiny bits!")) qdel(src) /obj/item/soap/afterattack(atom/target, mob/user, proximity) @@ -124,11 +124,11 @@ //I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing. //So this is a workaround. This also makes more sense from an IC standpoint. ~Carn if(user.client && ((target in user.client.screen) && !user.is_holding(target))) - to_chat(user, "You need to take that [target.name] off before cleaning it!") + to_chat(user, span_warning("You need to take that [target.name] off before cleaning it!")) else if(istype(target, /obj/effect/decal/cleanable)) - user.visible_message("[user] begins to scrub \the [target.name] out with [src].", "You begin to scrub \the [target.name] out with [src]...") + user.visible_message(span_notice("[user] begins to scrub \the [target.name] out with [src]."), span_warning("You begin to scrub \the [target.name] out with [src]...")) if(do_after(user, clean_speedies, target = target)) - to_chat(user, "You scrub \the [target.name] out.") + to_chat(user, span_notice("You scrub \the [target.name] out.")) var/obj/effect/decal/cleanable/cleanies = target user.mind?.adjust_experience(/datum/skill/cleaning, max(round(cleanies.beauty/CLEAN_SKILL_BEAUTY_ADJUSTMENT),0)) //again, intentional that this does NOT round but mops do. qdel(target) @@ -136,24 +136,24 @@ else if(ishuman(target) && user.zone_selected == BODY_ZONE_PRECISE_MOUTH) var/mob/living/carbon/human/human_user = user - user.visible_message("\the [user] washes \the [target]'s mouth out with [src.name]!", "You wash \the [target]'s mouth out with [src.name]!") //washes mouth out with soap sounds better than 'the soap' here if(user.zone_selected == "mouth") + user.visible_message(span_warning("\the [user] washes \the [target]'s mouth out with [src.name]!"), span_notice("You wash \the [target]'s mouth out with [src.name]!")) //washes mouth out with soap sounds better than 'the soap' here if(user.zone_selected == "mouth") if(human_user.lip_style) user.mind?.adjust_experience(/datum/skill/cleaning, CLEAN_SKILL_GENERIC_WASH_XP) human_user.update_lips(null) decreaseUses(user) return else if(istype(target, /obj/structure/window)) - user.visible_message("[user] begins to clean \the [target.name] with [src]...", "You begin to clean \the [target.name] with [src]...") + user.visible_message(span_notice("[user] begins to clean \the [target.name] with [src]..."), span_notice("You begin to clean \the [target.name] with [src]...")) if(do_after(user, clean_speedies, target = target)) - to_chat(user, "You clean \the [target.name].") + to_chat(user, span_notice("You clean \the [target.name].")) target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) target.set_opacity(initial(target.opacity)) user.mind?.adjust_experience(/datum/skill/cleaning, CLEAN_SKILL_GENERIC_WASH_XP) decreaseUses(user) else - user.visible_message("[user] begins to clean \the [target.name] with [src]...", "You begin to clean \the [target.name] with [src]...") + user.visible_message(span_notice("[user] begins to clean \the [target.name] with [src]..."), span_notice("You begin to clean \the [target.name] with [src]...")) if(do_after(user, clean_speedies, target = target)) - to_chat(user, "You clean \the [target.name].") + to_chat(user, span_notice("You clean \the [target.name].")) if(user && isturf(target)) for(var/obj/effect/decal/cleanable/cleanable_decal in target) user.mind?.adjust_experience(/datum/skill/cleaning, round(cleanable_decal.beauty / CLEAN_SKILL_BEAUTY_ADJUSTMENT)) @@ -202,7 +202,7 @@ return ..() /obj/item/bikehorn/suicide_act(mob/user) - user.visible_message("[user] solemnly points [src] at [user.p_their()] temple! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] solemnly points [src] at [user.p_their()] temple! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/items/bikehorn.ogg', 50, TRUE) return (BRUTELOSS) diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index e14a7d8048f..7caf39bcb7c 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -26,9 +26,9 @@ if(QDELETED(data.user)) return // can't send a message to a missing user if(error_code == NETWORK_ERROR_UNAUTHORIZED) - to_chat(data.user, "This remote is not authorized to modify this door.") + to_chat(data.user, span_notice("This remote is not authorized to modify this door.")) else - to_chat(data.user, "Error: [error_code]") + to_chat(data.user, span_notice("Error: [error_code]")) /obj/item/door_remote/attack_self(mob/user) var/static/list/desc = list(WAND_OPEN = "Open Door", WAND_BOLT = "Toggle Bolts", WAND_EMERGENCY = "Toggle Emergency Access") diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index 869c3d0ace9..8eb01e1d5ff 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -40,7 +40,7 @@ /obj/item/lipstick/attack_self(mob/user) cut_overlays() - to_chat(user, "You twist \the [src] [open ? "closed" : "open"].") + to_chat(user, span_notice("You twist \the [src] [open ? "closed" : "open"].")) open = !open if(open) var/mutable_appearance/colored_overlay = mutable_appearance(icon, "lipstick_uncap_color") @@ -55,29 +55,29 @@ return if(!ishuman(M)) - to_chat(user, "Where are the lips on that?") + to_chat(user, span_warning("Where are the lips on that?")) return var/mob/living/carbon/human/target = M if(target.is_mouth_covered()) - to_chat(user, "Remove [ target == user ? "your" : "[target.p_their()]" ] mask!") + to_chat(user, span_warning("Remove [ target == user ? "your" : "[target.p_their()]" ] mask!")) return if(target.lip_style) //if they already have lipstick on - to_chat(user, "You need to wipe off the old lipstick first!") + to_chat(user, span_warning("You need to wipe off the old lipstick first!")) return if(target == user) - user.visible_message("[user] does [user.p_their()] lips with \the [src].", \ - "You take a moment to apply \the [src]. Perfect!") + user.visible_message(span_notice("[user] does [user.p_their()] lips with \the [src]."), \ + span_notice("You take a moment to apply \the [src]. Perfect!")) target.update_lips("lipstick", colour, lipstick_trait) return - user.visible_message("[user] begins to do [target]'s lips with \the [src].", \ - "You begin to apply \the [src] on [target]'s lips...") + user.visible_message(span_warning("[user] begins to do [target]'s lips with \the [src]."), \ + span_notice("You begin to apply \the [src] on [target]'s lips...")) if(!do_after(user, 2 SECONDS, target = target)) return - user.visible_message("[user] does [target]'s lips with \the [src].", \ - "You apply \the [src] on [target]'s lips.") + user.visible_message(span_notice("[user] does [target]'s lips with \the [src]."), \ + span_notice("You apply \the [src] on [target]'s lips.")) target.update_lips("lipstick", colour, lipstick_trait) @@ -88,16 +88,16 @@ var/mob/living/carbon/human/target = M if(target == user) - to_chat(user, "You wipe off the lipstick with [src].") + to_chat(user, span_notice("You wipe off the lipstick with [src].")) target.update_lips(null) return - user.visible_message("[user] begins to wipe [target]'s lipstick off with \the [src].", \ - "You begin to wipe off [target]'s lipstick...") + user.visible_message(span_warning("[user] begins to wipe [target]'s lipstick off with \the [src]."), \ + span_notice("You begin to wipe off [target]'s lipstick...")) if(!do_after(user, 10, target = target)) return - user.visible_message("[user] wipes [target]'s lipstick off with \the [src].", \ - "You wipe off [target]'s lipstick.") + user.visible_message(span_notice("[user] wipes [target]'s lipstick off with \the [src]."), \ + span_notice("You wipe off [target]'s lipstick.")) target.update_lips(null) @@ -110,7 +110,7 @@ w_class = WEIGHT_CLASS_TINY /obj/item/razor/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins shaving [user.p_them()]self without the razor guard! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins shaving [user.p_them()]self without the razor guard! It looks like [user.p_theyre()] trying to commit suicide!")) shave(user, BODY_ZONE_PRECISE_MOUTH) shave(user, BODY_ZONE_HEAD)//doesnt need to be BODY_ZONE_HEAD specifically, but whatever return BRUTELOSS @@ -130,23 +130,23 @@ var/mob/living/carbon/human/H = M var/location = user.zone_selected if((location in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_HEAD)) && !H.get_bodypart(BODY_ZONE_HEAD)) - to_chat(user, "[H] doesn't have a head!") + to_chat(user, span_warning("[H] doesn't have a head!")) return if(location == BODY_ZONE_PRECISE_MOUTH) if(!user.combat_mode) if(H.gender == MALE) if (H == user) - to_chat(user, "You need a mirror to properly style your own facial hair!") + to_chat(user, span_warning("You need a mirror to properly style your own facial hair!")) return if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return var/new_style = input(user, "Select a facial hairstyle", "Grooming") as null|anything in GLOB.facial_hairstyles_list if(!get_location_accessible(H, location)) - to_chat(user, "The mask is in the way!") + to_chat(user, span_warning("The mask is in the way!")) return - user.visible_message("[user] tries to change [H]'s facial hairstyle using [src].", "You try to change [H]'s facial hairstyle using [src].") + user.visible_message(span_notice("[user] tries to change [H]'s facial hairstyle using [src]."), span_notice("You try to change [H]'s facial hairstyle using [src].")) if(new_style && do_after(user, 60, target = H)) - user.visible_message("[user] successfully changes [H]'s facial hairstyle using [src].", "You successfully change [H]'s facial hairstyle using [src].") + user.visible_message(span_notice("[user] successfully changes [H]'s facial hairstyle using [src]."), span_notice("You successfully change [H]'s facial hairstyle using [src].")) H.facial_hairstyle = new_style H.update_hair() return @@ -155,77 +155,77 @@ else if(!(FACEHAIR in H.dna.species.species_traits)) - to_chat(user, "There is no facial hair to shave!") + to_chat(user, span_warning("There is no facial hair to shave!")) return if(!get_location_accessible(H, location)) - to_chat(user, "The mask is in the way!") + to_chat(user, span_warning("The mask is in the way!")) return if(H.facial_hairstyle == "Shaved") - to_chat(user, "Already clean-shaven!") + to_chat(user, span_warning("Already clean-shaven!")) return if(H == user) //shaving yourself - user.visible_message("[user] starts to shave [user.p_their()] facial hair with [src].", \ - "You take a moment to shave your facial hair with [src]...") + user.visible_message(span_notice("[user] starts to shave [user.p_their()] facial hair with [src]."), \ + span_notice("You take a moment to shave your facial hair with [src]...")) if(do_after(user, 50, target = H)) - user.visible_message("[user] shaves [user.p_their()] facial hair clean with [src].", \ - "You finish shaving with [src]. Fast and clean!") + user.visible_message(span_notice("[user] shaves [user.p_their()] facial hair clean with [src]."), \ + span_notice("You finish shaving with [src]. Fast and clean!")) shave(H, location) else - user.visible_message("[user] tries to shave [H]'s facial hair with [src].", \ - "You start shaving [H]'s facial hair...") + user.visible_message(span_warning("[user] tries to shave [H]'s facial hair with [src]."), \ + span_notice("You start shaving [H]'s facial hair...")) if(do_after(user, 50, target = H)) - user.visible_message("[user] shaves off [H]'s facial hair with [src].", \ - "You shave [H]'s facial hair clean off.") + user.visible_message(span_warning("[user] shaves off [H]'s facial hair with [src]."), \ + span_notice("You shave [H]'s facial hair clean off.")) shave(H, location) else if(location == BODY_ZONE_HEAD) if(!user.combat_mode) if (H == user) - to_chat(user, "You need a mirror to properly style your own hair!") + to_chat(user, span_warning("You need a mirror to properly style your own hair!")) return if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return var/new_style = input(user, "Select a hairstyle", "Grooming") as null|anything in GLOB.hairstyles_list if(!get_location_accessible(H, location)) - to_chat(user, "The headgear is in the way!") + to_chat(user, span_warning("The headgear is in the way!")) return if(HAS_TRAIT(H, TRAIT_BALD)) - to_chat(H, "[H] is just way too bald. Like, really really bald.") + to_chat(H, span_warning("[H] is just way too bald. Like, really really bald.")) return - user.visible_message("[user] tries to change [H]'s hairstyle using [src].", "You try to change [H]'s hairstyle using [src].") + user.visible_message(span_notice("[user] tries to change [H]'s hairstyle using [src]."), span_notice("You try to change [H]'s hairstyle using [src].")) if(new_style && do_after(user, 60, target = H)) - user.visible_message("[user] successfully changes [H]'s hairstyle using [src].", "You successfully change [H]'s hairstyle using [src].") + user.visible_message(span_notice("[user] successfully changes [H]'s hairstyle using [src]."), span_notice("You successfully change [H]'s hairstyle using [src].")) H.hairstyle = new_style H.update_hair() return else if(!(HAIR in H.dna.species.species_traits)) - to_chat(user, "There is no hair to shave!") + to_chat(user, span_warning("There is no hair to shave!")) return if(!get_location_accessible(H, location)) - to_chat(user, "The headgear is in the way!") + to_chat(user, span_warning("The headgear is in the way!")) return if(H.hairstyle == "Bald" || H.hairstyle == "Balding Hair" || H.hairstyle == "Skinhead") - to_chat(user, "There is not enough hair left to shave!") + to_chat(user, span_warning("There is not enough hair left to shave!")) return if(H == user) //shaving yourself - user.visible_message("[user] starts to shave [user.p_their()] head with [src].", \ - "You start to shave your head with [src]...") + user.visible_message(span_notice("[user] starts to shave [user.p_their()] head with [src]."), \ + span_notice("You start to shave your head with [src]...")) if(do_after(user, 5, target = H)) - user.visible_message("[user] shaves [user.p_their()] head with [src].", \ - "You finish shaving with [src].") + user.visible_message(span_notice("[user] shaves [user.p_their()] head with [src]."), \ + span_notice("You finish shaving with [src].")) shave(H, location) else var/turf/H_loc = H.loc - user.visible_message("[user] tries to shave [H]'s head with [src]!", \ - "You start shaving [H]'s head...") + user.visible_message(span_warning("[user] tries to shave [H]'s head with [src]!"), \ + span_notice("You start shaving [H]'s head...")) if(do_after(user, 50, target = H)) if(H_loc == H.loc) - user.visible_message("[user] shaves [H]'s head bald with [src]!", \ - "You shave [H]'s head bald.") + user.visible_message(span_warning("[user] shaves [H]'s head bald with [src]!"), \ + span_notice("You shave [H]'s head bald.")) shave(H, location) else ..() diff --git a/code/game/objects/items/courtroom.dm b/code/game/objects/items/courtroom.dm index 90a0975e4f3..5e02f8aa8cc 100644 --- a/code/game/objects/items/courtroom.dm +++ b/code/game/objects/items/courtroom.dm @@ -19,7 +19,7 @@ AddElement(/datum/element/kneejerk) /obj/item/gavelhammer/suicide_act(mob/user) - user.visible_message("[user] has sentenced [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] has sentenced [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1) return (BRUTELOSS) @@ -36,7 +36,7 @@ /obj/item/gavelblock/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/gavelhammer)) playsound(loc, 'sound/items/gavel.ogg', 100, TRUE) - user.visible_message("[user] strikes [src] with [I].") + user.visible_message(span_warning("[user] strikes [src] with [I].")) user.changeNext_move(CLICK_CD_MELEE) else return ..() diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 0928d34afe6..ba322f772b4 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -10,10 +10,10 @@ /obj/item/suspiciousphone/attack_self(mob/living/user) if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "This device is too advanced for you!") + to_chat(user, span_warning("This device is too advanced for you!")) return if(dumped) - to_chat(user, "You already activated Protocol CRAB-17.") + to_chat(user, span_warning("You already activated Protocol CRAB-17.")) return FALSE if(tgui_alert(user, "Are you sure you want to crash this market with no survivors?", "Protocol CRAB-17", list("Yes", "No")) == "Yes") if(dumped || QDELETED(src)) //Prevents fuckers from cheesing alert @@ -48,7 +48,7 @@ /obj/structure/checkoutmachine/examine(mob/living/user) . = ..() - . += "It's integrated integrity meter reads: HEALTH: [obj_integrity]." + . += span_info("It's integrated integrity meter reads: HEALTH: [obj_integrity].") /obj/structure/checkoutmachine/proc/check_if_finished() for(var/i in accounts_to_rob) @@ -64,15 +64,15 @@ if(istype(W, /obj/item/card/id)) var/obj/item/card/id/card = W if(!card.registered_account) - to_chat(user, "This card does not have a registered account!") + to_chat(user, span_warning("This card does not have a registered account!")) return if(!card.registered_account.being_dumped) - to_chat(user, "It appears that your funds are safe from draining!") + to_chat(user, span_warning("It appears that your funds are safe from draining!")) return if(do_after(user, 40, target = src)) if(!card.registered_account.being_dumped) return - to_chat(user, "You quickly cash out your funds to a more secure banking location. Funds are safu.") // This is a reference and not a typo + to_chat(user, span_warning("You quickly cash out your funds to a more secure banking location. Funds are safu.")) // This is a reference and not a typo card.registered_account.being_dumped = FALSE if(check_if_finished()) qdel(src) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 23aedbf0d08..89f7f4d8bde 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -76,7 +76,7 @@ return istype(surface, /turf/open/floor) /obj/item/toy/crayon/suicide_act(mob/user) - user.visible_message("[user] is jamming [src] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is jamming [src] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS|OXYLOSS) /obj/item/toy/crayon/Initialize() @@ -93,7 +93,7 @@ /obj/item/toy/crayon/examine(mob/user) . = ..() if(can_change_colour) - . += "Ctrl-click [src] while it's on your person to quickly recolour it." + . += span_notice("Ctrl-click [src] while it's on your person to quickly recolour it.") /obj/item/toy/crayon/proc/refill() if(charges == -1) @@ -138,12 +138,12 @@ if(charges == -1) . = FALSE else if(!charges_left) - to_chat(user, "There is no more of [src] left!") + to_chat(user, span_warning("There is no more of [src] left!")) if(self_contained) qdel(src) . = TRUE else if(charges_left < amount && requires_full) - to_chat(user, "There is not enough of [src] left!") + to_chat(user, span_warning("There is not enough of [src] left!")) . = TRUE /obj/item/toy/crayon/ui_state(mob/user) @@ -160,7 +160,7 @@ /obj/item/toy/crayon/spraycan/AltClick(mob/user) if(has_cap && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) is_capped = !is_capped - to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].") + to_chat(user, span_notice("The cap on [src] is now [is_capped ? "on" : "off"].")) update_appearance() /obj/item/toy/crayon/CtrlClick(mob/user) @@ -360,10 +360,10 @@ clicky = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) if(!instant) - to_chat(user, "You start drawing a [temp] on the [target.name]...") + to_chat(user, span_notice("You start drawing a [temp] on the [target.name]...")) if(pre_noise) - audible_message("You hear spraying.") + audible_message(span_notice("You hear spraying.")) playsound(user.loc, 'sound/effects/spray.ogg', 5, TRUE, 5) var/wait_time = 50 @@ -408,7 +408,7 @@ affected_turfs += right affected_turfs += target else - to_chat(user, "There isn't enough space to paint!") + to_chat(user, span_warning("There isn't enough space to paint!")) return C.add_hiddenprint(user) if(istagger) @@ -417,16 +417,16 @@ C.AddElement(/datum/element/art, BAD_ART) if(!instant) - to_chat(user, "You finish drawing \the [temp].") + to_chat(user, span_notice("You finish drawing \the [temp].")) else - to_chat(user, "You spray a [temp] on \the [target.name]") + to_chat(user, span_notice("You spray a [temp] on \the [target.name]")) if(length(text_buffer) > 1) text_buffer = copytext(text_buffer, length(text_buffer[1]) + 1) SStgui.update_uis(src) if(post_noise) - audible_message("You hear spraying.") + audible_message(span_hear("You hear spraying.")) playsound(user.loc, 'sound/effects/spray.ogg', 5, TRUE, 5) var/fraction = min(1, . / reagents.maximum_volume) @@ -446,9 +446,9 @@ else if(C.is_mouth_covered(mask_only = 1)) covered = "mask" if(covered) - to_chat(C, "You have to remove your [covered] first!") + to_chat(C, span_warning("You have to remove your [covered] first!")) return - to_chat(user, "You take a bite of the [src.name]. Delicious!") + to_chat(user, span_notice("You take a bite of the [src.name]. Delicious!")) var/eaten = use_charges(user, 5, FALSE) if(check_empty(user)) //Prevents divsion by zero return @@ -460,7 +460,7 @@ /obj/item/toy/crayon/proc/can_claim_for_gang(mob/user, atom/target, datum/antagonist/gang/user_gang) var/area/A = get_area(target) if(!A || (!is_station_level(A.z))) - to_chat(user, "[A] is unsuitable for tagging.") + to_chat(user, span_warning("[A] is unsuitable for tagging.")) return FALSE var/spraying_over = FALSE @@ -468,15 +468,15 @@ spraying_over = TRUE for(var/obj/machinery/power/apc in target) - to_chat(user, "You can't tag an APC.") + to_chat(user, span_warning("You can't tag an APC.")) return FALSE var/obj/effect/decal/cleanable/crayon/gang/occupying_gang = territory_claimed(A, user) if(occupying_gang && !spraying_over) if(occupying_gang.my_gang == user_gang.my_gang) - to_chat(user, "[A] has already been tagged by our gang!") + to_chat(user, span_danger("[A] has already been tagged by our gang!")) else - to_chat(user, "[A] has already been tagged by a gang! You must find and spray over the old tag instead!") + to_chat(user, span_danger("[A] has already been tagged by a gang! You must find and spray over the old tag instead!")) return FALSE // stolen from oldgang lmao @@ -493,7 +493,7 @@ tag.icon_state = "[user_gang.gang_id]_tag" tag.name = "[tag.my_gang.name] gang tag" tag.desc = "Looks like someone's claimed this area for [tag.my_gang.name]." - to_chat(user, "You tagged [territory] for [tag.my_gang.name]!") + to_chat(user, span_notice("You tagged [territory] for [tag.my_gang.name]!")) /obj/item/toy/crayon/proc/territory_claimed(area/territory, mob/user) for(var/obj/effect/decal/cleanable/crayon/gang/G in GLOB.gang_tags) @@ -626,26 +626,26 @@ var/obj/item/toy/crayon/C = W switch(C.crayon_color) if("mime") - to_chat(usr, "This crayon is too sad to be contained in this box!") + to_chat(usr, span_warning("This crayon is too sad to be contained in this box!")) return if("rainbow") - to_chat(usr, "This crayon is too powerful to be contained in this box!") + to_chat(usr, span_warning("This crayon is too powerful to be contained in this box!")) return if(istype(W, /obj/item/toy/crayon/spraycan)) - to_chat(user, "Spraycans are not crayons!") + to_chat(user, span_warning("Spraycans are not crayons!")) return return ..() /obj/item/storage/crayons/attack_self(mob/user) . = ..() if(contents.len > 0) - to_chat(user, "You can't fold down [src] with crayons inside!") + to_chat(user, span_warning("You can't fold down [src] with crayons inside!")) return if(flags_1 & HOLOGRAM_1) return var/obj/item/stack/sheet/cardboard/cardboard = new /obj/item/stack/sheet/cardboard(user.drop_location()) - to_chat(user, "You fold the [src] into cardboard.") + to_chat(user, span_notice("You fold the [src] into cardboard.")) user.put_in_active_hand(cardboard) qdel(src) @@ -684,11 +684,11 @@ /obj/item/toy/crayon/spraycan/suicide_act(mob/user) var/mob/living/carbon/human/H = user if(is_capped || !actually_paints) - user.visible_message("[user] shakes up [src] with a rattle and lifts it to [user.p_their()] mouth, but nothing happens!") + user.visible_message(span_suicide("[user] shakes up [src] with a rattle and lifts it to [user.p_their()] mouth, but nothing happens!")) user.say("MEDIOCRE!!", forced="spraycan suicide") return SHAME else - user.visible_message("[user] shakes up [src] with a rattle and lifts it to [user.p_their()] mouth, spraying paint across [user.p_their()] teeth!") + user.visible_message(span_suicide("[user] shakes up [src] with a rattle and lifts it to [user.p_their()] mouth, spraying paint across [user.p_their()] teeth!")) user.say("WITNESS ME!!", forced="spraycan suicide") if(pre_noise || post_noise) playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 5) @@ -718,14 +718,14 @@ . += "It has [charges_left] use\s left." else . += "It is empty." - . += "Alt-click [src] to [ is_capped ? "take the cap off" : "put the cap on"]." + . += span_notice("Alt-click [src] to [ is_capped ? "take the cap off" : "put the cap on"].") /obj/item/toy/crayon/spraycan/afterattack(atom/target, mob/user, proximity, params) if(!proximity) return if(is_capped) - to_chat(user, "Take the cap off first!") + to_chat(user, span_warning("Take the cap off first!")) return if(check_empty(user)) @@ -736,8 +736,8 @@ playsound(user.loc, 'sound/effects/spray.ogg', 25, TRUE, 5) var/mob/living/carbon/C = target - user.visible_message("[user] sprays [src] into the face of [target]!") - to_chat(target, "[user] sprays [src] into your face!") + user.visible_message(span_danger("[user] sprays [src] into the face of [target]!")) + to_chat(target, span_userdanger("[user] sprays [src] into your face!")) if(C.client) C.blur_eyes(3) @@ -761,7 +761,7 @@ var/color_is_dark = hsl[3] < DARK_COLOR_LIGHTNESS_THRESHOLD if (color_is_dark && !(target.flags_1 & ALLOW_DARK_PAINTS_1)) - to_chat(user, "A color that dark on an object like this? Surely not...") + to_chat(user, span_warning("A color that dark on an object like this? Surely not...")) return FALSE target.add_atom_colour(paint_color, WASHABLE_COLOUR_PRIORITY) @@ -771,7 +771,7 @@ if(pre_noise || post_noise) playsound(user.loc, 'sound/effects/spray.ogg', 5, TRUE, 5) - user.visible_message("[user] coats [target] with spray paint!", "You coat [target] with spray paint.") + user.visible_message(span_notice("[user] coats [target] with spray paint!"), span_notice("You coat [target] with spray paint.")) return . = ..() @@ -795,7 +795,7 @@ /obj/item/toy/crayon/spraycan/borg/afterattack(atom/target,mob/user,proximity, params) var/diff = ..() if(!iscyborg(user)) - to_chat(user, "How did you get this?") + to_chat(user, span_notice("How did you get this?")) qdel(src) return FALSE diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index 2acb509be05..66b70bbf839 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -17,8 +17,8 @@ /obj/item/holochip/examine(mob/user) . = ..() - . += "It's loaded with [credits] credit[( credits > 1 ) ? "s" : ""]\n"+\ - "Alt-Click to split." + . += "[span_notice("It's loaded with [credits] credit[( credits > 1 ) ? "s" : ""]")]\n"+\ + span_notice("Alt-Click to split.") /obj/item/holochip/get_item_credit_value() return credits @@ -94,7 +94,7 @@ if(istype(I, /obj/item/holochip)) var/obj/item/holochip/H = I credits += H.credits - to_chat(user, "You insert the credits into [src].") + to_chat(user, span_notice("You insert the credits into [src].")) update_appearance() qdel(H) @@ -112,7 +112,7 @@ H.forceMove(user.drop_location()) add_fingerprint(user) H.add_fingerprint(user) - to_chat(user, "You extract [split_amount] credits into a new holochip.") + to_chat(user, span_notice("You extract [split_amount] credits into a new holochip.")) /obj/item/holochip/emp_act(severity) . = ..() @@ -120,7 +120,7 @@ return var/wipe_chance = 60 / severity if(prob(wipe_chance)) - visible_message("[src] fizzles and disappears!") + visible_message(span_warning("[src] fizzles and disappears!")) qdel(src) //rip cash /obj/item/holochip/thousand diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index e3e1caa3ab5..f527e035b76 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -44,9 +44,9 @@ /obj/item/defibrillator/examine(mob/user) . = ..() if(cell) - . += "Use a screwdriver to remove the cell." + . += span_notice("Use a screwdriver to remove the cell.") else - . += "It has no power cell!" + . += span_warning("It has no power cell!") /obj/item/defibrillator/fire_act(exposed_temperature, exposed_volume) . = ..() @@ -101,13 +101,13 @@ if(user.get_item_by_slot(ITEM_SLOT_BACK) == src) ui_action_click() else - to_chat(user, "Put the defibrillator on your back first!") + to_chat(user, span_warning("Put the defibrillator on your back first!")) else if(slot_flags == ITEM_SLOT_BELT) if(user.get_item_by_slot(ITEM_SLOT_BELT) == src) ui_action_click() else - to_chat(user, "Strap the defibrillator's belt on first!") + to_chat(user, span_warning("Strap the defibrillator's belt on first!")) return else if(istype(loc, /obj/machinery/defibrillator_mount)) ui_action_click() //checks for this are handled in defibrillator.mount.dm @@ -127,22 +127,22 @@ else if(istype(W, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = W if(cell) - to_chat(user, "[src] already has a cell!") + to_chat(user, span_warning("[src] already has a cell!")) else if(C.maxcharge < paddles.revivecost) - to_chat(user, "[src] requires a higher capacity cell.") + to_chat(user, span_notice("[src] requires a higher capacity cell.")) return if(!user.transferItemToLoc(W, src)) return cell = W - to_chat(user, "You install a cell in [src].") + to_chat(user, span_notice("You install a cell in [src].")) update_power() else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(cell) cell.update_appearance() cell.forceMove(get_turf(src)) cell = null - to_chat(user, "You remove the cell from [src].") + to_chat(user, span_notice("You remove the cell from [src].")) update_power() else return ..() @@ -150,10 +150,10 @@ /obj/item/defibrillator/emag_act(mob/user) if(safety) safety = FALSE - to_chat(user, "You silently disable [src]'s safety protocols with the cryptographic sequencer.") + to_chat(user, span_warning("You silently disable [src]'s safety protocols with the cryptographic sequencer.")) else safety = TRUE - to_chat(user, "You silently enable [src]'s safety protocols with the cryptographic sequencer.") + to_chat(user, span_notice("You silently enable [src]'s safety protocols with the cryptographic sequencer.")) /obj/item/defibrillator/emp_act(severity) . = ..() @@ -163,11 +163,11 @@ return if(safety) safety = FALSE - visible_message("[src] beeps: Safety protocols disabled!") + visible_message(span_notice("[src] beeps: Safety protocols disabled!")) playsound(src, 'sound/machines/defib_saftyOff.ogg', 50, FALSE) else safety = TRUE - visible_message("[src] beeps: Safety protocols enabled!") + visible_message(span_notice("[src] beeps: Safety protocols enabled!")) playsound(src, 'sound/machines/defib_saftyOn.ogg', 50, FALSE) update_power() @@ -181,7 +181,7 @@ //Detach the paddles into the user's hands if(!usr.put_in_hands(paddles)) on = FALSE - to_chat(user, "You need a free hand to hold the paddles!") + to_chat(user, span_warning("You need a free hand to hold the paddles!")) update_power() return else @@ -235,10 +235,10 @@ /obj/item/defibrillator/proc/finish_charging() if(cell) if(cell.charge >= paddles.revivecost) - visible_message("[src] beeps: Unit ready.") + visible_message(span_notice("[src] beeps: Unit ready.")) playsound(src, 'sound/machines/defib_ready.ogg', 50, FALSE) else - visible_message("[src] beeps: Charge depleted.") + visible_message(span_notice("[src] beeps: Charge depleted.")) playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) paddles.cooldown = FALSE paddles.update_appearance() @@ -360,9 +360,9 @@ if(!in_range(src,defib)) if(isliving(loc)) var/mob/living/user = loc - to_chat(user, "[defib]'s paddles overextend and come out of your hands!") + to_chat(user, span_warning("[defib]'s paddles overextend and come out of your hands!")) else - visible_message("[src] snap back into [defib].") + visible_message(span_notice("[src] snap back into [defib].")) snap_back() /obj/item/shockpaddles/proc/recharge(time) @@ -372,7 +372,7 @@ update_appearance() sleep(time) var/turf/T = get_turf(src) - T.audible_message("[src] beeps: Unit is recharged.") + T.audible_message(span_notice("[src] beeps: Unit is recharged.")) playsound(src, 'sound/machines/defib_ready.ogg', 50, FALSE) cooldown = FALSE update_appearance() @@ -391,7 +391,7 @@ 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!") + user.visible_message(span_danger("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")) if(req_defib) defib.deductcharge(revivecost) playsound(src, 'sound/machines/defib_zap.ogg', 50, TRUE, -1) @@ -410,7 +410,7 @@ UnregisterSignal(user, COMSIG_MOVABLE_MOVED) if(req_defib) if(user) - to_chat(user, "The paddles snap back into the main unit.") + to_chat(user, span_notice("The paddles snap back into the main unit.")) snap_back() /obj/item/shockpaddles/proc/snap_back() @@ -425,20 +425,20 @@ return defib?.update_power() if(req_defib && !defib.powered) - user.visible_message("[defib] beeps: Not enough charge!") + user.visible_message(span_warning("[defib] beeps: Not enough charge!")) playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) return if(!wielded) if(iscyborg(user)) - to_chat(user, "You must activate the paddles in your active module before you can use them on someone!") + to_chat(user, span_warning("You must activate the paddles in your active module before you can use them on someone!")) else - to_chat(user, "You need to wield the paddles in both hands before you can use them on someone!") + to_chat(user, span_warning("You need to wield the paddles in both hands before you can use them on someone!")) return if(cooldown) if(req_defib) - to_chat(user, "[defib] is recharging!") + to_chat(user, span_warning("[defib] is recharging!")) else - to_chat(user, "[src] are recharging!") + to_chat(user, span_warning("[src] are recharging!")) return var/list/modifiers = params2list(params) @@ -448,14 +448,14 @@ if(!iscarbon(M)) if(req_defib) - to_chat(user, "The instructions on [defib] don't mention how to revive that...") + to_chat(user, span_warning("The instructions on [defib] don't mention how to revive that...")) else - to_chat(user, "You aren't sure how to revive that...") + to_chat(user, span_warning("You aren't sure how to revive that...")) return var/mob/living/carbon/H = M if(user.zone_selected != BODY_ZONE_CHEST) - to_chat(user, "You need to target your patient's chest with [src]!") + to_chat(user, span_warning("You need to target your patient's chest with [src]!")) return if(user.combat_mode) @@ -472,7 +472,7 @@ if(isliving(H.pulledby)) //CLEAR! var/mob/living/M = H.pulledby if(M.electrocute_act(30, H)) - M.visible_message("[M] is electrocuted by [M.p_their()] contact with [H]!") + M.visible_message(span_danger("[M] is electrocuted by [M.p_their()] contact with [H]!")) M.emote("scream") /obj/item/shockpaddles/proc/do_disarm(mob/living/M, mob/living/user) @@ -481,8 +481,8 @@ if(!req_defib && !combat) return busy = TRUE - M.visible_message("[user] touches [M] with [src]!", \ - "[user] touches [M] with [src]!") + M.visible_message(span_danger("[user] touches [M] with [src]!"), \ + span_userdanger("[user] touches [M] with [src]!")) M.adjustStaminaLoss(60) M.Knockdown(75) M.Jitter(50) @@ -506,39 +506,39 @@ return if(!req_defib && !combat) return - 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...") + user.visible_message(span_warning("[user] begins to place [src] on [H]'s chest."), + span_warning("You overcharge the paddles and begin to place them onto [H]'s chest...")) busy = TRUE update_appearance() if(do_after(user, 1.5 SECONDS, H)) - user.visible_message("[user] places [src] on [H]'s chest.", - "You place [src] on [H]'s chest and begin to charge them.") + user.visible_message(span_notice("[user] places [src] on [H]'s chest."), + span_warning("You place [src] on [H]'s chest and begin to charge them.")) var/turf/T = get_turf(defib) playsound(src, 'sound/machines/defib_charge.ogg', 50, FALSE) if(req_defib) - T.audible_message("\The [defib] lets out an urgent beep and lets out a steadily rising hum...") + T.audible_message(span_warning("\The [defib] lets out an urgent beep and lets out a steadily rising hum...")) else - user.audible_message("[src] let out an urgent beep.") + user.audible_message(span_warning("[src] let out an urgent beep.")) if(do_after(user, 1.5 SECONDS, H)) //Takes longer due to overcharging if(!H) busy = FALSE update_appearance() return if(H && H.stat == DEAD) - to_chat(user, "[H] is dead.") + to_chat(user, span_warning("[H] is dead.")) playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE update_appearance() return - user.visible_message("[user] shocks [H] with \the [src]!", "You shock [H] with \the [src]!") + user.visible_message(span_boldannounce("[user] shocks [H] with \the [src]!"), span_warning("You shock [H] with \the [src]!")) playsound(src, 'sound/machines/defib_zap.ogg', 100, TRUE, -1) playsound(src, 'sound/weapons/egloves.ogg', 100, TRUE, -1) H.emote("scream") shock_touching(45, H) if(H.can_heartattack() && !H.undergoing_cardiac_arrest()) if(!H.stat) - H.visible_message("[H] thrashes wildly, clutching at [H.p_their()] chest!", - "You feel a horrible agony in your chest!") + H.visible_message(span_warning("[H] thrashes wildly, clutching at [H.p_their()] chest!"), + span_userdanger("You feel a horrible agony in your chest!")) H.set_heartattack(TRUE) H.apply_damage(50, BURN, BODY_ZONE_CHEST) log_combat(user, H, "overloaded the heart of", defib) @@ -557,24 +557,24 @@ 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...") + user.visible_message(span_warning("[user] begins to place [src] on [H]'s chest."), span_warning("You begin to place [src] on [H]'s chest...")) busy = TRUE update_appearance() if(do_after(user, 3 SECONDS, 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.") + user.visible_message(span_notice("[user] places [src] on [H]'s chest."), span_warning("You place [src] on [H]'s chest.")) playsound(src, 'sound/machines/defib_charge.ogg', 75, FALSE) var/obj/item/organ/heart = H.getorgan(/obj/item/organ/heart) if(do_after(user, 2 SECONDS, H)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total if((!combat && !req_defib) || (req_defib && !defib.combat)) for(var/obj/item/clothing/C in H.get_equipped_items()) if((C.body_parts_covered & CHEST) && (C.clothing_flags & THICKMATERIAL)) //check to see if something is obscuring their chest. - user.audible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's chest is obscured. Operation aborted.") + user.audible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's chest is obscured. Operation aborted.")) playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) busy = FALSE update_appearance() return if(H.stat == DEAD) - H.visible_message("[H]'s body convulses a bit.") + H.visible_message(span_warning("[H]'s body convulses a bit.")) playsound(src, "bodyfall", 50, TRUE) playsound(src, 'sound/machines/defib_zap.ogg', 75, TRUE, -1) shock_touching(30, H) @@ -601,7 +601,7 @@ fail_reason = "Patient's brain is missing. Further attempts futile." if(fail_reason) - user.visible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - [fail_reason]") + user.visible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - [fail_reason]")) playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) else var/total_brute = H.getBruteLoss() @@ -618,7 +618,7 @@ H.adjustFireLoss((mobhealth - HALFWAYCRITDEATH) * (total_burn / overall_damage), 0) H.adjustBruteLoss((mobhealth - HALFWAYCRITDEATH) * (total_brute / overall_damage), 0) H.updatehealth() // Previous "adjust" procs don't update health, so we do it manually. - user.visible_message("[req_defib ? "[defib]" : "[src]"] pings: Resuscitation successful.") + user.visible_message(span_notice("[req_defib ? "[defib]" : "[src]"] pings: Resuscitation successful.")) playsound(src, 'sound/machines/defib_success.ogg', 50, FALSE) H.set_heartattack(FALSE) H.grab_ghost() @@ -637,18 +637,18 @@ else recharge(60) else if (!H.getorgan(/obj/item/organ/heart)) - user.visible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's heart is missing. Operation aborted.") + user.visible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Patient's heart is missing. Operation aborted.")) playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) else if(H.undergoing_cardiac_arrest()) playsound(src, 'sound/machines/defib_zap.ogg', 50, TRUE, -1) if(!(heart.organ_flags & ORGAN_FAILING)) H.set_heartattack(FALSE) - user.visible_message("[req_defib ? "[defib]" : "[src]"] pings: Patient's heart is now beating again.") + user.visible_message(span_notice("[req_defib ? "[defib]" : "[src]"] pings: Patient's heart is now beating again.")) else - user.visible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed, heart damage detected.") + user.visible_message(span_warning("[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed, heart damage detected.")) else - user.visible_message("[req_defib ? "[defib]" : "[src]"] buzzes: Patient is not in a valid state. Operation aborted.") + user.visible_message(span_warning("[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_appearance() diff --git a/code/game/objects/items/dehy_carp.dm b/code/game/objects/items/dehy_carp.dm index 17aed4d32ed..a75e8d0ad6d 100644 --- a/code/game/objects/items/dehy_carp.dm +++ b/code/game/objects/items/dehy_carp.dm @@ -13,7 +13,7 @@ /obj/item/toy/plush/carpplushie/dehy_carp/attack_self(mob/user) src.add_fingerprint(user) //Anyone can add their fingerprints to it with this if(!owned) - to_chat(user, "You pet [src]. You swear it looks up at you.") + to_chat(user, span_notice("You pet [src]. You swear it looks up at you.")) owner = user owned = 1 else @@ -24,7 +24,7 @@ /obj/item/toy/plush/carpplushie/dehy_carp/proc/Swell() desc = "It's growing!" - visible_message("[src] swells up!") + visible_message(span_notice("[src] swells up!")) //Animation icon = 'icons/mob/carp.dmi' @@ -43,20 +43,20 @@ factions -= F M.faction = factions if (!owner || owner.faction != M.faction) - visible_message("You have a bad feeling about this.") //welcome to the hostile carp enjoy your die + visible_message(span_warning("You have a bad feeling about this.")) //welcome to the hostile carp enjoy your die else - visible_message("The newly grown [M.name] looks up at you with friendly eyes.") + visible_message(span_notice("The newly grown [M.name] looks up at you with friendly eyes.")) qdel(src) - + /obj/item/toy/plush/carpplushie/dehy_carp/suicide_act(mob/user) var/mob/living/carbon/human/H = user - user.visible_message("[user] starts eating [src]. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] starts eating [src]. It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/items/eatfood.ogg', 50, TRUE) if(istype(H)) H.Paralyze(30) forceMove(H) //we move it AWAAAYY sleep(20) - + if(QDELETED(src)) return SHAME if(!QDELETED(H)) @@ -66,7 +66,7 @@ icon = 'icons/mob/carp.dmi' flick("carp_swell", src) sleep(6) //let the animation play out - + if(!QDELETED(src)) var/mob/living/M = new mobtype(get_turf(src)) M.faction = list("neutral") diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index d19342ad748..91d5f3d3ea9 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -91,7 +91,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/deathMessage = msg_input(user) if (!deathMessage) deathMessage = "i ded" - user.visible_message("[user] is sending a message to the Grim Reaper! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is sending a message to the Grim Reaper! It looks like [user.p_theyre()] trying to commit suicide!")) tnote += "→ To The Grim Reaper:
[deathMessage]
"//records a message in their PDA as being sent to the grim reaper return BRUTELOSS @@ -101,13 +101,13 @@ GLOBAL_LIST_EMPTY(PDAs) return if(id) - . += "Alt-click to remove the ID." //won't name ID on examine in case it's stolen + . += span_notice("Alt-click to remove the ID.") //won't name ID on examine in case it's stolen if(inserted_item && (!isturf(loc))) - . += "Ctrl-click to remove [inserted_item]." //traitor pens are disguised so we're fine naming them on examine + . += span_notice("Ctrl-click to remove [inserted_item].") //traitor pens are disguised so we're fine naming them on examine if((!isnull(cartridge))) - . += "Ctrl+Shift-click to remove the cartridge." //won't name cart on examine in case it's Detomatix + . += span_notice("Ctrl+Shift-click to remove the cartridge.") //won't name cart on examine in case it's Detomatix /obj/item/pda/Initialize() . = ..() @@ -207,13 +207,13 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/attack_self_tk(mob/user) - to_chat(user, "The PDA's capacitive touch screen doesn't seem to respond!") + to_chat(user, span_warning("The PDA's capacitive touch screen doesn't seem to respond!")) return COMPONENT_CANCEL_ATTACK_CHAIN /obj/item/pda/interact(mob/user) if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return ..() @@ -588,7 +588,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/alert_s = input(U,"Alert severity level","Ping Drones",null) as null|anything in list("Low","Medium","High","Critical") var/area/A = get_area(U) if(A && alert_s && !QDELETED(U)) - var/msg = "NON-DRONE PING: [U.name]: [alert_s] priority alert in [A.name]!" + var/msg = span_boldnotice("NON-DRONE PING: [U.name]: [alert_s] priority alert in [A.name]!") _alert_drones(msg, TRUE, U) to_chat(U, msg) if(!silent) @@ -596,7 +596,7 @@ GLOBAL_LIST_EMPTY(PDAs) if("Drone Access") var/mob/living/simple_animal/drone/drone_user = U if(isdrone(U) && drone_user.shy) - to_chat(U, "Your laws prevent this action.") + to_chat(U, span_warning("Your laws prevent this action.")) return var/new_state = text2num(href_list["drone_blacklist"]) GLOB.drone_machine_blacklist_enabled = new_state @@ -672,7 +672,7 @@ GLOBAL_LIST_EMPTY(PDAs) pai.attack_self(U) if("2") // Eject pAI device usr.put_in_hands(pai) - to_chat(usr, "You remove the pAI from the [name].") + to_chat(usr, span_notice("You remove the pAI from the [name].")) //SKILL FUNCTIONS=================================== @@ -720,7 +720,7 @@ GLOBAL_LIST_EMPTY(PDAs) return if(user) user.put_in_hands(id) - to_chat(user, "You remove the ID from the [name].") + to_chat(user, span_notice("You remove the ID from the [name].")) else id.forceMove(get_turf(src)) @@ -783,7 +783,7 @@ GLOBAL_LIST_EMPTY(PDAs) // If it didn't reach, note that fact if (!signal.data["done"]) - to_chat(user, "ERROR: Server isn't responding.") + to_chat(user, span_notice("ERROR: Server isn't responding.")) if(!silent) playsound(src, 'sound/machines/terminal_error.ogg', 15, TRUE) return @@ -796,13 +796,13 @@ GLOBAL_LIST_EMPTY(PDAs) // Log it in our logs tnote += "→ To [target_text]:
[signal.format_message()]
" // Show it to ghosts - var/ghost_message = "[owner] PDA Message --> [target_text]: [signal.format_message()]" + var/ghost_message = span_name("[owner]
PDA Message --> [span_name("[target_text]")]: [signal.format_message()]") for(var/mob/M in GLOB.player_list) if(isobserver(M) && (M.client.prefs.chat_toggles & CHAT_GHOSTPDA)) to_chat(M, "[FOLLOW_LINK(M, user)] [ghost_message]") // Log in the talk log user.log_talk(message, LOG_PDA, tag="PDA: [initial(name)] to [target_text]") - to_chat(user, "PDA message sent to [target_text]: \"[message]\"") + to_chat(user, span_info("PDA message sent to [target_text]: \"[message]\"")) if(!silent) playsound(src, 'sound/machines/terminal_success.ogg', 15, TRUE) // Reset the photo @@ -852,7 +852,7 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/proc/send_to_all(mob/living/U) if (last_everyone && world.time < last_everyone + PDA_SPAM_DELAY) - to_chat(U,"Send To All function is still on cooldown.") + to_chat(U,span_warning("Send To All function is still on cooldown.")) return send_message(U,get_viewable_pdas(), TRUE) @@ -894,7 +894,7 @@ GLOBAL_LIST_EMPTY(PDAs) if(id) remove_id(usr) else - to_chat(usr, "This PDA does not have an ID in it!") + to_chat(usr, span_warning("This PDA does not have an ID in it!")) /obj/item/pda/verb/verb_remove_pen() set category = "Object" @@ -928,7 +928,7 @@ GLOBAL_LIST_EMPTY(PDAs) set_light_on(FALSE) set_light_range(0) //We won't be turning on again. update_appearance() - visible_message("The light in [src] shorts out!") + visible_message(span_danger("The light in [src] shorts out!")) return COMPONENT_BLOCK_LIGHT_EATER /obj/item/pda/proc/remove_pen(mob/user) @@ -938,19 +938,19 @@ GLOBAL_LIST_EMPTY(PDAs) if(inserted_item) user.put_in_hands(inserted_item) - to_chat(user, "You remove [inserted_item] from [src].") + to_chat(user, span_notice("You remove [inserted_item] from [src].")) inserted_item = null update_appearance() playsound(src, 'sound/machines/pda_button2.ogg', 50, TRUE) else - to_chat(user, "This PDA does not have a pen in it!") + to_chat(user, span_warning("This PDA does not have a pen in it!")) /obj/item/pda/proc/eject_cart(mob/user) if(issilicon(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) //TK disabled to stop cartridge teleporting into hand return if (!isnull(cartridge)) user.put_in_hands(cartridge) - to_chat(user, "You eject [cartridge] from [src].") + to_chat(user, span_notice("You eject [cartridge] from [src].")) scanmode = PDA_SCANNER_NONE cartridge.host_pda = null cartridge = null @@ -1004,9 +1004,9 @@ GLOBAL_LIST_EMPTY(PDAs) var/obj/item/cartridge/virus/installed_cartridge = cartridge if(installed_cartridge.charges <=0) - to_chat(user, "Out of charges.") + to_chat(user, span_notice("Out of charges.")) return ..() - to_chat(user, "You upload the virus to the airlock controller!") + to_chat(user, span_notice("You upload the virus to the airlock controller!")) var/sig_list if(istype(target,/obj/machinery/door/airlock)) sig_list += list(COMSIG_AIRLOCK_OPEN, COMSIG_AIRLOCK_CLOSE) @@ -1025,7 +1025,7 @@ GLOBAL_LIST_EMPTY(PDAs) eject_cart(user) cartridge = C cartridge.host_pda = src - to_chat(user, "You insert [cartridge] into [src].") + to_chat(user, span_notice("You insert [cartridge] into [src].")) updateSelfDialog() update_appearance() playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) @@ -1033,7 +1033,7 @@ GLOBAL_LIST_EMPTY(PDAs) else if(istype(C, /obj/item/card/id)) var/obj/item/card/id/idcard = C if(!idcard.registered_name) - to_chat(user, "\The [src] rejects the ID!") + to_chat(user, span_warning("\The [src] rejects the ID!")) if(!silent) playsound(src, 'sound/machines/terminal_error.ogg', 50, TRUE) return @@ -1041,13 +1041,13 @@ GLOBAL_LIST_EMPTY(PDAs) owner = idcard.registered_name ownjob = idcard.assignment update_label() - to_chat(user, "Card scanned.") + to_chat(user, span_notice("Card scanned.")) if(!silent) playsound(src, 'sound/machines/terminal_success.ogg', 50, TRUE) else if(!id_check(user, idcard)) return - to_chat(user, "You put the ID into \the [src]'s slot.") + to_chat(user, span_notice("You put the ID into \the [src]'s slot.")) updateSelfDialog()//Update self dialog on success. return //Return in case of failed check or when successful. @@ -1056,23 +1056,23 @@ GLOBAL_LIST_EMPTY(PDAs) if(!user.transferItemToLoc(C, src)) return pai = C - to_chat(user, "You slot \the [C] into [src].") + to_chat(user, span_notice("You slot \the [C] into [src].")) update_appearance() updateUsrDialog() else if(is_type_in_list(C, contained_item)) //Checks if there is a pen if(inserted_item) - to_chat(user, "There is already \a [inserted_item] in \the [src]!") + to_chat(user, span_warning("There is already \a [inserted_item] in \the [src]!")) else if(!user.transferItemToLoc(C, src)) return - to_chat(user, "You slide \the [C] into \the [src].") + to_chat(user, span_notice("You slide \the [C] into \the [src].")) inserted_item = C update_appearance() playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) else if(istype(C, /obj/item/photo)) var/obj/item/photo/P = C picture = P.picture - to_chat(user, "You scan \the [C].") + to_chat(user, span_notice("You scan \the [C].")) // Check to see if we have an ID inside, and a valid input for money else if(id && iscash(C)) id.attackby(C, user) // If we do, try and put that attacking object in @@ -1084,18 +1084,18 @@ GLOBAL_LIST_EMPTY(PDAs) switch(scanmode) if(PDA_SCANNER_MEDICAL) - C.visible_message("[user] analyzes [C]'s vitals.") + C.visible_message(span_notice("[user] analyzes [C]'s vitals.")) healthscan(user, C, 1) add_fingerprint(user) if(PDA_SCANNER_HALOGEN) - C.visible_message("[user] analyzes [C]'s radiation levels.") + C.visible_message(span_notice("[user] analyzes [C]'s radiation levels.")) - user.show_message("Analyzing Results for [C]:") + user.show_message(span_notice("Analyzing Results for [C]:")) if(C.radiation) user.show_message("\green Radiation Level: \black [C.radiation]") else - user.show_message("No radiation detected.") + user.show_message(span_notice("No radiation detected.")) /obj/item/pda/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) . = ..() @@ -1106,13 +1106,13 @@ GLOBAL_LIST_EMPTY(PDAs) if(!isnull(A.reagents)) if(A.reagents.reagent_list.len > 0) var/reagents_length = A.reagents.reagent_list.len - to_chat(user, "[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.") + to_chat(user, span_notice("[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.")) for (var/re in A.reagents.reagent_list) - to_chat(user, "\t [re]") + to_chat(user, span_notice("\t [re]")) else - to_chat(user, "No active chemical agents found in [A].") + to_chat(user, span_notice("No active chemical agents found in [A].")) else - to_chat(user, "No significant chemical agents found in [A].") + to_chat(user, span_notice("No significant chemical agents found in [A].")) if(PDA_SCANNER_GAS) A.analyzer_act(user, src) @@ -1120,7 +1120,7 @@ GLOBAL_LIST_EMPTY(PDAs) if (!scanmode && istype(A, /obj/item/paper) && owner) var/obj/item/paper/PP = A if (!PP.info) - to_chat(user, "Unable to scan! Paper is blank.") + to_chat(user, span_warning("Unable to scan! Paper is blank.")) return notehtml = PP.info note = replacetext(notehtml, "
", "\[br\]") @@ -1129,7 +1129,7 @@ GLOBAL_LIST_EMPTY(PDAs) note = replacetext(note, "", "\[/list\]") note = html_encode(note) notescanned = TRUE - to_chat(user, "Paper scanned. Saved to PDA's notekeeper." ) + to_chat(user, span_notice("Paper scanned. Saved to PDA's notekeeper.") ) /obj/item/pda/proc/explode() //This needs tuning. @@ -1137,9 +1137,9 @@ GLOBAL_LIST_EMPTY(PDAs) if (ismob(loc)) var/mob/M = loc - M.show_message("Your [src] explodes!", MSG_VISUAL, "You hear a loud *pop*!", MSG_AUDIBLE) + M.show_message(span_userdanger("Your [src] explodes!"), MSG_VISUAL, span_warning("You hear a loud *pop*!"), MSG_AUDIBLE) else - visible_message("[src] explodes!", "You hear a loud *pop*!") + visible_message(span_danger("[src] explodes!"), span_warning("You hear a loud *pop*!")) if(T) T.hotspot_expose(700,125) @@ -1173,7 +1173,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/mob/living/silicon/S = usr if(istype(S) && !isnull(S.aiPDA)) S.aiPDA.toff = !S.aiPDA.toff - to_chat(usr, "PDA sender/receiver toggled [(S.aiPDA.toff ? "Off" : "On")]!") + to_chat(usr, span_notice("PDA sender/receiver toggled [(S.aiPDA.toff ? "Off" : "On")]!")) else to_chat(usr, "You do not have a PDA. You should make an issue report about this.") @@ -1187,7 +1187,7 @@ GLOBAL_LIST_EMPTY(PDAs) if(istype(S) && !isnull(S.aiPDA)) //0 S.aiPDA.silent = !S.aiPDA.silent - to_chat(usr, "PDA ringer toggled [(S.aiPDA.silent ? "Off" : "On")]!") + to_chat(usr, span_notice("PDA ringer toggled [(S.aiPDA.silent ? "Off" : "On")]!")) else to_chat(usr, "You do not have a PDA. You should make an issue report about this.") @@ -1196,7 +1196,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/list/namecounts = list() if(aiPDA.toff) - to_chat(user, "Turn on your receiver in order to send messages.") + to_chat(user, span_alert("Turn on your receiver in order to send messages.")) return for (var/obj/item/pda/P in get_viewable_pdas()) @@ -1232,7 +1232,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/HTML = "AI PDA Message Log[aiPDA.tnote]" user << browse(HTML, "window=log;size=400x444;border=1;can_resize=1;can_close=1;can_minimize=0") else - to_chat(user, "You do not have a PDA! You should make an issue report about this.") + to_chat(user, span_warning("You do not have a PDA! You should make an issue report about this.")) // Pass along the pulse to atoms in contents, largely added so pAIs are vulnerable to EMP /obj/item/pda/emp_act(severity) diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 343d7b48ff6..41ad208b54d 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -251,7 +251,7 @@ Code: if(!powercount) - menu += "No connection
" + menu += span_danger("No connection
") else menu += "" @@ -265,7 +265,7 @@ Code: if (433) menu = "

[PDAIMG(power)] Power Monitor


" if(!powmonitor || !powmonitor.get_powernet()) - menu += "No connection
" + menu += span_danger("No connection
") else var/list/L = list() var/datum/powernet/connected_powernet = powmonitor.get_powernet() diff --git a/code/game/objects/items/devices/PDA/virus_cart.dm b/code/game/objects/items/devices/PDA/virus_cart.dm index 2e13051dd89..6ab9b731f3b 100644 --- a/code/game/objects/items/devices/PDA/virus_cart.dm +++ b/code/game/objects/items/devices/PDA/virus_cart.dm @@ -25,14 +25,14 @@ /obj/item/cartridge/virus/clown/send_virus(obj/item/pda/target, mob/living/U) if(charges <= 0) - to_chat(U, "Out of charges.") + to_chat(U, span_notice("Out of charges.")) return if(!isnull(target) && !target.toff) charges-- - to_chat(U, "Virus Sent!") + to_chat(U, span_notice("Virus Sent!")) target.honkamt = (rand(15,20)) else - to_chat(U, "PDA not found.") + to_chat(U, span_alert("PDA not found.")) /obj/item/cartridge/virus/mime name = "\improper Gestur-O 1000 cartridge" @@ -41,15 +41,15 @@ /obj/item/cartridge/virus/mime/send_virus(obj/item/pda/target, mob/living/U) if(charges <= 0) - to_chat(U, "Out of charges.") + to_chat(U, span_alert("Out of charges.")) return if(!isnull(target) && !target.toff) charges-- - to_chat(U, "Virus Sent!") + to_chat(U, span_notice("Virus Sent!")) target.silent = TRUE target.ttone = "silence" else - to_chat(U, "PDA not found.") + to_chat(U, span_alert("PDA not found.")) /obj/item/cartridge/virus/syndicate name = "\improper Detomatix cartridge" @@ -60,7 +60,7 @@ /obj/item/cartridge/virus/syndicate/send_virus(obj/item/pda/target, mob/living/U) if(charges <= 0) - to_chat(U, "Out of charges.") + to_chat(U, span_notice("Out of charges.")) return if(!isnull(target) && !target.toff) charges-- @@ -70,13 +70,13 @@ if(target.cartridge.access & CART_MANIFEST) difficulty++ //if cartridge has manifest access it has extra snowflake difficulty if(SEND_SIGNAL(target, COMSIG_PDA_CHECK_DETONATE) & COMPONENT_PDA_NO_DETONATE || prob(difficulty * 15)) - U.show_message("An error flashes on your [src].", MSG_VISUAL) + U.show_message(span_danger("An error flashes on your [src]."), MSG_VISUAL) else log_bomber(U, "triggered a PDA explosion on", target, "[!is_special_character(U) ? "(TRIGGED BY NON-ANTAG)" : ""]") - U.show_message("Success!", MSG_VISUAL) + U.show_message(span_notice("Success!"), MSG_VISUAL) target.explode() else - to_chat(U, "PDA not found.") + to_chat(U, span_alert("PDA not found.")) /obj/item/cartridge/virus/frame name = "\improper F.R.A.M.E. cartridge" @@ -85,12 +85,12 @@ /obj/item/cartridge/virus/frame/send_virus(obj/item/pda/target, mob/living/U) if(charges <= 0) - to_chat(U, "Out of charges.") + to_chat(U, span_alert("Out of charges.")) return if(!isnull(target) && !target.toff) charges-- var/lock_code = "[rand(100,999)] [pick(GLOB.phonetic_alphabet)]" - to_chat(U, "Virus Sent! The unlock code to the target is: [lock_code]") + to_chat(U, span_notice("Virus Sent! The unlock code to the target is: [lock_code]")) var/datum/component/uplink/hidden_uplink = target.GetComponent(/datum/component/uplink) if(!hidden_uplink) hidden_uplink = target.AddComponent(/datum/component/uplink) @@ -102,15 +102,15 @@ hidden_uplink.locked = FALSE hidden_uplink.active = TRUE else - to_chat(U, "PDA not found.") - + to_chat(U, span_alert("PDA not found.")) + /obj/item/cartridge/virus/frame/attackby(obj/item/I, mob/user, params) . = ..() if(istype(I, /obj/item/stack/telecrystal)) if(!charges) - to_chat(user, "[src] is out of charges, it's refusing to accept [I].") + to_chat(user, span_notice("[src] is out of charges, it's refusing to accept [I].")) return var/obj/item/stack/telecrystal/telecrystalStack = I telecrystals += telecrystalStack.amount - to_chat(user, "You slot [telecrystalStack] into [src]. The next time it's used, it will also give telecrystals.") + to_chat(user, span_notice("You slot [telecrystalStack] into [src]. The next time it's used, it will also give telecrystals.")) telecrystalStack.use(telecrystalStack.amount) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 7a648e43e26..611b52d0461 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -24,7 +24,7 @@ icon_state = "aispook" /obj/item/aicard/suicide_act(mob/living/user) - user.visible_message("[user] is trying to upload [user.p_them()]self into [src]! That's not going to work out well!") + user.visible_message(span_suicide("[user] is trying to upload [user.p_them()]self into [src]! That's not going to work out well!")) return BRUTELOSS /obj/item/aicard/afterattack(atom/target, mob/user, proximity) @@ -91,7 +91,7 @@ if(confirm == "Yes" && !..()) flush = TRUE if(AI && AI.loc == src) - to_chat(AI, "Your core files are being wiped!") + to_chat(AI, span_userdanger("Your core files are being wiped!")) while(AI.stat != DEAD && flush) AI.adjustOxyLoss(5) AI.updatehealth() @@ -100,10 +100,10 @@ . = TRUE if("wireless") AI.control_disabled = !AI.control_disabled - to_chat(AI, "[src]'s wireless port has been [AI.control_disabled ? "disabled" : "enabled"]!") + to_chat(AI, span_warning("[src]'s wireless port has been [AI.control_disabled ? "disabled" : "enabled"]!")) . = TRUE if("radio") AI.radio_enabled = !AI.radio_enabled - to_chat(AI, "Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!") + to_chat(AI, span_warning("Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!")) . = TRUE update_appearance() diff --git a/code/game/objects/items/devices/anomaly_neutralizer.dm b/code/game/objects/items/devices/anomaly_neutralizer.dm index decc6d255df..070ac815361 100644 --- a/code/game/objects/items/devices/anomaly_neutralizer.dm +++ b/code/game/objects/items/devices/anomaly_neutralizer.dm @@ -17,6 +17,6 @@ return if(istype(target, /obj/effect/anomaly)) var/obj/effect/anomaly/A = target - to_chat(user, "The circuitry of [src] fries from the strain of neutralizing [A]!") + to_chat(user, span_notice("The circuitry of [src] fries from the strain of neutralizing [A]!")) A.anomalyNeutralize() qdel(src) diff --git a/code/game/objects/items/devices/beacon.dm b/code/game/objects/items/devices/beacon.dm index ca4f3dc5c4a..23da5627b79 100644 --- a/code/game/objects/items/devices/beacon.dm +++ b/code/game/objects/items/devices/beacon.dm @@ -28,7 +28,7 @@ else icon_state = "beacon-off" GLOB.teleportbeacons -= src - to_chat(user, "You [enabled ? "enable" : "disable"] the beacon.") + to_chat(user, span_notice("You [enabled ? "enable" : "disable"] the beacon.")) return /obj/item/beacon/attackby(obj/item/W, mob/user) diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 2bcbdcca6ef..51f323c75f2 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -66,7 +66,7 @@ var/turf/T_user = get_turf(user.loc) var/turf/T_current = get_turf(current) if(T_user.z != T_current.z || !current.can_use()) - to_chat(user, "[src] has lost the signal.") + to_chat(user, span_danger("[src] has lost the signal.")) current = null user.unset_machine() return FALSE @@ -245,7 +245,7 @@ if(!same_z_level(C)) return if(!C.can_use()) - to_chat(usr, "Something's wrong with that camera! You can't get a feed.") + to_chat(usr, span_warning("Something's wrong with that camera! You can't get a feed.")) return current = C spawn(6) @@ -302,7 +302,7 @@ var/turf/T_cam = get_turf(C) var/turf/T_bug = get_turf(loc) if(!T_bug || T_cam.z != T_bug.z) - to_chat(usr, "You can't get a signal!") + to_chat(usr, span_warning("You can't get a signal!")) return FALSE return TRUE diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 1878eaa449c..a4752f251d4 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -34,7 +34,7 @@ if (isturf(user.loc) || istype(user.loc, /obj/structure) || active_dummy) toggle(user) else - to_chat(user, "You can't use [src] while inside something!") + to_chat(user, span_warning("You can't use [src] while inside something!")) /obj/item/chameleon/afterattack(atom/target, mob/user , proximity) . = ..() @@ -58,7 +58,7 @@ if(!(istype(target, /obj/effect/decal))) //be a footprint return playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, TRUE, -6) - to_chat(user, "Scanned [target].") + to_chat(user, span_notice("Scanned [target].")) var/obj/temp = new/obj() temp.appearance = target.appearance temp.layer = initial(target.layer) // scanning things in your inventory @@ -78,20 +78,20 @@ playsound(get_turf(src), 'sound/effects/pop.ogg', 100, TRUE, -6) qdel(active_dummy) active_dummy = null - to_chat(user, "You deactivate \the [src].") + to_chat(user, span_notice("You deactivate \the [src].")) new /obj/effect/temp_visual/emp/pulse(get_turf(src)) else playsound(get_turf(src), 'sound/effects/pop.ogg', 100, TRUE, -6) var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(user.drop_location()) C.activate(user, saved_appearance, src) - to_chat(user, "You activate \the [src].") + to_chat(user, span_notice("You activate \the [src].")) new /obj/effect/temp_visual/emp/pulse(get_turf(src)) user.cancel_camera() /obj/item/chameleon/proc/disrupt(delete_dummy = 1) if(active_dummy) for(var/mob/M in active_dummy) - to_chat(M, "Your chameleon projector deactivates.") + to_chat(M, span_danger("Your chameleon projector deactivates.")) var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index 186285ca702..85433b6d88f 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -18,7 +18,7 @@ /obj/item/desynchronizer/attack_self(mob/living/user) if(world.time < next_use) - to_chat(user, "[src] is still recharging.") + to_chat(user, span_warning("[src] is still recharging.")) return if(!sync_holder) desync(user) @@ -28,9 +28,9 @@ /obj/item/desynchronizer/examine(mob/user) . = ..() if(world.time < next_use) - . += "Time left to recharge: [DisplayTimeText(next_use - world.time)]" - . += "Alt-click to customize the duration. Current duration: [DisplayTimeText(duration)]." - . += "Can be used again to interrupt the effect early. The recharge time is the same as the time spent in desync." + . += span_warning("Time left to recharge: [DisplayTimeText(next_use - world.time)]") + . += span_notice("Alt-click to customize the duration. Current duration: [DisplayTimeText(duration)].") + . += span_notice("Can be used again to interrupt the effect early. The recharge time is the same as the time spent in desync.") /obj/item/desynchronizer/AltClick(mob/living/user) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user))) @@ -40,14 +40,14 @@ new_duration = new_duration SECONDS new_duration = clamp(new_duration, 50, max_duration) duration = new_duration - to_chat(user, "You set the duration to [DisplayTimeText(duration)].") + to_chat(user, span_notice("You set the duration to [DisplayTimeText(duration)].")) /obj/item/desynchronizer/proc/desync(mob/living/user) if(sync_holder) return sync_holder = new(drop_location()) new /obj/effect/temp_visual/desynchronizer(drop_location()) - to_chat(user, "You activate [src], desynchronizing yourself from the present. You can still see your surroundings, but you feel eerily dissociated from reality.") + to_chat(user, span_notice("You activate [src], desynchronizing yourself from the present. You can still see your surroundings, but you feel eerily dissociated from reality.")) user.forceMove(sync_holder) SEND_SIGNAL(user, COMSIG_MOVABLE_SECLUDED_LOCATION) for(var/thing in user) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index e32e0ee78f2..5a78c8b1f44 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -18,24 +18,24 @@ /obj/item/electroadaptive_pseudocircuit/examine(mob/user) . = ..() if(iscyborg(user)) - . += "It has material for [circuits] circuit[circuits == 1 ? "" : "s"]. Use the pseudocircuit on existing circuits to gain material.\n"+\ - "Serves as a substitute for fire/air alarm, firelock, and APC electronics.\n"+\ - "It can also be used on an APC with no power cell to fabricate a low-capacity cell at a high power cost." + . += "[span_notice("It has material for [circuits] circuit[circuits == 1 ? "" : "s"]. Use the pseudocircuit on existing circuits to gain material.")]\n"+\ + "[span_notice("Serves as a substitute for fire/air alarm, firelock, and APC electronics.")]\n"+\ + span_notice("It can also be used on an APC with no power cell to fabricate a low-capacity cell at a high power cost.") /obj/item/electroadaptive_pseudocircuit/proc/adapt_circuit(mob/living/silicon/robot/R, circuit_cost = 0) if(QDELETED(R) || !istype(R)) return if(!R.cell) - to_chat(R, "You need a power cell installed for that.") + to_chat(R, span_warning("You need a power cell installed for that.")) return if(!R.cell.use(circuit_cost)) - to_chat(R, "You don't have the energy for that (you need [DisplayEnergy(circuit_cost)].)") + to_chat(R, span_warning("You don't have the energy for that (you need [DisplayEnergy(circuit_cost)].)")) return if(recharging) - to_chat(R, "[src] needs some time to recharge first.") + to_chat(R, span_warning("[src] needs some time to recharge first.")) return if(!circuits) - to_chat(R, "You need more material. Use [src] on existing simple circuits to break them down.") + to_chat(R, span_warning("You need more material. Use [src] on existing simple circuits to break them down.")) return playsound(R, 'sound/items/rped.ogg', 50, TRUE) recharging = TRUE @@ -54,8 +54,8 @@ return circuits++ maptext = MAPTEXT(circuits) - user.visible_message("User breaks down [target] with [src].", \ - "You recycle [target] into [src]. It now has material for [circuits] circuits.") + user.visible_message(span_notice("User breaks down [target] with [src]."), \ + span_notice("You recycle [target] into [src]. It now has material for [circuits] circuits.")) playsound(user, 'sound/items/deconstruct.ogg', 50, TRUE) qdel(target) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 9cae2819b27..69f1f4ba011 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -47,9 +47,9 @@ /obj/item/flashlight/suicide_act(mob/living/carbon/human/user) if (user.is_blind()) - user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on... but [user.p_theyre()] blind!") + user.visible_message(span_suicide("[user] is putting [src] close to [user.p_their()] eyes and turning it on... but [user.p_theyre()] blind!")) return SHAME - user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting [src] close to [user.p_their()] eyes and turning it on! It looks like [user.p_theyre()] trying to commit suicide!")) return (FIRELOSS) /obj/item/flashlight/attack(mob/living/carbon/M, mob/living/carbon/human/user) @@ -60,47 +60,47 @@ return ..() //just hit them in the head if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return if(!M.get_bodypart(BODY_ZONE_HEAD)) - to_chat(user, "[M] doesn't have a head!") + to_chat(user, span_warning("[M] doesn't have a head!")) return if(light_power < 1) - to_chat(user, "\The [src] isn't bright enough to see anything! ") + to_chat(user, "[span_warning("\The [src] isn't bright enough to see anything!")] ") return switch(user.zone_selected) if(BODY_ZONE_PRECISE_EYES) if((M.head && M.head.flags_cover & HEADCOVERSEYES) || (M.wear_mask && M.wear_mask.flags_cover & MASKCOVERSEYES) || (M.glasses && M.glasses.flags_cover & GLASSESCOVERSEYES)) - to_chat(user, "You're going to need to remove that [(M.head && M.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (M.wear_mask && M.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask": "glasses"] first!") + to_chat(user, span_warning("You're going to need to remove that [(M.head && M.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (M.wear_mask && M.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask": "glasses"] first!")) return var/obj/item/organ/eyes/E = M.getorganslot(ORGAN_SLOT_EYES) if(!E) - to_chat(user, "[M] doesn't have any eyes!") + to_chat(user, span_warning("[M] doesn't have any eyes!")) return if(M == user) //they're using it on themselves if(M.flash_act(visual = 1)) - M.visible_message("[M] directs [src] to [M.p_their()] eyes.", "You wave the light in front of your eyes! Trippy!") + M.visible_message(span_notice("[M] directs [src] to [M.p_their()] eyes."), span_notice("You wave the light in front of your eyes! Trippy!")) else - M.visible_message("[M] directs [src] to [M.p_their()] eyes.", "You wave the light in front of your eyes.") + M.visible_message(span_notice("[M] directs [src] to [M.p_their()] eyes."), span_notice("You wave the light in front of your eyes.")) else - user.visible_message("[user] directs [src] to [M]'s eyes.", \ - "You direct [src] to [M]'s eyes.") + user.visible_message(span_warning("[user] directs [src] to [M]'s eyes."), \ + span_danger("You direct [src] to [M]'s eyes.")) if(M.stat == DEAD || (M.is_blind()) || !M.flash_act(visual = 1)) //mob is dead or fully blind - to_chat(user, "[M]'s pupils don't react to the light!") + to_chat(user, span_warning("[M]'s pupils don't react to the light!")) else if(M.dna && M.dna.check_mutation(XRAY)) //mob has X-ray vision - to_chat(user, "[M]'s pupils give an eerie glow!") + to_chat(user, span_danger("[M]'s pupils give an eerie glow!")) else //they're okay! - to_chat(user, "[M]'s pupils narrow.") + to_chat(user, span_notice("[M]'s pupils narrow.")) if(BODY_ZONE_PRECISE_MOUTH) if(M.is_mouth_covered()) - to_chat(user, "You're going to need to remove that [(M.head && M.head.flags_cover & HEADCOVERSMOUTH) ? "helmet" : "mask"] first!") + to_chat(user, span_warning("You're going to need to remove that [(M.head && M.head.flags_cover & HEADCOVERSMOUTH) ? "helmet" : "mask"] first!")) return var/their = M.p_their() @@ -140,27 +140,27 @@ if(WEST) can_use_mirror = mirror.pixel_x < 0 - M.visible_message("[M] directs [src] to [their] mouth.", \ - "You point [src] into your mouth.") + M.visible_message(span_notice("[M] directs [src] to [their] mouth."), \ + span_notice("You point [src] into your mouth.")) if(!can_use_mirror) - to_chat(user, "You can't see anything without a mirror.") + to_chat(user, span_notice("You can't see anything without a mirror.")) return if(organ_count) - to_chat(user, "Inside your mouth [organ_count > 1 ? "are" : "is"] [organ_list].") + to_chat(user, span_notice("Inside your mouth [organ_count > 1 ? "are" : "is"] [organ_list].")) else - to_chat(user, "There's nothing inside your mouth.") + to_chat(user, span_notice("There's nothing inside your mouth.")) if(pill_count) - to_chat(user, "You have [pill_count] implanted pill[pill_count > 1 ? "s" : ""].") + to_chat(user, span_notice("You have [pill_count] implanted pill[pill_count > 1 ? "s" : ""].")) else - user.visible_message("[user] directs [src] to [M]'s mouth.",\ - "You direct [src] to [M]'s mouth.") + user.visible_message(span_notice("[user] directs [src] to [M]'s mouth."),\ + span_notice("You direct [src] to [M]'s mouth.")) if(organ_count) - to_chat(user, "Inside [their] mouth [organ_count > 1 ? "are" : "is"] [organ_list].") + to_chat(user, span_notice("Inside [their] mouth [organ_count > 1 ? "are" : "is"] [organ_list].")) else - to_chat(user, "[M] doesn't have any organs in [their] mouth.") + to_chat(user, span_notice("[M] doesn't have any organs in [their] mouth.")) if(pill_count) - to_chat(user, "[M] has [pill_count] pill[pill_count > 1 ? "s" : ""] implanted in [their] teeth.") + to_chat(user, span_notice("[M] has [pill_count] pill[pill_count > 1 ? "s" : ""] implanted in [their] teeth.")) else return ..() @@ -179,7 +179,7 @@ . = ..() if(!proximity_flag) if(holo_cooldown > world.time) - to_chat(user, "[src] is not ready yet!") + to_chat(user, span_warning("[src] is not ready yet!")) return var/T = get_turf(target) if(locate(/mob/living) in T) @@ -209,7 +209,7 @@ . = ..() playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) //make some noise! if(creator) - visible_message("[creator] created a medical hologram!") + visible_message(span_danger("[creator] created a medical hologram!")) /obj/item/flashlight/seclite @@ -297,7 +297,7 @@ STOP_PROCESSING(SSobj, src) /obj/item/flashlight/flare/ignition_effect(atom/A, mob/user) - . = fuel && on ? "[user] lights [A] with [src] like a real badass." : "" + . = fuel && on ? span_notice("[user] lights [A] with [src] like a real badass.") : "" /obj/item/flashlight/flare/proc/turn_off() on = FALSE @@ -320,16 +320,16 @@ // Usual checks if(fuel <= 0) - to_chat(user, "[src] is out of fuel!") + to_chat(user, span_warning("[src] is out of fuel!")) return if(on) - to_chat(user, "[src] is already on!") + to_chat(user, span_warning("[src] is already on!")) return . = ..() // All good, turn it on. if(.) - user.visible_message("[user] lights \the [src].", "You light \the [src]!") + user.visible_message(span_notice("[user] lights \the [src]."), span_notice("You light \the [src]!")) force = on_damage damtype = BURN START_PROCESSING(SSobj, src) @@ -430,14 +430,14 @@ if(ismob(A)) var/mob/M = A log_combat(user, M, "attacked", "EMP-light") - M.visible_message("[user] blinks \the [src] at \the [A].", \ - "[user] blinks \the [src] at you.") + M.visible_message(span_danger("[user] blinks \the [src] at \the [A]."), \ + span_userdanger("[user] blinks \the [src] at you.")) else - A.visible_message("[user] blinks \the [src] at \the [A].") - to_chat(user, "\The [src] now has [emp_cur_charges] charge\s.") + A.visible_message(span_danger("[user] blinks \the [src] at \the [A].")) + to_chat(user, span_notice("\The [src] now has [emp_cur_charges] charge\s.")) A.emp_act(EMP_HEAVY) else - to_chat(user, "\The [src] needs time to recharge!") + to_chat(user, span_warning("\The [src] needs time to recharge!")) return /obj/item/flashlight/emp/debug //for testing emp_act() @@ -512,26 +512,26 @@ /obj/item/flashlight/glowstick/attack_self(mob/user) if(fuel <= 0) - to_chat(user, "[src] is spent.") + to_chat(user, span_notice("[src] is spent.")) return if(on) - to_chat(user, "[src] is already lit!") + to_chat(user, span_warning("[src] is already lit!")) return . = ..() if(.) - user.visible_message("[user] cracks and shakes [src].", "You crack and shake [src], turning it on!") + user.visible_message(span_notice("[user] cracks and shakes [src]."), span_notice("You crack and shake [src], turning it on!")) START_PROCESSING(SSobj, src) /obj/item/flashlight/glowstick/suicide_act(mob/living/carbon/human/user) if(!fuel) - user.visible_message("[user] is trying to squirt [src]'s fluids into [user.p_their()] eyes... but it's empty!") + user.visible_message(span_suicide("[user] is trying to squirt [src]'s fluids into [user.p_their()] eyes... but it's empty!")) return SHAME var/obj/item/organ/eyes/eyes = user.getorganslot(ORGAN_SLOT_EYES) if(!eyes) - user.visible_message("[user] is trying to squirt [src]'s fluids into [user.p_their()] eyes... but [user.p_they()] don't have any!") + user.visible_message(span_suicide("[user] is trying to squirt [src]'s fluids into [user.p_their()] eyes... but [user.p_they()] don't have any!")) return SHAME - user.visible_message("[user] is squirting [src]'s fluids into [user.p_their()] eyes! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is squirting [src]'s fluids into [user.p_their()] eyes! It looks like [user.p_theyre()] trying to commit suicide!")) fuel = 0 return (FIRELOSS) diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index 5fd886314ff..eaff1fd5fcf 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -24,40 +24,40 @@ if(istype(target, /obj/structure/projected_forcefield)) var/obj/structure/projected_forcefield/F = target if(F.generator == src) - to_chat(user, "You deactivate [F].") + to_chat(user, span_notice("You deactivate [F].")) qdel(F) return var/turf/T = get_turf(target) var/obj/structure/projected_forcefield/found_field = locate() in T if(found_field) - to_chat(user, "There is already a forcefield in that location!") + to_chat(user, span_warning("There is already a forcefield in that location!")) return if(T.density) return if(get_dist(T,src) > field_distance_limit) return if (get_turf(src) == T) - to_chat(user, "Target is too close, aborting!") + to_chat(user, span_warning("Target is too close, aborting!")) return if(LAZYLEN(current_fields) >= max_fields) - to_chat(user, "[src] cannot sustain any more forcefields!") + to_chat(user, span_warning("[src] cannot sustain any more forcefields!")) return playsound(src,'sound/weapons/resonator_fire.ogg',50,TRUE) - user.visible_message("[user] projects a forcefield!","You project a forcefield.") + user.visible_message(span_warning("[user] projects a forcefield!"),span_notice("You project a forcefield.")) var/obj/structure/projected_forcefield/F = new(T, src) current_fields += F user.changeNext_move(CLICK_CD_MELEE) /obj/item/forcefield_projector/attack_self(mob/user) if(LAZYLEN(current_fields)) - to_chat(user, "You deactivate [src], disabling all active forcefields.") + to_chat(user, span_notice("You deactivate [src], disabling all active forcefields.")) for(var/obj/structure/projected_forcefield/F in current_fields) qdel(F) /obj/item/forcefield_projector/examine(mob/user) . = ..() - . += "It is currently sustaining [LAZYLEN(current_fields)]/[max_fields] fields, and it's [round((shield_integrity/max_shield_integrity)*100)]% charged." + . += span_notice("It is currently sustaining [LAZYLEN(current_fields)]/[max_fields] fields, and it's [round((shield_integrity/max_shield_integrity)*100)]% charged.") /obj/item/forcefield_projector/Initialize(mapload) . = ..() @@ -97,7 +97,7 @@ generator = origin /obj/structure/projected_forcefield/Destroy() - visible_message("[src] flickers and disappears!") + visible_message(span_warning("[src] flickers and disappears!")) playsound(src,'sound/weapons/resonator_blast.ogg',25,TRUE) generator.current_fields -= src generator = null diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 522b29dcade..97cc3b1fedf 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -62,25 +62,25 @@ . = ..() if(!scanning) return - . += "Alt-click it to clear stored radiation levels." + . += span_info("Alt-click it to clear stored radiation levels.") if(obj_flags & EMAGGED) - . += "The display seems to be incomprehensible." + . += span_warning("The display seems to be incomprehensible.") return switch(radiation_count) if(-INFINITY to RAD_LEVEL_NORMAL) - . += "Ambient radiation level count reports that all is well." + . += span_notice("Ambient radiation level count reports that all is well.") if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) - . += "Ambient radiation levels slightly above average." + . += span_alert("Ambient radiation levels slightly above average.") if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) - . += "Ambient radiation levels above average." + . += span_warning("Ambient radiation levels above average.") if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) - . += "Ambient radiation levels highly above average." + . += span_danger("Ambient radiation levels highly above average.") if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) - . += "Ambient radiation levels nearing critical level." + . += span_suicide("Ambient radiation levels nearing critical level.") if(RAD_LEVEL_CRITICAL + 1 to INFINITY) - . += "Ambient radiation levels above critical level!" + . += span_boldannounce("Ambient radiation levels above critical level!") - . += "The last radiation amount detected was [last_tick_amount]" + . += span_notice("The last radiation amount detected was [last_tick_amount]") /obj/item/geiger_counter/update_icon_state() if(!scanning) @@ -126,16 +126,16 @@ /obj/item/geiger_counter/attack_self(mob/user) scanning = !scanning update_appearance() - to_chat(user, "[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].") + to_chat(user, span_notice("[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].")) /obj/item/geiger_counter/afterattack(atom/target, mob/living/user, params) . = ..() if(!user.combat_mode) if(!(obj_flags & EMAGGED)) - user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...") + user.visible_message(span_notice("[user] scans [target] with [src]."), span_notice("You scan [target]'s radiation levels with [src]...")) addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents else - user.visible_message("[user] scans [target] with [src].", "You project [src]'s stored radiation into [target]!") + user.visible_message(span_notice("[user] scans [target] with [src]."), span_danger("You project [src]'s stored radiation into [target]!")) target.rad_act(radiation_count) radiation_count = 0 return TRUE @@ -146,24 +146,24 @@ if(isliving(A)) var/mob/living/M = A if(!M.radiation) - to_chat(user, "[icon2html(src, user)] Radiation levels within normal boundaries.") + to_chat(user, span_notice("[icon2html(src, user)] Radiation levels within normal boundaries.")) else - to_chat(user, "[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation].") + to_chat(user, span_boldannounce("[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation].")) if(rad_strength) - to_chat(user, "[icon2html(src, user)] Target contains radioactive contamination. Radioactive strength: [rad_strength]") + to_chat(user, span_boldannounce("[icon2html(src, user)] Target contains radioactive contamination. Radioactive strength: [rad_strength]")) else - to_chat(user, "[icon2html(src, user)] Target is free of radioactive contamination.") + to_chat(user, span_notice("[icon2html(src, user)] Target is free of radioactive contamination.")) /obj/item/geiger_counter/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_SCREWDRIVER && (obj_flags & EMAGGED)) if(scanning) - to_chat(user, "Turn off [src] before you perform this action!") + to_chat(user, span_warning("Turn off [src] before you perform this action!")) return FALSE - user.visible_message("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...", "You begin resetting [src]...") + user.visible_message(span_notice("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards..."), span_notice("You begin resetting [src]...")) if(!I.use_tool(src, user, 40, volume=50)) return FALSE - user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!") + user.visible_message(span_notice("[user] refastens [src]'s maintenance panel!"), span_notice("You reset [src] to its factory settings!")) obj_flags &= ~EMAGGED radiation_count = 0 update_appearance() @@ -175,19 +175,19 @@ if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) return ..() if(!scanning) - to_chat(usr, "[src] must be on to reset its radiation level!") + to_chat(usr, span_warning("[src] must be on to reset its radiation level!")) return radiation_count = 0 - to_chat(usr, "You flush [src]'s radiation counts, resetting it to normal.") + to_chat(usr, span_notice("You flush [src]'s radiation counts, resetting it to normal.")) update_appearance() /obj/item/geiger_counter/emag_act(mob/user) if(obj_flags & EMAGGED) return if(scanning) - to_chat(user, "Turn off [src] before you perform this action!") + to_chat(user, span_warning("Turn off [src] before you perform this action!")) return - to_chat(user, "You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.") + to_chat(user, span_warning("You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.")) obj_flags |= EMAGGED diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 214c45105e3..3e172ce9716 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -45,13 +45,13 @@ if(!user.transferItemToLoc(W, src)) return diode = W - to_chat(user, "You install a [diode.name] in [src].") + to_chat(user, span_notice("You install a [diode.name] in [src].")) else - to_chat(user, "[src] already has a diode installed!") + to_chat(user, span_warning("[src] already has a diode installed!")) else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(diode) - to_chat(user, "You remove the [diode.name] from \the [src].") + to_chat(user, span_notice("You remove the [diode.name] from \the [src].")) diode.forceMove(drop_location()) diode = null else @@ -61,9 +61,9 @@ . = ..() if(in_range(user, src) || isobserver(user)) if(!diode) - . += "The diode is missing." + . += span_notice("The diode is missing.") else - . += "A class [diode.rating] laser diode is installed. It is screwed in place." + . += span_notice("A class [diode.rating] laser diode is installed. It is screwed in place.") /obj/item/laser_pointer/afterattack(atom/target, mob/living/user, flag, params) . = ..() @@ -73,19 +73,19 @@ if( !(user in (viewers(7,target))) ) return if (!diode) - to_chat(user, "You point [src] at [target], but nothing happens!") + to_chat(user, span_notice("You point [src] at [target], but nothing happens!")) return if (!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS)) - to_chat(user, "Your fingers can't press the button!") + to_chat(user, span_warning("Your fingers can't press the button!")) return add_fingerprint(user) //nothing happens if the battery is drained if(recharge_locked) - to_chat(user, "You point [src] at [target], but it's still charging.") + to_chat(user, span_notice("You point [src] at [target], but it's still charging.")) return var/outmsg @@ -104,10 +104,10 @@ //chance to actually hit the eyes depends on internal component if(prob(effectchance * diode.rating) && C.flash_act(severity)) - outmsg = "You blind [C] by shining [src] in [C.p_their()] eyes." + outmsg = span_notice("You blind [C] by shining [src] in [C.p_their()] eyes.") log_combat(user, C, "blinded with a laser pointer",src) else - outmsg = "You fail to blind [C] by shining [src] at [C.p_their()] eyes!" + outmsg = span_warning("You fail to blind [C] by shining [src] at [C.p_their()] eyes!") log_combat(user, C, "attempted to blind with a laser pointer",src) //robots @@ -118,20 +118,20 @@ if(prob(effectchance * diode.rating)) S.flash_act(affect_silicon = 1) S.Paralyze(rand(100,200)) - to_chat(S, "Your sensors were overloaded by a laser!") - outmsg = "You overload [S] by shining [src] at [S.p_their()] sensors." + to_chat(S, span_danger("Your sensors were overloaded by a laser!")) + outmsg = span_notice("You overload [S] by shining [src] at [S.p_their()] sensors.") else - outmsg = "You fail to overload [S] by shining [src] at [S.p_their()] sensors!" + outmsg = span_warning("You fail to overload [S] by shining [src] at [S.p_their()] sensors!") //cameras else if(istype(target, /obj/machinery/camera)) var/obj/machinery/camera/C = target if(prob(effectchance * diode.rating)) C.emp_act(EMP_HEAVY) - outmsg = "You hit the lens of [C] with [src], temporarily disabling the camera!" + outmsg = span_notice("You hit the lens of [C] with [src], temporarily disabling the camera!") log_combat(user, C, "EMPed", src) else - outmsg = "You miss the lens of [C] with [src]!" + outmsg = span_warning("You miss the lens of [C] with [src]!") //catpeople for(var/mob/living/carbon/human/H in view(1,targloc)) @@ -140,24 +140,24 @@ if(user.body_position == STANDING_UP) H.setDir(get_dir(H,targloc)) // kitty always looks at the light if(prob(effectchance * diode.rating)) - H.visible_message("[H] makes a grab for the light!","LIGHT!") + H.visible_message(span_warning("[H] makes a grab for the light!"),span_userdanger("LIGHT!")) H.Move(targloc) log_combat(user, H, "moved with a laser pointer",src) else - H.visible_message("[H] looks briefly distracted by the light.", "You're briefly tempted by the shiny light...") + H.visible_message(span_notice("[H] looks briefly distracted by the light."), span_warning("You're briefly tempted by the shiny light...")) else - H.visible_message("[H] stares at the light.", "You stare at the light...") + H.visible_message(span_notice("[H] stares at the light."), span_warning("You stare at the light...")) //cats! for(var/mob/living/simple_animal/pet/cat/C in view(1,targloc)) if(prob(effectchance * diode.rating)) if(C.resting) C.set_resting(FALSE, instant = TRUE) - C.visible_message("[C] pounces on the light!","LIGHT!") + C.visible_message(span_notice("[C] pounces on the light!"),span_warning("LIGHT!")) C.Move(targloc) C.Immobilize(1 SECONDS) else - C.visible_message("[C] looks uninterested in your games.","You spot [user] shining [src] at you. How insulting!") + C.visible_message(span_notice("[C] looks uninterested in your games."),span_warning("You spot [user] shining [src] at you. How insulting!")) //laser pointer image icon_state = "pointer_[pointer_icon_state]" @@ -175,7 +175,7 @@ if(outmsg) to_chat(user, outmsg) else - to_chat(user, "You point [src] at [target].") + to_chat(user, span_info("You point [src] at [target].")) energy -= 1 if(energy <= max_energy) @@ -183,7 +183,7 @@ recharging = TRUE START_PROCESSING(SSobj, src) if(energy <= 0) - to_chat(user, "[src]'s battery is overused, it needs time to recharge!") + to_chat(user, span_warning("[src]'s battery is overused, it needs time to recharge!")) recharge_locked = TRUE flick_overlay_view(I, targloc, 10) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index c468f2610ac..937337fe41c 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -76,23 +76,23 @@ if(istype(W, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/G = W if(uses >= max_uses) - to_chat(user, "[src.name] is full.") + to_chat(user, span_warning("[src.name] is full.")) return else if(G.use(decrement)) AddUses(increment) - to_chat(user, "You insert a piece of glass into \the [src.name]. You have [uses] light\s remaining.") + to_chat(user, span_notice("You insert a piece of glass into \the [src.name]. You have [uses] light\s remaining.")) return else - to_chat(user, "You need one sheet of glass to replace lights!") + to_chat(user, span_warning("You need one sheet of glass to replace lights!")) if(istype(W, /obj/item/shard)) if(uses >= max_uses) - to_chat(user, "\The [src] is full.") + to_chat(user, span_warning("\The [src] is full.")) return if(!user.temporarilyRemoveItemFromInventory(W)) return AddUses(round(increment*0.75)) - to_chat(user, "You insert a shard of glass into \the [src]. You have [uses] light\s remaining.") + to_chat(user, span_notice("You insert a shard of glass into \the [src]. You have [uses] light\s remaining.")) qdel(W) return @@ -107,7 +107,7 @@ else if(!user.temporarilyRemoveItemFromInventory(W)) return - to_chat(user, "You insert [L] into \the [src].") + to_chat(user, span_notice("You insert [L] into \the [src].")) AddShards(1, user) qdel(L) return @@ -134,14 +134,14 @@ qdel(L) if(!found_lightbulbs) - to_chat(user, "\The [S] contains no bulbs.") + to_chat(user, span_warning("\The [S] contains no bulbs.")) return if(!replaced_something && src.uses == max_uses) - to_chat(user, "\The [src] is full!") + to_chat(user, span_warning("\The [src] is full!")) return - to_chat(user, "You fill \the [src] with lights from \the [S]. " + status_string() + "") + to_chat(user, span_notice("You fill \the [src] with lights from \the [S]. " + status_string() + "")) /obj/item/lightreplacer/emag_act() if(obj_flags & EMAGGED) @@ -176,7 +176,7 @@ AddUses(new_bulbs) bulb_shards = bulb_shards % shards_required if(new_bulbs != 0) - to_chat(user, "\The [src] fabricates a new bulb from the broken glass it has stored. It now has [uses] uses.") + to_chat(user, span_notice("\The [src] fabricates a new bulb from the broken glass it has stored. It now has [uses] uses.")) playsound(src.loc, 'sound/machines/ding.ogg', 50, TRUE) return new_bulbs @@ -192,7 +192,7 @@ if(CanUse(U)) if(!Use(U)) return - to_chat(U, "You replace \the [target.fitting] with \the [src].") + to_chat(U, span_notice("You replace \the [target.fitting] with \the [src].")) if(target.status != LIGHT_EMPTY) AddShards(1, U) @@ -214,10 +214,10 @@ return else - to_chat(U, "\The [src]'s refill light blinks red.") + to_chat(U, span_warning("\The [src]'s refill light blinks red.")) return else - to_chat(U, "There is a working [target.fitting] already inserted!") + to_chat(U, span_warning("There is a working [target.fitting] already inserted!")) return /obj/item/lightreplacer/proc/Emag() @@ -252,7 +252,7 @@ ReplaceLight(A, U) if(!used) - to_chat(U, "\The [src]'s refill light blinks red.") + to_chat(U, span_warning("\The [src]'s refill light blinks red.")) /obj/item/lightreplacer/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) J.put_in_cart(src, user) diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index e3488b61d3c..84f77cd8b51 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -12,7 +12,7 @@ var/list/voicespan = list(SPAN_COMMAND) /obj/item/megaphone/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is uttering [user.p_their()] last words into \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is uttering [user.p_their()] last words into \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) spamcheck = 0//so they dont have to worry about recharging user.say("AAAAAAAAAAAARGHHHHH", forced="megaphone suicide")//he must have died while coding this return OXYLOSS @@ -32,7 +32,7 @@ SIGNAL_HANDLER if (user.get_active_held_item() == src) if(spamcheck > world.time) - to_chat(user, "\The [src] needs to recharge!") + to_chat(user, span_warning("\The [src] needs to recharge!")) else playsound(loc, 'sound/items/megaphone.ogg', 100, FALSE, TRUE) spamcheck = world.time + 50 @@ -41,7 +41,7 @@ /obj/item/megaphone/emag_act(mob/user) if(obj_flags & EMAGGED) return - to_chat(user, "You overload \the [src]'s voice synthesizer.") + to_chat(user, span_warning("You overload \the [src]'s voice synthesizer.")) obj_flags |= EMAGGED voicespan = list(SPAN_REALLYBIG, "userdanger") diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 1f7833676cd..15c36df7516 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -35,10 +35,10 @@ /obj/item/multitool/examine(mob/user) . = ..() - . += "Its buffer [buffer ? "contains [buffer]." : "is empty."]" + . += span_notice("Its buffer [buffer ? "contains [buffer]." : "is empty."]") /obj/item/multitool/suicide_act(mob/living/carbon/user) - user.visible_message("[user] puts the [src] to [user.p_their()] chest. It looks like [user.p_theyre()] trying to pulse [user.p_their()] heart off!") + user.visible_message(span_suicide("[user] puts the [src] to [user.p_their()] chest. It looks like [user.p_theyre()] trying to pulse [user.p_their()] heart off!")) return OXYLOSS//theres a reason it wasn't recommended by doctors @@ -95,7 +95,7 @@ /obj/item/multitool/ai_detect/proc/toggle_hud(mob/user) hud_on = !hud_on if(user) - to_chat(user, "You toggle the ai detection HUD on [src] [hud_on ? "on" : "off"].") + to_chat(user, span_notice("You toggle the ai detection HUD on [src] [hud_on ? "on" : "off"].")) if(hud_on) show_hud(user) else diff --git a/code/game/objects/items/devices/ocd.dm b/code/game/objects/items/devices/ocd.dm index 784bffc465c..fdab48c64f6 100644 --- a/code/game/objects/items/devices/ocd.dm +++ b/code/game/objects/items/devices/ocd.dm @@ -7,5 +7,5 @@ /obj/item/devices/ocd_device/attack_self(mob/user) var/datum/round_event/bureaucratic_error/event = new() event.start() - deadchat_broadcast(" An OCD has been activated! ") + deadchat_broadcast(span_bold(" An OCD has been activated! ")) qdel(src) diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index bf567a158de..144b128f5c6 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -15,7 +15,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE /obj/item/paicard/suicide_act(mob/living/user) - user.visible_message("[user] is staring sadly at [src]! [user.p_they()] can't keep living without real human intimacy!") + user.visible_message(span_suicide("[user] is staring sadly at [src]! [user.p_they()] can't keep living without real human intimacy!")) return OXYLOSS /obj/item/paicard/Initialize() @@ -99,21 +99,21 @@ if(pai.master_dna) return if(!iscarbon(usr)) - to_chat(usr, "You don't have any DNA, or your DNA is incompatible with this device!") + to_chat(usr, span_warning("You don't have any DNA, or your DNA is incompatible with this device!")) else var/mob/living/carbon/M = usr pai.master = M.real_name pai.master_dna = M.dna.unique_enzymes - to_chat(pai, "You have been bound to a new master.") + to_chat(pai, span_notice("You have been bound to a new master.")) pai.emittersemicd = FALSE if(href_list["wipe"]) var/confirm = tgui_alert(usr, "Are you CERTAIN you wish to delete the current personality? This action cannot be undone.", "Personality Wipe", list("Yes", "No")) if(confirm == "Yes") if(pai) - to_chat(pai, "You feel yourself slipping away from reality.") - to_chat(pai, "Byte by byte you lose your sense of self.") - to_chat(pai, "Your mental faculties leave you.") - to_chat(pai, "oblivion... ") + to_chat(pai, span_warning("You feel yourself slipping away from reality.")) + to_chat(pai, span_danger("Byte by byte you lose your sense of self.")) + to_chat(pai, span_userdanger("Your mental faculties leave you.")) + to_chat(pai, span_rose("oblivion... ")) qdel(pai) if(href_list["fix_speech"]) pai.stuttering = 0 @@ -128,21 +128,21 @@ pai.can_receive = !pai.can_receive pai.radio.wires.cut(transmit_holder)//wires.cut toggles cut and uncut states transmit_holder = (transmitting ? pai.can_transmit : pai.can_receive) //recycling can be fun! - to_chat(usr,"You [transmit_holder ? "enable" : "disable"] your pAI's [transmitting ? "outgoing" : "incoming"] radio transmissions!") - to_chat(pai,"Your owner has [transmit_holder ? "enabled" : "disabled"] your [transmitting ? "outgoing" : "incoming"] radio transmissions!") + to_chat(usr,span_warning("You [transmit_holder ? "enable" : "disable"] your pAI's [transmitting ? "outgoing" : "incoming"] radio transmissions!")) + to_chat(pai,span_warning("Your owner has [transmit_holder ? "enabled" : "disabled"] your [transmitting ? "outgoing" : "incoming"] radio transmissions!")) if(href_list["setlaws"]) var/newlaws = stripped_multiline_input(usr, "Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.laws.supplied[1], MAX_MESSAGE_LEN) if(newlaws && pai) pai.add_supplied_law(0,newlaws) if(href_list["toggle_holo"]) if(pai.canholo) - to_chat(pai, "Your owner has disabled your holomatrix projectors!") + to_chat(pai, span_userdanger("Your owner has disabled your holomatrix projectors!")) pai.canholo = FALSE - to_chat(usr, "You disable your pAI's holomatrix!") + to_chat(usr, span_warning("You disable your pAI's holomatrix!")) else - to_chat(pai, "Your owner has enabled your holomatrix projectors!") + to_chat(pai, span_boldnotice("Your owner has enabled your holomatrix projectors!")) pai.canholo = TRUE - to_chat(usr, "You enable your pAI's holomatrix!") + to_chat(usr, span_notice("You enable your pAI's holomatrix!")) attack_self(usr) @@ -164,7 +164,7 @@ COOLDOWN_START(src, alert_cooldown, 5 SECONDS) flick("[initial(icon_state)]-alert", src) playsound(src, 'sound/machines/ping.ogg', 30, TRUE) - loc.visible_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", blind_message = "[src] vibrates with an alert.") + loc.visible_message(span_info("[src] flashes a message across its screen, \"Additional personalities available for download.\""), blind_message = span_notice("[src] vibrates with an alert.")) /obj/item/paicard/emp_act(severity) . = ..() diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index a4d4432d260..ba1cbe4bfb5 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -21,11 +21,11 @@ var/obj/machinery/atmospherics/pipe/P = A if(P.paint(GLOB.pipe_paint_colors[paint_color])) playsound(src, 'sound/machines/click.ogg', 50, TRUE) - user.visible_message("[user] paints \the [P] [paint_color].","You paint \the [P] [paint_color].") + user.visible_message(span_notice("[user] paints \the [P] [paint_color]."),span_notice("You paint \the [P] [paint_color].")) /obj/item/pipe_painter/attack_self(mob/user) paint_color = tgui_input_list(usr, "Which colour do you want to use?","Pipe painter",GLOB.pipe_paint_colors) /obj/item/pipe_painter/examine(mob/user) . = ..() - . += "It is set to [paint_color]." + . += span_notice("It is set to [paint_color].") diff --git a/code/game/objects/items/devices/polycircuit.dm b/code/game/objects/items/devices/polycircuit.dm index 65a93680f6a..28129a1e477 100644 --- a/code/game/objects/items/devices/polycircuit.dm +++ b/code/game/objects/items/devices/polycircuit.dm @@ -10,7 +10,7 @@ var/chosen_circuit = "airlock" /obj/item/stack/circuit_stack/attack_self(mob/user)// Prevents the crafting menu, and tells you how to use it. - to_chat(user, "You can't use [src] by itself, you'll have to try and remove one of these circuits by hand... carefully.") + to_chat(user, span_warning("You can't use [src] by itself, you'll have to try and remove one of these circuits by hand... carefully.")) /obj/item/stack/circuit_stack/attack_hand(mob/user, list/modifiers) var/mob/living/carbon/human/H = user @@ -26,7 +26,7 @@ return switch(chosen_circuit) if("cancel") - to_chat(user, "You wisely avoid putting your hands anywhere near [src].") + to_chat(user, span_notice("You wisely avoid putting your hands anywhere near [src].")) return if("airlock") circuit_type = /obj/item/electronics/airlock @@ -38,7 +38,7 @@ circuit_type = /obj/item/electronics/airalarm if("APC") circuit_type = /obj/item/electronics/apc - to_chat(user, "You spot your circuit, and carefully attempt to remove it from [src], hold still!") + to_chat(user, span_notice("You spot your circuit, and carefully attempt to remove it from [src], hold still!")) if(do_after(user, 30, target = user)) if(!src || QDELETED(src))//Sanity Check. return @@ -46,12 +46,12 @@ user.put_in_hands(returned_circuit) use(1) if(!amount) - to_chat(user, "You navigate the sharp edges of circuitry and remove the last board.") + to_chat(user, span_notice("You navigate the sharp edges of circuitry and remove the last board.")) else - to_chat(user, "You navigate the sharp edges of circuitry and remove a single board from [src]") + to_chat(user, span_notice("You navigate the sharp edges of circuitry and remove a single board from [src]")) else H.apply_damage(15, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - to_chat(user, "You give yourself a wicked cut on [src]'s many sharp corners and edges!") + to_chat(user, span_warning("You give yourself a wicked cut on [src]'s many sharp corners and edges!")) /obj/item/stack/circuit_stack/full amount = 8 diff --git a/code/game/objects/items/devices/portable_chem_mixer.dm b/code/game/objects/items/devices/portable_chem_mixer.dm index c1a4dbc7cd4..144d9d0eefb 100644 --- a/code/game/objects/items/devices/portable_chem_mixer.dm +++ b/code/game/objects/items/devices/portable_chem_mixer.dm @@ -136,7 +136,7 @@ ui_interact(user) return else - to_chat(user, "It looks like this device can be worn as a belt for increased accessibility. A label indicates that the 'CTRL'-button on the device may be used to close it after it has been filled with bottles and beakers of chemicals.") + to_chat(user, span_notice("It looks like this device can be worn as a belt for increased accessibility. A label indicates that the 'CTRL'-button on the device may be used to close it after it has been filled with bottles and beakers of chemicals.")) return return diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index d97393ed75e..70bfe2edc2a 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -39,7 +39,7 @@ if(mode) . += "\The [src] is bolted to the floor." if(in_range(user, src) || isobserver(user) && internal_heat > max_heat * 0.5) - . += "[src] is warping the air above it. It must be very hot." + . += span_danger("[src] is warping the air above it. It must be very hot.") /obj/item/powersink/set_anchored(anchorvalue) . = ..() @@ -81,26 +81,26 @@ if(isturf(T) && !T.intact) attached = locate() in T if(!attached) - to_chat(user, "\The [src] must be placed over an exposed, powered cable node!") + to_chat(user, span_warning("\The [src] must be placed over an exposed, powered cable node!")) else set_mode(CLAMPED_OFF) user.visible_message( \ "[user] attaches \the [src] to the cable.", \ - "You bolt \the [src] into the floor and connect it to the cable.", - "You hear some wires being connected to something.") + span_notice("You bolt \the [src] into the floor and connect it to the cable."), + span_hear("You hear some wires being connected to something.")) else - to_chat(user, "\The [src] must be placed over an exposed, powered cable node!") + to_chat(user, span_warning("\The [src] must be placed over an exposed, powered cable node!")) else set_mode(DISCONNECTED) user.visible_message( \ "[user] detaches \the [src] from the cable.", \ - "You unbolt \the [src] from the floor and detach it from the cable.", - "You hear some wires being disconnected from something.") + span_notice("You unbolt \the [src] from the floor and detach it from the cable."), + span_hear("You hear some wires being disconnected from something.")) else if(I.tool_behaviour == TOOL_SCREWDRIVER) user.visible_message( \ "[user] messes with \the [src] for a bit.", \ - "You can't fit the screwdriver into \the [src]'s bolts! Try using a wrench.") + span_notice("You can't fit the screwdriver into \the [src]'s bolts! Try using a wrench.")) else return ..() @@ -121,8 +121,8 @@ if(CLAMPED_OFF) user.visible_message( \ "[user] activates \the [src]!", \ - "You activate \the [src].", - "You hear a click.") + span_notice("You activate \the [src]."), + span_hear("You hear a click.")) message_admins("Power sink activated by [ADMIN_LOOKUPFLW(user)] at [ADMIN_VERBOSEJMP(src)]") log_game("Power sink activated by [key_name(user)] at [AREACOORD(src)]") set_mode(OPERATING) @@ -130,8 +130,8 @@ if(OPERATING) user.visible_message( \ "[user] deactivates \the [src]!", \ - "You deactivate \the [src].", - "You hear a click.") + span_notice("You deactivate \the [src]."), + span_hear("You hear a click.")) set_mode(CLAMPED_OFF) /// Removes internal heat and shares it with the atmosphere. diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm index 0da49a5be85..08f1edd189b 100644 --- a/code/game/objects/items/devices/pressureplates.dm +++ b/code/game/objects/items/devices/pressureplates.dm @@ -45,7 +45,7 @@ return if(trigger_mob && isliving(AM)) var/mob/living/L = AM - to_chat(L, "You feel something click beneath you!") + to_chat(L, span_warning("You feel something click beneath you!")) else if(!trigger_item) return can_trigger = FALSE @@ -59,12 +59,12 @@ /obj/item/pressure_plate/attackby(obj/item/I, mob/living/L) if(istype(I, /obj/item/assembly/signaler) && !istype(sigdev) && removable_signaller && L.transferItemToLoc(I, src)) sigdev = I - to_chat(L, "You attach [I] to [src]!") + to_chat(L, span_notice("You attach [I] to [src]!")) return ..() /obj/item/pressure_plate/attack_self(mob/living/L) if(removable_signaller && istype(sigdev)) - to_chat(L, "You remove [sigdev] from [src].") + to_chat(L, span_notice("You remove [sigdev] from [src].")) if(!L.put_in_hands(sigdev)) sigdev.forceMove(get_turf(src)) sigdev = null @@ -72,13 +72,13 @@ /obj/item/pressure_plate/CtrlClick(mob/user) if(protected) - to_chat(user, "You can't quite seem to turn this pressure plate off...") + to_chat(user, span_warning("You can't quite seem to turn this pressure plate off...")) return active = !active if (active == TRUE) - to_chat(user, "You turn [src] on.") + to_chat(user, span_notice("You turn [src] on.")) else - to_chat(user, "You turn [src] off.") + to_chat(user, span_notice("You turn [src] off.")) ///Called from COMSIG_OBJ_HIDE to toggle the active part, because yeah im not making a special exception on the element to support it /obj/item/pressure_plate/proc/ToggleActive(datum/source, covered) diff --git a/code/game/objects/items/devices/quantum_keycard.dm b/code/game/objects/items/devices/quantum_keycard.dm index 95ca5e8e8ec..fef446a69e9 100644 --- a/code/game/objects/items/devices/quantum_keycard.dm +++ b/code/game/objects/items/devices/quantum_keycard.dm @@ -13,16 +13,16 @@ . = ..() if(qpad) . += "It's currently linked to a quantum pad." - . += "Alt-click to unlink the keycard." + . += span_notice("Alt-click to unlink the keycard.") else - . += "Insert [src] into an active quantum pad to link it." + . += span_notice("Insert [src] into an active quantum pad to link it.") /obj/item/quantum_keycard/AltClick(mob/living/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user))) return - to_chat(user, "You start pressing [src]'s unlink button...") + to_chat(user, span_notice("You start pressing [src]'s unlink button...")) if(do_after(user, 40, target = src)) - to_chat(user, "The keycard beeps twice and disconnects the quantum link.") + to_chat(user, span_notice("The keycard beeps twice and disconnects the quantum link.")) qpad = null /obj/item/quantum_keycard/update_icon_state() diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index f83cb762557..ea7fdde3c63 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -25,7 +25,7 @@ return ..() /obj/item/electropack/suicide_act(mob/user) - user.visible_message("[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!")) return (FIRELOSS) //ATTACK HAND IGNORING PARENT RETURN VALUE @@ -33,7 +33,7 @@ if(iscarbon(user)) var/mob/living/carbon/C = user if(src == C.back) - to_chat(user, "You need help taking this off!") + to_chat(user, span_warning("You need help taking this off!")) return return ..() @@ -43,7 +43,7 @@ A.icon = 'icons/obj/assemblies.dmi' if(!user.transferItemToLoc(W, A)) - to_chat(user, "[W] is stuck to your hand, you cannot attach it to [src]!") + to_chat(user, span_warning("[W] is stuck to your hand, you cannot attach it to [src]!")) return W.master = A A.helmet_part = W @@ -68,7 +68,7 @@ var/mob/living/L = loc step(L, pick(GLOB.cardinals)) - to_chat(L, "You feel a sharp shock!") + to_chat(L, span_danger("You feel a sharp shock!")) var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(3, 1, L) s.start() diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index d505021fd5c..b80bd6f154b 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -21,7 +21,7 @@ for(var/i in channels) examine_text_list += "[GLOB.channel_tokens[i]] - [lowertext(i)]" - . += "It can access the following channels; [jointext(examine_text_list, ", ")]." + . += span_notice("It can access the following channels; [jointext(examine_text_list, ", ")].") /obj/item/encryptionkey/syndicate name = "syndicate encryption key" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index c02c9c86f3e..ff35b07faba 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -29,7 +29,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( dog_fashion = null /obj/item/radio/headset/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins putting \the [src]'s antenna up [user.p_their()] nose! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer!") + user.visible_message(span_suicide("[user] begins putting \the [src]'s antenna up [user.p_their()] nose! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer!")) return TOXLOSS /obj/item/radio/headset/examine(mob/user) @@ -46,12 +46,12 @@ GLOBAL_LIST_INIT(channel_tokens, list( avail_chans += "use [MODE_TOKEN_DEPARTMENT] or [GLOB.channel_tokens[channels[i]]] for [lowertext(channels[i])]" else avail_chans += "use [GLOB.channel_tokens[channels[i]]] for [lowertext(channels[i])]" - . += "A small screen on the headset displays the following available frequencies:\n[english_list(avail_chans)]." + . += span_notice("A small screen on the headset displays the following available frequencies:\n[english_list(avail_chans)].") if(command) - . += "Alt-click to toggle the high-volume mode." + . += span_info("Alt-click to toggle the high-volume mode.") else - . += "A small screen on the headset flashes, it's too small to read without holding or wearing the headset." + . += span_notice("A small screen on the headset flashes, it's too small to read without holding or wearing the headset.") /obj/item/radio/headset/Initialize() . = ..() @@ -302,14 +302,14 @@ GLOBAL_LIST_INIT(channel_tokens, list( keyslot2 = null recalculateChannels() - to_chat(user, "You pop out the encryption keys in the headset.") + to_chat(user, span_notice("You pop out the encryption keys in the headset.")) else - to_chat(user, "This headset doesn't have any unique encryption keys! How useless...") + to_chat(user, span_warning("This headset doesn't have any unique encryption keys! How useless...")) else if(istype(W, /obj/item/encryptionkey)) if(keyslot && keyslot2) - to_chat(user, "The headset can't hold another key!") + to_chat(user, span_warning("The headset can't hold another key!")) return if(!keyslot) @@ -350,4 +350,4 @@ GLOBAL_LIST_INIT(channel_tokens, list( return if (command) use_command = !use_command - to_chat(user, "You toggle high-volume mode [use_command ? "on" : "off"].") + to_chat(user, span_notice("You toggle high-volume mode [use_command ? "on" : "off"].")) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 5a7f45fdcca..ef169a1a1f1 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -22,33 +22,33 @@ /obj/item/radio/intercom/examine(mob/user) . = ..() - . += "Use [MODE_TOKEN_INTERCOM] when nearby to speak into it." + . += span_notice("Use [MODE_TOKEN_INTERCOM] when nearby to speak into it.") if(!unscrewed) - . += "It's screwed and secured to the wall." + . += span_notice("It's screwed and secured to the wall.") else - . += "It's unscrewed from the wall, and can be detached." + . += span_notice("It's unscrewed from the wall, and can be detached.") /obj/item/radio/intercom/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_SCREWDRIVER) if(unscrewed) - user.visible_message("[user] starts tightening [src]'s screws...", "You start screwing in [src]...") + user.visible_message(span_notice("[user] starts tightening [src]'s screws..."), span_notice("You start screwing in [src]...")) if(I.use_tool(src, user, 30, volume=50)) - user.visible_message("[user] tightens [src]'s screws!", "You tighten [src]'s screws.") + user.visible_message(span_notice("[user] tightens [src]'s screws!"), span_notice("You tighten [src]'s screws.")) unscrewed = FALSE else - user.visible_message("[user] starts loosening [src]'s screws...", "You start unscrewing [src]...") + user.visible_message(span_notice("[user] starts loosening [src]'s screws..."), span_notice("You start unscrewing [src]...")) if(I.use_tool(src, user, 40, volume=50)) - user.visible_message("[user] loosens [src]'s screws!", "You unscrew [src], loosening it from the wall.") + user.visible_message(span_notice("[user] loosens [src]'s screws!"), span_notice("You unscrew [src], loosening it from the wall.")) unscrewed = TRUE return else if(I.tool_behaviour == TOOL_WRENCH) if(!unscrewed) - to_chat(user, "You need to unscrew [src] from the wall first!") + to_chat(user, span_warning("You need to unscrew [src] from the wall first!")) return - user.visible_message("[user] starts unsecuring [src]...", "You start unsecuring [src]...") + user.visible_message(span_notice("[user] starts unsecuring [src]..."), span_notice("You start unsecuring [src]...")) I.play_tool_sound(src) if(I.use_tool(src, user, 80)) - user.visible_message("[user] unsecures [src]!", "You detach [src] from the wall.") + user.visible_message(span_notice("[user] unsecures [src]!"), span_notice("You detach [src] from the wall.")) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) new/obj/item/wallframe/intercom(get_turf(src)) qdel(src) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 1f59fcee0e0..a7a456334b9 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -45,7 +45,7 @@ var/list/secure_radio_connections /obj/item/radio/suicide_act(mob/living/user) - user.visible_message("[user] starts bouncing [src] off [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] starts bouncing [src] off [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/radio/proc/set_frequency(new_frequency) @@ -334,20 +334,20 @@ /obj/item/radio/examine(mob/user) . = ..() if (frequency && in_range(src, user)) - . += "It is set to broadcast over the [frequency/10] frequency." + . += span_notice("It is set to broadcast over the [frequency/10] frequency.") if (unscrewed) - . += "It can be attached and modified." + . += span_notice("It can be attached and modified.") else - . += "It cannot be modified or attached." + . += span_notice("It cannot be modified or attached.") /obj/item/radio/attackby(obj/item/W, mob/user, params) add_fingerprint(user) if(W.tool_behaviour == TOOL_SCREWDRIVER) unscrewed = !unscrewed if(unscrewed) - to_chat(user, "The radio can now be attached and modified!") + to_chat(user, span_notice("The radio can now be attached and modified!")) else - to_chat(user, "The radio can no longer be modified or attached!") + to_chat(user, span_notice("The radio can no longer be modified or attached!")) else return ..() @@ -358,7 +358,7 @@ emped++ //There's been an EMP; better count it var/curremp = emped //Remember which EMP this was if (listening && ismob(loc)) // if the radio is turned on and on someone's person they notice - to_chat(loc, "\The [src] overloads.") + to_chat(loc, span_warning("\The [src] overloads.")) broadcasting = FALSE listening = FALSE for (var/ch_name in channels) @@ -416,14 +416,14 @@ keyslot = null recalculateChannels() - to_chat(user, "You pop out the encryption key in the radio.") + to_chat(user, span_notice("You pop out the encryption key in the radio.")) else - to_chat(user, "This radio doesn't have any encryption keys!") + to_chat(user, span_warning("This radio doesn't have any encryption keys!")) else if(istype(W, /obj/item/encryptionkey/)) if(keyslot) - to_chat(user, "The radio can't hold another key!") + to_chat(user, span_warning("The radio can't hold another key!")) return if(!keyslot) diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index 8057ea02ac9..eebda33c916 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -41,7 +41,7 @@ playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE) soundloop.stop() soundloop2.stop() - to_chat(loc, "*ding*") + to_chat(loc, span_userdanger("*ding*")) addtimer(CALLBACK(src, .proc/snap), 2) /obj/item/reverse_bear_trap/attack_hand(mob/user, list/modifiers) @@ -62,17 +62,17 @@ fear_string = "shakily" if(50 to 60) fear_string = "" - C.visible_message("[C] fiddles with and pulls at [src]...", \ - "You [fear_string] try to pull at [src]...", "You hear clicking and ticking.") + C.visible_message(span_danger("[C] fiddles with and pulls at [src]..."), \ + span_danger("You [fear_string] try to pull at [src]..."), "You hear clicking and ticking.") if(!do_after(user, 20, target = src)) struggling = FALSE return if(!prob(escape_chance)) - to_chat(user, "It doesn't budge!") + to_chat(user, span_warning("It doesn't budge!")) escape_chance++ else - user.visible_message("The lock on [user]'s [name] pops open!", \ - "You force open the padlock!", "You hear a single, pronounced click!") + user.visible_message(span_warning("The lock on [user]'s [name] pops open!"), \ + span_userdanger("You force open the padlock!"), "You hear a single, pronounced click!") REMOVE_TRAIT(src, TRAIT_NODROP, REVERSE_BEAR_TRAP_TRAIT) struggling = FALSE return @@ -80,16 +80,16 @@ /obj/item/reverse_bear_trap/attack(mob/living/target, mob/living/user) if(target.get_item_by_slot(ITEM_SLOT_HEAD)) - to_chat(user, "Remove [target.p_their()] headgear first!") + to_chat(user, span_warning("Remove [target.p_their()] headgear first!")) return - target.visible_message("[user] starts forcing [src] onto [target]'s head!", \ - "[target] starts forcing [src] onto your head!", "You hear clanking.") - to_chat(user, "You start forcing [src] onto [target]'s head...") + target.visible_message(span_warning("[user] starts forcing [src] onto [target]'s head!"), \ + span_userdanger("[target] starts forcing [src] onto your head!"), "You hear clanking.") + to_chat(user, span_danger("You start forcing [src] onto [target]'s head...")) if(!do_after(user, 30, target = target) || target.get_item_by_slot(ITEM_SLOT_HEAD)) return - target.visible_message("[user] forces and locks [src] onto [target]'s head!", \ - "[target] locks [src] onto your head!", "You hear a click, and then a timer ticking down.") - to_chat(user, "You force [src] onto [target]'s head and click the padlock shut.") + target.visible_message(span_warning("[user] forces and locks [src] onto [target]'s head!"), \ + span_userdanger("[target] locks [src] onto your head!"), "You hear a click, and then a timer ticking down.") + to_chat(user, span_danger("You force [src] onto [target]'s head and click the padlock shut.")) user.dropItemToGround(src) target.equip_to_slot_if_possible(src, ITEM_SLOT_HEAD) arm() @@ -99,11 +99,11 @@ reset() var/mob/living/carbon/human/H = loc if(!istype(H) || H.get_item_by_slot(ITEM_SLOT_HEAD) != src) - visible_message("[src]'s jaws snap open with an ear-piercing crack!") + visible_message(span_warning("[src]'s jaws snap open with an ear-piercing crack!")) playsound(src, 'sound/effects/snap.ogg', 75, TRUE) else var/mob/living/carbon/human/jill = loc - jill.visible_message("[src] goes off in [jill]'s mouth, ripping [jill.p_their()] head apart!", "[src] goes off!") + jill.visible_message(span_boldwarning("[src] goes off in [jill]'s mouth, ripping [jill.p_their()] head apart!"), span_userdanger("[src] goes off!")) jill.emote("scream") playsound(src, 'sound/effects/snap.ogg', 75, TRUE, frequency = 0.5) playsound(src, 'sound/effects/splat.ogg', 50, TRUE, frequency = 0.5) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 2d1921ddfb6..2b243e9a79d 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -34,7 +34,7 @@ GENE SCANNER custom_materials = list(/datum/material/iron=150) /obj/item/t_scanner/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to emit terahertz-rays into [user.p_their()] brain with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to emit terahertz-rays into [user.p_their()] brain with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS /obj/item/t_scanner/proc/toggle_on() @@ -100,36 +100,36 @@ GENE SCANNER custom_price = PAYCHECK_HARD /obj/item/healthanalyzer/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to analyze [user.p_them()]self with [src]! The display shows that [user.p_theyre()] dead!") + user.visible_message(span_suicide("[user] begins to analyze [user.p_them()]self with [src]! The display shows that [user.p_theyre()] dead!")) return BRUTELOSS /obj/item/healthanalyzer/attack_self(mob/user) scanmode = (scanmode + 1) % SCANMODE_COUNT switch(scanmode) if(SCANMODE_HEALTH) - to_chat(user, "You switch the health analyzer to check physical health.") + to_chat(user, span_notice("You switch the health analyzer to check physical health.")) if(SCANMODE_WOUND) - to_chat(user, "You switch the health analyzer to report extra info on wounds.") + to_chat(user, span_notice("You switch the health analyzer to report extra info on wounds.")) /obj/item/healthanalyzer/attack(mob/living/M, mob/living/carbon/human/user) flick("[icon_state]-scan", src) //makes it so that it plays the scan animation upon scanning, including clumsy scanning // Clumsiness/brain damage check if ((HAS_TRAIT(user, TRAIT_CLUMSY) || HAS_TRAIT(user, TRAIT_DUMB)) && prob(50)) - user.visible_message("[user] analyzes the floor's vitals!", \ - "You stupidly try to analyze the floor's vitals!") - to_chat(user, "Analyzing results for The floor:\n\tOverall status: Healthy\ - \nKey: Suffocation/Toxin/Burn/Brute\ - \n\tDamage specifics: 0-0-0-0\ - \nBody temperature: ???") + user.visible_message(span_warning("[user] analyzes the floor's vitals!"), \ + span_notice("You stupidly try to analyze the floor's vitals!")) + to_chat(user, "[span_info("Analyzing results for The floor:\n\tOverall status: Healthy")]\ + \n[span_info("Key: Suffocation/Toxin/Burn/Brute")]\ + \n[span_info("\tDamage specifics: 0-0-0-0")]\ + \n[span_info("Body temperature: ???")]") return if(ispodperson(M)&& !advanced) to_chat(user, "[M]'s biologal structure is too complex for the health analyzer.") return - user.visible_message("[user] analyzes [M]'s vitals.", \ - "You analyze [M]'s vitals.") + user.visible_message(span_notice("[user] analyzes [M]'s vitals."), \ + span_notice("You analyze [M]'s vitals.")) switch (scanmode) if (SCANMODE_HEALTH) @@ -149,7 +149,7 @@ GENE SCANNER return if(user.is_blind()) - to_chat(user, "You realize that your scanner has no accessibility support for the blind!") + to_chat(user, span_warning("You realize that your scanner has no accessibility support for the blind!")) return // the final list of strings to render @@ -160,20 +160,20 @@ GENE SCANNER var/tox_loss = M.getToxLoss() var/fire_loss = M.getFireLoss() var/brute_loss = M.getBruteLoss() - var/mob_status = (M.stat == DEAD ? "Deceased" : "[round(M.health/M.maxHealth,0.01)*100]% healthy") + var/mob_status = (M.stat == DEAD ? span_alert("Deceased") : "[round(M.health/M.maxHealth,0.01)*100]% healthy") if(HAS_TRAIT(M, TRAIT_FAKEDEATH) && !advanced) - mob_status = "Deceased" + mob_status = span_alert("Deceased") oxy_loss = max(rand(1, 40), oxy_loss, (300 - (tox_loss + fire_loss + brute_loss))) // Random oxygen loss if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.undergoing_cardiac_arrest() && H.stat != DEAD) - render_list += "Subject suffering from heart attack: Apply defibrillation or other electric shock immediately!\n" + render_list += "[span_alert("Subject suffering from heart attack: Apply defibrillation or other electric shock immediately!")]\n" if(H.has_reagent(/datum/reagent/inverse/technetium)) advanced = TRUE - render_list += "Analyzing results for [M]:\nOverall status: [mob_status]\n" + render_list += "[span_info("Analyzing results for [M]:")]\nOverall status: [mob_status]\n" // Husk detection if(advanced && HAS_TRAIT_FROM(M, TRAIT_HUSK, BURN)) @@ -189,7 +189,7 @@ GENE SCANNER if(fire_loss > 10) render_list += "[fire_loss > 50 ? "Severe" : "Minor"] burn damage detected.\n" if(oxy_loss > 10) - render_list += "[oxy_loss > 50 ? "Severe" : "Minor"] oxygen deprivation detected.\n" + render_list += "[span_alert("[oxy_loss > 50 ? "Severe" : "Minor"] oxygen deprivation detected.")]\n" if(tox_loss > 10) render_list += "[tox_loss > 50 ? "Severe" : "Minor"] amount of toxin damage detected.\n" if(M.getStaminaLoss()) @@ -408,9 +408,9 @@ GENE SCANNER var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id] blood_type = R ? R.name : blood_id if(C.blood_volume <= BLOOD_VOLUME_SAFE && C.blood_volume > BLOOD_VOLUME_OKAY) - render_list += "Blood level: LOW [blood_percent] %, [C.blood_volume] cl, type: [blood_type]\n" + render_list += "Blood level: LOW [blood_percent] %, [C.blood_volume] cl, [span_info("type: [blood_type]")]\n" else if(C.blood_volume <= BLOOD_VOLUME_OKAY) - render_list += "Blood level: CRITICAL [blood_percent] %, [C.blood_volume] cl, type: [blood_type]\n" + render_list += "Blood level: CRITICAL [blood_percent] %, [C.blood_volume] cl, [span_info("type: [blood_type]")]\n" else render_list += "Blood level: [blood_percent] %, [C.blood_volume] cl, type: [blood_type]\n" @@ -430,7 +430,7 @@ GENE SCANNER return if(user.is_blind()) - to_chat(user, "You realize that your scanner has no accessibility support for the blind!") + to_chat(user, span_warning("You realize that your scanner has no accessibility support for the blind!")) return if(istype(M) && M.reagents) @@ -441,7 +441,7 @@ GENE SCANNER var/datum/reagent/reagent = r if(reagent.chemical_flags & REAGENT_INVISIBLE) //Don't show hidden chems on scanners continue - render_list += "[round(reagent.volume, 0.001)] units of [reagent.name][reagent.overdosed ? " - OVERDOSING" : "."]\n" + render_list += "[round(reagent.volume, 0.001)] units of [reagent.name][reagent.overdosed ? " - [span_boldannounce("OVERDOSING")]" : "."]\n" else render_list += "Subject contains no reagents in their blood.\n" var/obj/item/organ/stomach/belly = M.getorganslot(ORGAN_SLOT_STOMACH) @@ -453,11 +453,11 @@ GENE SCANNER if(bit.chemical_flags & REAGENT_INVISIBLE) //Don't show hidden chems on scanners continue if(!belly.food_reagents[bit.type]) - render_list += "[round(bit.volume, 0.001)] units of [bit.name][bit.overdosed ? " - OVERDOSING" : "."]\n" + render_list += "[round(bit.volume, 0.001)] units of [bit.name][bit.overdosed ? " - [span_boldannounce("OVERDOSING")]" : ".
"]\n" else var/bit_vol = bit.volume - belly.food_reagents[bit.type] if(bit_vol > 0) - render_list += "[round(bit_vol, 0.001)] units of [bit.name][bit.overdosed ? " - OVERDOSING" : "."]\n" + render_list += "[round(bit_vol, 0.001)] units of [bit.name][bit.overdosed ? " - [span_boldannounce("OVERDOSING")]" : "."]\n" else render_list += "Subject contains no reagents in their stomach.\n" @@ -495,7 +495,7 @@ GENE SCANNER return if(user.is_blind()) - to_chat(user, "You realize that your scanner has no accessibility support for the blind!") + to_chat(user, span_warning("You realize that your scanner has no accessibility support for the blind!")) return var/render_list = "" @@ -511,7 +511,7 @@ GENE SCANNER if(istype(scanner)) // Only emit the cheerful scanner message if this scan came from a scanner playsound(scanner, 'sound/machines/ping.ogg', 50, FALSE) - to_chat(user, "\The [scanner] makes a happy ping and briefly displays a smiley face with several exclamation points! It's really excited to report that [patient] has no wounds!") + to_chat(user, span_notice("\The [scanner] makes a happy ping and briefly displays a smiley face with several exclamation points! It's really excited to report that [patient] has no wounds!")) else to_chat(user, "No wounds detected in subject.") else @@ -529,27 +529,27 @@ GENE SCANNER playsound(src, 'sound/machines/ping.ogg', 50, FALSE) var/list/encouragements = list("briefly displays a happy face, gazing emptily at you", "briefly displays a spinning cartoon heart", "displays an encouraging message about eating healthy and exercising", \ "reminds you that everyone is doing their best", "displays a message wishing you well", "displays a sincere thank-you for your interest in first-aid", "formally absolves you of all your sins") - to_chat(user, "\The [src] makes a happy ping and [pick(encouragements)]!") + to_chat(user, span_notice("\The [src] makes a happy ping and [pick(encouragements)]!")) next_encouragement = world.time + 10 SECONDS greedy = FALSE else if(!greedy) - to_chat(user, "\The [src] displays an eerily high-definition frowny face, chastizing you for asking it for too much encouragement.") + to_chat(user, span_warning("\The [src] displays an eerily high-definition frowny face, chastizing you for asking it for too much encouragement.")) greedy = TRUE else playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) if(isliving(user)) var/mob/living/L = user - to_chat(L, "\The [src] makes a disappointed buzz and pricks your finger for being greedy. Ow!") + to_chat(L, span_warning("\The [src] makes a disappointed buzz and pricks your finger for being greedy. Ow!")) L.adjustBruteLoss(4) L.dropItemToGround(src) /obj/item/healthanalyzer/wound/attack(mob/living/carbon/patient, mob/living/carbon/human/user) add_fingerprint(user) - user.visible_message("[user] scans [patient] for serious injuries.", "You scan [patient] for serious injuries.") + user.visible_message(span_notice("[user] scans [patient] for serious injuries."), span_notice("You scan [patient] for serious injuries.")) if(!istype(patient)) playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) - to_chat(user, "\The [src] makes a sad buzz and briefly displays a frowny face, indicating it can't scan [patient].") + to_chat(user, span_notice("\The [src] makes a sad buzz and briefly displays a frowny face, indicating it can't scan [patient].")) return woundscan(user, patient, src) @@ -579,10 +579,10 @@ GENE SCANNER /obj/item/analyzer/examine(mob/user) . = ..() - . += "Alt-click [src] to activate the barometer function." + . += span_notice("Alt-click [src] to activate the barometer function.") /obj/item/analyzer/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to analyze [user.p_them()]self with [src]! The display shows that [user.p_theyre()] dead!") + user.visible_message(span_suicide("[user] begins to analyze [user.p_them()]self with [src]! The display shows that [user.p_theyre()] dead!")) return BRUTELOSS /obj/item/analyzer/attack_self(mob/user) @@ -600,7 +600,7 @@ GENE SCANNER var/pressure = environment.return_pressure() var/total_moles = environment.total_moles() - render_list += "Results:\ + render_list += "[span_info("Results:")]\ \nPressure: [round(pressure, 0.01)] kPa\n" if(total_moles) var/list/env_gases = environment.gases @@ -622,8 +622,8 @@ GENE SCANNER if(id in GLOB.hardcoded_gases) continue var/gas_concentration = env_gases[id][MOLES]/total_moles - render_list += "[env_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] % ([round(env_gases[id][MOLES], 0.01)] mol)\n" - render_list += "Temperature: [round(environment.temperature-T0C, 0.01)] °C ([round(environment.temperature, 0.01)] K)\n" + render_list += "[span_alert("[env_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] % ([round(env_gases[id][MOLES], 0.01)] mol)")]\n" + render_list += "[span_info("Temperature: [round(environment.temperature-T0C, 0.01)] °C ([round(environment.temperature, 0.01)] K)")]\n" to_chat(user, jointext(render_list, ""), trailing_newline = FALSE) // we handled the last
so we don't need handholding /obj/item/analyzer/AltClick(mob/user) //Barometer output for measuring when the next storm happens @@ -631,7 +631,7 @@ GENE SCANNER if(user.canUseTopic(src, BE_CLOSE)) if(cooldown) - to_chat(user, "[src]'s barometer function is preparing itself.") + to_chat(user, span_warning("[src]'s barometer function is preparing itself.")) return var/turf/T = get_turf(user) @@ -643,7 +643,7 @@ GENE SCANNER var/datum/weather/ongoing_weather = null if(!user_area.outdoors) - to_chat(user, "[src]'s barometer function won't work indoors!") + to_chat(user, span_warning("[src]'s barometer function won't work indoors!")) return for(var/V in SSweather.processing) @@ -654,26 +654,26 @@ GENE SCANNER if(ongoing_weather) if((ongoing_weather.stage == MAIN_STAGE) || (ongoing_weather.stage == WIND_DOWN_STAGE)) - to_chat(user, "[src]'s barometer function can't trace anything while the storm is [ongoing_weather.stage == MAIN_STAGE ? "already here!" : "winding down."]") + to_chat(user, span_warning("[src]'s barometer function can't trace anything while the storm is [ongoing_weather.stage == MAIN_STAGE ? "already here!" : "winding down."]")) return - to_chat(user, "The next [ongoing_weather] will hit in [butchertime(ongoing_weather.next_hit_time - world.time)].") + to_chat(user, span_notice("The next [ongoing_weather] will hit in [butchertime(ongoing_weather.next_hit_time - world.time)].")) if(ongoing_weather.aesthetic) - to_chat(user, "[src]'s barometer function says that the next storm will breeze on by.") + to_chat(user, span_warning("[src]'s barometer function says that the next storm will breeze on by.")) else var/next_hit = SSweather.next_hit_by_zlevel["[T.z]"] var/fixed = next_hit ? timeleft(next_hit) : -1 if(fixed < 0) - to_chat(user, "[src]'s barometer function was unable to trace any weather patterns.") + to_chat(user, span_warning("[src]'s barometer function was unable to trace any weather patterns.")) else - to_chat(user, "[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].") + to_chat(user, span_warning("[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].")) cooldown = TRUE addtimer(CALLBACK(src,/obj/item/analyzer/proc/ping), cooldown_time) /obj/item/analyzer/proc/ping() if(isliving(loc)) var/mob/living/L = loc - to_chat(L, "[src]'s barometer function is ready!") + to_chat(L, span_notice("[src]'s barometer function is ready!")) playsound(src, 'sound/machines/click.ogg', 100) cooldown = FALSE @@ -696,13 +696,13 @@ GENE SCANNER var/icon = target var/render_list = list() if(!silent && isliving(user)) - user.visible_message("[user] uses the analyzer on [icon2html(icon, viewers(user))] [target].", "You use the analyzer on [icon2html(icon, user)] [target].") - render_list += "Results of analysis of [icon2html(icon, user)] [target]." + user.visible_message(span_notice("[user] uses the analyzer on [icon2html(icon, viewers(user))] [target]."), span_notice("You use the analyzer on [icon2html(icon, user)] [target].")) + render_list += span_boldnotice("Results of analysis of [icon2html(icon, user)] [target].") var/list/airs = islist(mixture) ? mixture : list(mixture) for(var/g in airs) if(airs.len > 1) //not a unary gas mixture - render_list += "Node [airs.Find(g)]" + render_list += span_boldnotice("Node [airs.Find(g)]") var/datum/gas_mixture/air_contents = g var/total_moles = air_contents.total_moles() @@ -712,21 +712,21 @@ GENE SCANNER var/cached_scan_results = air_contents.analyzer_results if(total_moles > 0) - render_list += "Moles: [round(total_moles, 0.01)] mol\ - \nVolume: [volume] L\ - \nPressure: [round(pressure,0.01)] kPa" + render_list += "[span_notice("Moles: [round(total_moles, 0.01)] mol")]\ + \n[span_notice("Volume: [volume] L")]\ + \n[span_notice("Pressure: [round(pressure,0.01)] kPa")]" var/list/cached_gases = air_contents.gases for(var/id in cached_gases) var/gas_concentration = cached_gases[id][MOLES]/total_moles - render_list += "[cached_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] % ([round(cached_gases[id][MOLES], 0.01)] mol)" - render_list += "Temperature: [round(temperature - T0C,0.01)] °C ([round(temperature, 0.01)] K)" + render_list += span_notice("[cached_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] % ([round(cached_gases[id][MOLES], 0.01)] mol)") + render_list += span_notice("Temperature: [round(temperature - T0C,0.01)] °C ([round(temperature, 0.01)] K)") else - render_list += airs.len > 1 ? "This node is empty!" : "[target] is empty!" + render_list += airs.len > 1 ? span_notice("This node is empty!") : span_notice("[target] is empty!") if(cached_scan_results && cached_scan_results["fusion"]) //notify the user if a fusion reaction was detected - render_list += "Large amounts of free neutrons detected in the air indicate that a fusion reaction took place.\ - \nInstability of the last fusion reaction: [round(cached_scan_results["fusion"], 0.01)]." + render_list += "[span_boldnotice("Large amounts of free neutrons detected in the air indicate that a fusion reaction took place.")]\ + \n[span_notice("Instability of the last fusion reaction: [round(cached_scan_results["fusion"], 0.01)].")]" to_chat(user, jointext(render_list, "\n")) // we let the join apply newlines so we do need handholding return TRUE @@ -752,7 +752,7 @@ GENE SCANNER if(user.stat || user.is_blind()) return if (!isslime(M)) - to_chat(user, "This device can only scan slimes!") + to_chat(user, span_warning("This device can only scan slimes!")) return var/mob/living/simple_animal/slime/T = M slime_scan(T, user) @@ -760,12 +760,12 @@ GENE SCANNER /proc/slime_scan(mob/living/simple_animal/slime/T, mob/living/user) var/to_render = "========================\ \nSlime scan results:\ - \n[T.colour] [T.is_adult ? "adult" : "baby"] slime\ + \n[span_notice("[T.colour] [T.is_adult ? "adult" : "baby"] slime")]\ \nNutrition: [T.nutrition]/[T.get_max_nutrition()]" if (T.nutrition < T.get_starve_nutrition()) - to_render += "\nWarning: slime is starving!" + to_render += "\n[span_warning("Warning: slime is starving!")]" else if (T.nutrition < T.get_hunger_nutrition()) - to_render += "\nWarning: slime is hungry" + to_render += "\n[span_warning("Warning: slime is hungry")]" to_render += "\nElectric change strength: [T.powerlevel]\nHealth: [round(T.health/T.maxHealth,0.01)*100]%" if (T.slime_mutation[4] == T.colour) to_render += "\nThis slime does not evolve any further." @@ -784,8 +784,8 @@ GENE SCANNER to_render += "\nMultiple cores detected" to_render += "\nGrowth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]" if(T.effectmod) - to_render += "\nCore mutation in progress: [T.effectmod]\ - \nProgress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]" + to_render += "\n[span_notice("Core mutation in progress: [T.effectmod]")]\ + \n[span_notice("Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]")]" to_chat(user, to_render + "\n========================") @@ -808,14 +808,14 @@ GENE SCANNER custom_materials = list(/datum/material/iron=200) /obj/item/nanite_scanner/attack(mob/living/M, mob/living/carbon/human/user) - user.visible_message("[user] analyzes [M]'s nanites.", \ - "You analyze [M]'s nanites.") + user.visible_message(span_notice("[user] analyzes [M]'s nanites."), \ + span_notice("You analyze [M]'s nanites.")) add_fingerprint(user) var/response = SEND_SIGNAL(M, COMSIG_NANITE_SCAN, user, TRUE) if(!response) - to_chat(user, "No nanites detected in the subject.") + to_chat(user, span_info("No nanites detected in the subject.")) /obj/item/sequence_scanner name = "genetic sequence scanner" @@ -842,12 +842,12 @@ GENE SCANNER /obj/item/sequence_scanner/attack(mob/living/M, mob/living/carbon/human/user) add_fingerprint(user) if (!HAS_TRAIT(M, TRAIT_GENELESS) && !HAS_TRAIT(M, TRAIT_BADDNA)) //no scanning if its a husk or DNA-less Species - user.visible_message("[user] analyzes [M]'s genetic sequence.", \ - "You analyze [M]'s genetic sequence.") + user.visible_message(span_notice("[user] analyzes [M]'s genetic sequence."), \ + span_notice("You analyze [M]'s genetic sequence.")) gene_scan(M, user) else - user.visible_message("[user] fails to analyze [M]'s genetic sequence.", "[M] has no readable genetic sequence!") + user.visible_message(span_notice("[user] fails to analyze [M]'s genetic sequence."), span_warning("[M] has no readable genetic sequence!")) /obj/item/sequence_scanner/attack_self(mob/user) display_sequence(user) @@ -863,19 +863,19 @@ GENE SCANNER if(istype(O, /obj/machinery/computer/scan_consolenew)) var/obj/machinery/computer/scan_consolenew/C = O if(C.stored_research) - to_chat(user, "[name] linked to central research database.") + to_chat(user, span_notice("[name] linked to central research database.")) discovered = C.stored_research.discovered_mutations else - to_chat(user,"No database to update from.") + to_chat(user,span_warning("No database to update from.")) /obj/item/sequence_scanner/proc/gene_scan(mob/living/carbon/C, mob/living/user) if(!iscarbon(C) || !C.has_dna()) return buffer = C.dna.mutation_index - to_chat(user, "Subject [C.name]'s DNA sequence has been saved to buffer.") + to_chat(user, span_notice("Subject [C.name]'s DNA sequence has been saved to buffer.")) if(LAZYLEN(buffer)) for(var/A in buffer) - to_chat(user, "[get_display_name(A)]") + to_chat(user, span_notice("[get_display_name(A)]")) /obj/item/sequence_scanner/proc/display_sequence(mob/living/user) @@ -900,7 +900,7 @@ GENE SCANNER display += "-" display += copytext_char(sequence, 1 + i*DNA_MUTATION_BLOCKS, DNA_MUTATION_BLOCKS*(1+i) + 1) - to_chat(user, "[display]
") + to_chat(user, "[span_boldnotice("[display]")]
") ready = FALSE icon_state = "[icon_state]_recharging" @@ -936,23 +936,23 @@ GENE SCANNER flick("[icon_state]_active", src) //nice little visual flash when scanning someone else. if((HAS_TRAIT(user, TRAIT_CLUMSY) || HAS_TRAIT(user, TRAIT_DUMB)) && prob(25)) - user.visible_message("[user] targets himself for scanning.", \ - to_chat(user, "You try scanning [M], before realizing you're holding the scanner backwards. Whoops.")) + user.visible_message(span_warning("[user] targets himself for scanning."), \ + to_chat(user, span_info("You try scanning [M], before realizing you're holding the scanner backwards. Whoops."))) selected_target = user return if(!ishuman(M)) - to_chat(user, "You can only scan human-like, non-robotic beings.") + to_chat(user, span_info("You can only scan human-like, non-robotic beings.")) selected_target = null return - user.visible_message("[user] targets [M] for scanning.", \ - "You target [M] vitals.") + user.visible_message(span_notice("[user] targets [M] for scanning."), \ + span_notice("You target [M] vitals.")) selected_target = M return /obj/item/scanner_wand/attack_self(mob/user) - to_chat(user, "You clear the scanner's target.") + to_chat(user, span_info("You clear the scanner's target.")) selected_target = null /obj/item/scanner_wand/proc/return_patient() diff --git a/code/game/objects/items/devices/spyglasses.dm b/code/game/objects/items/devices/spyglasses.dm index 7b0019ce834..6145f7a2091 100644 --- a/code/game/objects/items/devices/spyglasses.dm +++ b/code/game/objects/items/devices/spyglasses.dm @@ -10,7 +10,7 @@ if(!user.client) return if(!linked_bug) - user.audible_message("[src] lets off a shrill beep!") + user.audible_message(span_warning("[src] lets off a shrill beep!")) if("spypopup_map" in user.client.screen_maps) //alright, the popup this object uses is already IN use, so the window is open. no point in doing any other work here, so we're good. return user.client.setup_popup("spypopup", 3, 3, 2) diff --git a/code/game/objects/items/devices/swapper.dm b/code/game/objects/items/devices/swapper.dm index 8b13348dbfd..dcda979bc80 100644 --- a/code/game/objects/items/devices/swapper.dm +++ b/code/game/objects/items/devices/swapper.dm @@ -28,12 +28,12 @@ if(istype(I, /obj/item/swapper)) var/obj/item/swapper/other_swapper = I if(other_swapper.linked_swapper) - to_chat(user, "[other_swapper] is already linked. Break the current link to establish a new one.") + to_chat(user, span_warning("[other_swapper] is already linked. Break the current link to establish a new one.")) return if(linked_swapper) - to_chat(user, "[src] is already linked. Break the current link to establish a new one.") + to_chat(user, span_warning("[src] is already linked. Break the current link to establish a new one.")) return - to_chat(user, "You establish a quantum link between the two devices.") + to_chat(user, span_notice("You establish a quantum link between the two devices.")) linked_swapper = other_swapper other_swapper.linked_swapper = src update_appearance() @@ -43,33 +43,33 @@ /obj/item/swapper/attack_self(mob/living/user) if(world.time < next_use) - to_chat(user, "[src] is still recharging.") + to_chat(user, span_warning("[src] is still recharging.")) return if(QDELETED(linked_swapper)) - to_chat(user, "[src] is not linked with another swapper.") + to_chat(user, span_warning("[src] is not linked with another swapper.")) return playsound(src, 'sound/weapons/flash.ogg', 25, TRUE) - to_chat(user, "You activate [src].") + to_chat(user, span_notice("You activate [src].")) playsound(linked_swapper, 'sound/weapons/flash.ogg', 25, TRUE) if(ismob(linked_swapper.loc)) var/mob/holder = linked_swapper.loc - to_chat(holder, "[linked_swapper] starts buzzing.") + to_chat(holder, span_notice("[linked_swapper] starts buzzing.")) next_use = world.time + cooldown //only the one used goes on cooldown addtimer(CALLBACK(src, .proc/swap, user), 25) /obj/item/swapper/examine(mob/user) . = ..() if(world.time < next_use) - . += "Time left to recharge: [DisplayTimeText(next_use - world.time)]." + . += span_warning("Time left to recharge: [DisplayTimeText(next_use - world.time)].") if(linked_swapper) - . += "Linked. Alt-Click to break the quantum link." + . += span_notice("Linked. Alt-Click to break the quantum link.") else - . += "Not Linked. Use on another quantum spin inverter to establish a quantum link." + . += span_notice("Not Linked. Use on another quantum spin inverter to establish a quantum link.") /obj/item/swapper/AltClick(mob/living/user) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user))) return - to_chat(user, "You break the current quantum link.") + to_chat(user, span_notice("You break the current quantum link.")) if(!QDELETED(linked_swapper)) linked_swapper.linked_swapper = null linked_swapper.update_appearance() @@ -108,4 +108,4 @@ do_teleport(B, target_A, forceMove = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) if(ismob(B)) var/mob/M = B - to_chat(M, "[linked_swapper] activates, and you find yourself somewhere else.") + to_chat(M, span_warning("[linked_swapper] activates, and you find yourself somewhere else.")) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 222d780f97c..ec451f512db 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -47,18 +47,18 @@ /obj/item/taperecorder/proc/readout() if(mytape) if(playing) - return "PLAYING" + return span_notice("PLAYING") else var/time = mytape.used_capacity / 10 //deciseconds / 10 = seconds var/mins = round(time / 60) var/secs = time - mins * 60 - return "[mins]m [secs]s" - return "NO TAPE INSERTED" + return span_notice("[mins]m [secs]s") + return span_notice("NO TAPE INSERTED") /obj/item/taperecorder/examine(mob/user) . = ..() if(in_range(src, user) || isobserver(user)) - . += "The wire panel is [open_panel ? "opened" : "closed"]. The display reads:" + . += span_notice("The wire panel is [open_panel ? "opened" : "closed"]. The display reads:") . += "[readout()]" /obj/item/taperecorder/AltClick(mob/user) @@ -91,7 +91,7 @@ if(!user.transferItemToLoc(I,src)) return mytape = I - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_notice("You insert [I] into [src].")) playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE) update_appearance() @@ -99,7 +99,7 @@ /obj/item/taperecorder/proc/eject(mob/user) if(mytape) playsound(src, 'sound/items/taperecorder/taperecorder_open.ogg', 50, FALSE) - to_chat(user, "You remove [mytape] from [src].") + to_chat(user, span_notice("You remove [mytape] from [src].")) stop() user.put_in_hands(mytape) mytape = null @@ -256,10 +256,10 @@ /obj/item/taperecorder/attack_self(mob/user) if(!mytape) - to_chat(user, "\The [src] is empty.") + to_chat(user, span_notice("\The [src] is empty.")) return if(mytape.unspooled) - to_chat(user, "\The tape inside \the [src] is broken!") + to_chat(user, span_warning("\The tape inside \the [src] is broken!")) return update_available_icons() @@ -290,7 +290,7 @@ if(!mytape) return if(!canprint) - to_chat(usr, "The recorder can't print that fast!") + to_chat(usr, span_warning("The recorder can't print that fast!")) return if(recording || playing) return @@ -380,13 +380,13 @@ if(loc != user) return tapeflip() - to_chat(user, "You turn \the [src] over.") + to_chat(user, span_notice("You turn \the [src] over.")) playsound(src, 'sound/items/taperecorder/tape_flip.ogg', 70, FALSE) if("Unwind tape") if(loc != user) return unspool() - to_chat(user, "You pull out all the tape!") + to_chat(user, span_warning("You pull out all the tape!")) /obj/item/tape/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(prob(50)) @@ -424,9 +424,9 @@ /obj/item/tape/attackby(obj/item/I, mob/user, params) if(unspooled && (I.tool_behaviour == TOOL_SCREWDRIVER)) - to_chat(user, "You start winding the tape back in...") + to_chat(user, span_notice("You start winding the tape back in...")) if(I.use_tool(src, user, 120)) - to_chat(user, "You wind the tape back in.") + to_chat(user, span_notice("You wind the tape back in.")) respool() //Random colour tapes diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 3aa7da36d54..47a83aea539 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -36,7 +36,7 @@ effective or pretty fucking useless. /obj/item/batterer/attack_self(mob/living/carbon/user, flag = 0, emp = 0) if(!user) return if(times_used >= max_uses) - to_chat(user, "The mind batterer has been burnt out!") + to_chat(user, span_danger("The mind batterer has been burnt out!")) return log_combat(user, null, "knocked down people in the area", src) @@ -45,13 +45,13 @@ effective or pretty fucking useless. if(prob(50)) M.Paralyze(rand(200,400)) - to_chat(M, "You feel a tremendous, paralyzing wave flood your mind.") + to_chat(M, span_userdanger("You feel a tremendous, paralyzing wave flood your mind.")) else - to_chat(M, "You feel a sudden, electric jolt travel through your head.") + to_chat(M, span_userdanger("You feel a sudden, electric jolt travel through your head.")) playsound(src.loc, 'sound/misc/interference.ogg', 50, TRUE) - to_chat(user, "You trigger [src].") + to_chat(user, span_notice("You trigger [src].")) times_used += 1 if(times_used >= max_uses) icon_state = "battererburnt" @@ -87,10 +87,10 @@ effective or pretty fucking useless. icon_state = "health1" addtimer(VARSET_CALLBACK(src, used, FALSE), cooldown) addtimer(VARSET_CALLBACK(src, icon_state, "health"), cooldown) - to_chat(user, "Successfully irradiated [M].") + to_chat(user, span_warning("Successfully irradiated [M].")) addtimer(CALLBACK(src, .proc/radiation_aftereffect, M, intensity), (wavelength+(intensity*4))*5) else - to_chat(user, "The radioactive microlaser is still recharging.") + to_chat(user, span_warning("The radioactive microlaser is still recharging.")) /obj/item/healthanalyzer/rad_laser/proc/radiation_aftereffect(mob/living/M, passed_intensity) if(QDELETED(M) || !ishuman(M) || HAS_TRAIT(M, TRAIT_RADIMMUNE)) @@ -213,14 +213,14 @@ effective or pretty fucking useless. /obj/item/shadowcloak/proc/Activate(mob/living/carbon/human/user) if(!user) return - to_chat(user, "You activate [src].") + to_chat(user, span_notice("You activate [src].")) src.user = user START_PROCESSING(SSobj, src) old_alpha = user.alpha on = TRUE /obj/item/shadowcloak/proc/Deactivate() - to_chat(user, "You deactivate [src].") + to_chat(user, span_notice("You deactivate [src].")) STOP_PROCESSING(SSobj, src) if(user) user.alpha = old_alpha @@ -255,7 +255,7 @@ effective or pretty fucking useless. var/range = 12 /obj/item/jammer/attack_self(mob/user) - to_chat(user,"You [active ? "deactivate" : "activate"] [src].") + to_chat(user,span_notice("You [active ? "deactivate" : "activate"] [src].")) active = !active if(active) GLOB.active_jammers |= src @@ -276,8 +276,8 @@ effective or pretty fucking useless. /obj/item/storage/toolbox/emergency/turret/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_WRENCH && user.combat_mode) - user.visible_message("[user] bashes [src] with [I]!", \ - "You bash [src] with [I]!", null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] bashes [src] with [I]!"), \ + span_danger("You bash [src] with [I]!"), null, COMBAT_MESSAGE_RANGE) playsound(src, "sound/items/drill_use.ogg", 80, TRUE, -1) var/obj/machinery/porta_turret/syndicate/pod/toolbox/turret = new(get_turf(loc)) turret.faction = list("[REF(user)]") diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index a1f71ba0c66..c2363794c90 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -37,34 +37,34 @@ /obj/item/transfer_valve/attackby(obj/item/item, mob/user, params) if(istype(item, /obj/item/tank)) if(tank_one && tank_two) - to_chat(user, "There are already two tanks attached, remove one first!") + to_chat(user, span_warning("There are already two tanks attached, remove one first!")) return if(!tank_one) if(!user.transferItemToLoc(item, src)) return tank_one = item - to_chat(user, "You attach the tank to the transfer valve.") + to_chat(user, span_notice("You attach the tank to the transfer valve.")) else if(!tank_two) if(!user.transferItemToLoc(item, src)) return tank_two = item - to_chat(user, "You attach the tank to the transfer valve.") + to_chat(user, span_notice("You attach the tank to the transfer valve.")) update_appearance() //TODO: Have this take an assemblyholder else if(isassembly(item)) var/obj/item/assembly/A = item if(A.secured) - to_chat(user, "The device is secured.") + to_chat(user, span_notice("The device is secured.")) return if(attached_device) - to_chat(user, "There is already a device attached to the valve, remove it first!") + to_chat(user, span_warning("There is already a device attached to the valve, remove it first!")) return if(!user.transferItemToLoc(item, src)) return attached_device = A - to_chat(user, "You attach the [item] to the valve controls and secure it.") + to_chat(user, span_notice("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). diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index 0238545db0d..869a3dd7865 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -27,7 +27,7 @@ new picked(src) /obj/item/storage/pill_bottle/dice/suicide_act(mob/user) - user.visible_message("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) /obj/item/storage/pill_bottle/dice/hazard @@ -65,7 +65,7 @@ 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!") + user.visible_message(span_suicide("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) /obj/item/dice/d1 @@ -211,11 +211,11 @@ if(special_faces.len == sides) result = special_faces[result] if(user != null) //Dice was rolled in someone's hand - user.visible_message("[user] throws [src]. It lands on [result]. [comment]", \ - "You throw [src]. It lands on [result]. [comment]", \ - "You hear [src] rolling, it sounds like a [fake_result].") + user.visible_message(span_notice("[user] throws [src]. It lands on [result]. [comment]"), \ + span_notice("You throw [src]. It lands on [result]. [comment]"), \ + span_hear("You hear [src] rolling, it sounds like a [fake_result].")) else if(!src.throwing) //Dice was thrown and is coming to rest - visible_message("[src] rolls to a stop, landing on [result]. [comment]") + visible_message(span_notice("[src] rolls to a stop, landing on [result]. [comment]")) /obj/item/dice/update_overlays() . = ..() diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index e415e7befe6..de411e38e2c 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -28,7 +28,7 @@ M.dna.remove_mutation(HM) for(var/HM in add_mutations) if(HM == RACEMUT) - message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] (MONKEY)") + message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] [span_danger("(MONKEY)")]") log_msg += " (MONKEY)" if(M.dna.mutation_in_sequence(HM)) M.dna.activate_mutation(HM) @@ -49,10 +49,10 @@ /obj/item/dnainjector/attack(mob/target, mob/user) if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return if(used) - to_chat(user, "This injector is used up!") + to_chat(user, span_warning("This injector is used up!")) return if(ishuman(target)) var/mob/living/carbon/human/humantarget = target @@ -61,20 +61,20 @@ log_combat(user, target, "attempted to inject", src) if(target != user) - target.visible_message("[user] is trying to inject [target] with [src]!", \ - "[user] is trying to inject you with [src]!") + target.visible_message(span_danger("[user] is trying to inject [target] with [src]!"), \ + span_userdanger("[user] is trying to inject you with [src]!")) if(!do_mob(user, target) || used) return - target.visible_message("[user] injects [target] with the syringe with [src]!", \ - "[user] injects you with the syringe with [src]!") + target.visible_message(span_danger("[user] injects [target] with the syringe with [src]!"), \ + span_userdanger("[user] injects you with the syringe with [src]!")) else - to_chat(user, "You inject yourself with [src].") + to_chat(user, span_notice("You inject yourself with [src].")) log_combat(user, target, "injected", src) if(!inject(target, user)) //Now we actually do the heavy lifting. - to_chat(user, "It appears that [target] does not have compatible DNA.") + to_chat(user, span_notice("It appears that [target] does not have compatible DNA.")) used = 1 icon_state = "dnainjector0" @@ -446,7 +446,7 @@ /obj/item/dnainjector/timed/inject(mob/living/carbon/M, mob/user) if(M.stat == DEAD) //prevents dead people from having their DNA changed - to_chat(user, "You can't modify [M]'s DNA while [M.p_theyre()] dead.") + to_chat(user, span_notice("You can't modify [M]'s DNA while [M.p_theyre()] dead.")) return FALSE if(M.has_dna() && !(HAS_TRAIT(M, TRAIT_BADDNA))) @@ -464,7 +464,7 @@ if(M.dna.get_mutation(mutation)) continue //Skip permanent mutations we already have. if(mutation == RACEMUT && !ismonkey(M)) - message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] (MONKEY)") + message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] [span_danger("(MONKEY)")]") log_msg += " (MONKEY)" M = M.dna.add_mutation(mutation, MUT_OTHER, endtime) else diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index deff2b6e50b..39a3fe604df 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -48,13 +48,13 @@ /obj/item/documents/photocopy/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/toy/crayon/red) || istype(O, /obj/item/toy/crayon/blue)) if (forgedseal) - to_chat(user, "You have already forged a seal on [src]!") + to_chat(user, span_warning("You have already forged a seal on [src]!")) else var/obj/item/toy/crayon/C = O name = "[C.crayon_color] secret documents" 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?") + to_chat(user, span_notice("You forge the official seal with a [C.crayon_color] crayon. No one will notice... right?")) update_appearance() /** @@ -127,19 +127,19 @@ /obj/item/inspector/attackby(obj/item/I, mob/user, params) if(cell_cover_open && istype(I, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, "[src] already has a cell installed.") + to_chat(user, span_warning("[src] already has a cell installed.")) return if(user.transferItemToLoc(I, src)) cell = I - to_chat(user, "You successfully install \the [cell] into [src].") + to_chat(user, span_notice("You successfully install \the [cell] into [src].")) return return ..() /obj/item/inspector/CtrlClick(mob/living/user) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user)) || !cell_cover_open || !cell) return ..() - user.visible_message("[user] removes \the [cell] from [src]!", \ - "You remove [cell].") + user.visible_message(span_notice("[user] removes \the [cell] from [src]!"), \ + span_notice("You remove [cell].")) cell.add_fingerprint(user) user.put_in_hands(cell) cell = null @@ -154,7 +154,7 @@ if(!cell) . += "The slot for a cell is empty." else - . += "\The [cell] is firmly in place. Ctrl-click with an empty hand to remove it." + . += "\The [cell] is firmly in place. [span_info("Ctrl-click with an empty hand to remove it.")]" /** * Create our report @@ -218,14 +218,14 @@ /obj/item/paper/report/examine(mob/user) . = ..() if(scanned_area?.name) - . += "\The [src] contains data on [scanned_area.name]." + . += span_notice("\The [src] contains data on [scanned_area.name].") else if(scanned_area) - . += "\The [src] contains data on a vague area on station, you should throw it away." + . += span_notice("\The [src] contains data on a vague area on station, you should throw it away.") else if(info) icon_state = "slipfull" - . += "Wait a minute, this isn't an encrypted inspection report! You should throw it away." + . += span_notice("Wait a minute, this isn't an encrypted inspection report! You should throw it away.") else - . += "Wait a minute, this thing's blank! You should throw it away." + . += span_notice("Wait a minute, this thing's blank! You should throw it away.") /** * # Fake N-spect scanner @@ -267,10 +267,10 @@ /obj/item/inspector/clown/examine_more(mob/user) if(!cell_cover_open) return ..() - . = list("Both setting dials are flush with the surface of the battery compartment, and seem to be impossible to move with bare hands.") - . += "\tThe first dial is labeled \"SPEED\" and looks a bit like a screw head." - . += "\tThe second dial is labeled \"SOUND\". It has four small holes in it. Perhaps it can be turned with a fork?" - . += "\tA small bananium part labeled \"ADVANCED WATER CHIP 23000000\" is visible within the battery compartment. It looks completely unlike normal modern electronics, disturbing it would be rather unwise." + . = list(span_notice("Both setting dials are flush with the surface of the battery compartment, and seem to be impossible to move with bare hands.")) + . += "\t[span_info("The first dial is labeled \"SPEED\" and looks a bit like a screw head.")]" + . += "\t[span_info("The second dial is labeled \"SOUND\". It has four small holes in it. Perhaps it can be turned with a fork?")]" + . += "\t[span_info("A small bananium part labeled \"ADVANCED WATER CHIP 23000000\" is visible within the battery compartment. It looks completely unlike normal modern electronics, disturbing it would be rather unwise.")]" /obj/item/inspector/clown/proc/cycle_print_time(mob/user) @@ -337,10 +337,10 @@ if(cell_cover_open) check_settings_legality() if(istype(I, /obj/item/paper/fake_report) || paper_charges >= max_paper_charges) - to_chat(user, "\The [src] refuses to consume \the [I]!") + to_chat(user, span_info("\The [src] refuses to consume \the [I]!")) return if(istype(I, /obj/item/paper)) - to_chat(user, "\The [src] consumes \the [I]!") + to_chat(user, span_info("\The [src] consumes \the [I]!")) paper_charges = min(paper_charges + charges_per_paper, max_paper_charges) qdel(I) @@ -416,13 +416,13 @@ /obj/item/paper/fake_report/examine(mob/user) . = ..() if(scanned_area?.name) - . += "\The [src] contains no data on [scanned_area.name]." + . += span_notice("\The [src] contains no data on [scanned_area.name].") else if(scanned_area) - . += "\The [src] contains no data on a vague area on station, you should throw it away." + . += span_notice("\The [src] contains no data on a vague area on station, you should throw it away.") else if(info) - . += "Wait a minute, this isn't an encrypted inspection report! You should throw it away." + . += span_notice("Wait a minute, this isn't an encrypted inspection report! You should throw it away.") else - . += "Wait a minute, this thing's blank! You should throw it away." + . += span_notice("Wait a minute, this thing's blank! You should throw it away.") /** * # Fake report made of water @@ -444,5 +444,5 @@ else if(do_after(user, 1 SECONDS, target = src, progress=TRUE)) var/turf/open/target = get_turf(src) target.MakeSlippery(TURF_WET_WATER, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS) - to_chat(user, "As you try to fold [src] into the shape of a plane, it disintegrates into water!") + to_chat(user, span_notice("As you try to fold [src] into the shape of a plane, it disintegrates into water!")) qdel(src) diff --git a/code/game/objects/items/door_seal.dm b/code/game/objects/items/door_seal.dm index 66c6c0070bc..897c63c40a2 100644 --- a/code/game/objects/items/door_seal.dm +++ b/code/game/objects/items/door_seal.dm @@ -19,7 +19,7 @@ var/unseal_time = 2 SECONDS /obj/item/door_seal/suicide_act(mob/user) - user.visible_message("[user] is sealing [user.p_them()]self off from the world with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is sealing [user.p_them()]self off from the world with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/items/jaws_pry.ogg', 30, TRUE) return(BRUTELOSS) diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index cb8d351f53d..3177df30987 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -46,7 +46,7 @@ if(user?.has_dna()) if(user.dna.check_mutation(HULK)) - to_chat(user, "You lack the grace to wield this!") + to_chat(user, span_warning("You lack the grace to wield this!")) return COMPONENT_TWOHANDED_BLOCK_WIELD wielded = TRUE w_class = w_class_on @@ -76,7 +76,7 @@ /obj/item/dualsaber/suicide_act(mob/living/carbon/user) if(wielded) - user.visible_message("[user] begins spinning way too fast! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins spinning way too fast! It looks like [user.p_theyre()] trying to commit suicide!")) var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)//stole from chainsaw code var/obj/item/organ/brain/B = user.getorganslot(ORGAN_SLOT_BRAIN) @@ -91,11 +91,11 @@ myhead.drop_limb() sleep(3) else - user.visible_message("[user] panics and starts choking to death!") + user.visible_message(span_suicide("[user] panics and starts choking to death!")) return OXYLOSS else - user.visible_message("[user] begins beating [user.p_them()]self to death with \the [src]'s handle! It probably would've been cooler if [user.p_they()] turned it on first!") + user.visible_message(span_suicide("[user] begins beating [user.p_them()]self to death with \the [src]'s handle! It probably would've been cooler if [user.p_they()] turned it on first!")) return BRUTELOSS /obj/item/dualsaber/Initialize() @@ -121,7 +121,7 @@ /obj/item/dualsaber/attack(mob/target, mob/living/carbon/human/user) if(user.has_dna()) if(user.dna.check_mutation(HULK)) - to_chat(user, "You grip the blade too hard and accidentally drop it!") + to_chat(user, span_warning("You grip the blade too hard and accidentally drop it!")) if(wielded) user.dropItemToGround(src, force=TRUE) return @@ -136,7 +136,7 @@ dance_rotate(user, CALLBACK(user, /mob.proc/dance_flip)) /obj/item/dualsaber/proc/impale(mob/living/user) - to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].") + to_chat(user, span_warning("You twirl around a bit before losing your balance and impaling yourself on [src].")) if(wielded) user.take_bodypart_damage(20,25,check_armor = TRUE) else @@ -168,7 +168,7 @@ var/mob/living/carbon/C = user if(C.wear_mask) in_mouth = ", barely missing [user.p_their()] nose" - . = "[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [A.loc == user ? "[user.p_their()] [A.name]" : A] in the process." + . = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [A.loc == user ? "[user.p_their()] [A.name]" : A] in the process.") playsound(loc, hitsound, get_clamped_volume(), TRUE, -1) add_fingerprint(user) // Light your candles while spinning around the room @@ -190,10 +190,10 @@ if(W.tool_behaviour == TOOL_MULTITOOL) if(!hacked) hacked = TRUE - to_chat(user, "2XRNBW_ENGAGE") + to_chat(user, span_warning("2XRNBW_ENGAGE")) saber_color = "rainbow" update_appearance() else - to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") + to_chat(user, span_warning("It's starting to look like a triple rainbow - no, nevermind.")) else return ..() diff --git a/code/game/objects/items/dyekit.dm b/code/game/objects/items/dyekit.dm index 2cbfbca6332..ee63da2d847 100644 --- a/code/game/objects/items/dyekit.dm +++ b/code/game/objects/items/dyekit.dm @@ -33,7 +33,7 @@ human_target.grad_style = new_grad_style human_target.grad_color = sanitize_hexcolor(new_grad_color) - to_chat(human_target, "You start applying the hair dye...") + to_chat(human_target, span_notice("You start applying the hair dye...")) if(!do_after(usr, 3 SECONDS, target)) return playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 5) diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 4fc845092f4..61b62d86672 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -51,10 +51,10 @@ return if(on_cooldown) - to_chat(user, "[src] was shaken recently, it needs time to settle.") + to_chat(user, span_warning("[src] was shaken recently, it needs time to settle.")) return - user.visible_message("[user] starts shaking [src].", "You start shaking [src].", "You hear shaking and sloshing.") + user.visible_message(span_notice("[user] starts shaking [src]."), span_notice("You start shaking [src]."), span_hear("You hear shaking and sloshing.")) shaking = TRUE @@ -144,7 +144,7 @@ //ATTACK GHOST IGNORING PARENT RETURN VALUE /obj/item/toy/eightball/haunted/attack_ghost(mob/user) if(!shaking) - to_chat(user, "[src] is not currently being shaken.") + to_chat(user, span_warning("[src] is not currently being shaken.")) return interact(user) return ..() diff --git a/code/game/objects/items/emags.dm b/code/game/objects/items/emags.dm index 1beeb8e0f8d..60ded665865 100644 --- a/code/game/objects/items/emags.dm +++ b/code/game/objects/items/emags.dm @@ -22,7 +22,7 @@ /obj/item/card/emag/attack_self(mob/user) //for traitors with balls of plastitanium if(Adjacent(user)) - user.visible_message("[user] shows you: [icon2html(src, viewers(user))] [name].", "You show [src].") + user.visible_message(span_notice("[user] shows you: [icon2html(src, viewers(user))] [name]."), span_notice("You show [src].")) add_fingerprint(user) /obj/item/card/emag/bluespace @@ -48,7 +48,7 @@ /obj/item/card/emagfake/attack_self(mob/user) //for assistants with balls of plasteel if(Adjacent(user)) - user.visible_message("[user] shows you: [icon2html(src, viewers(user))] [name].", "You show [src].") + user.visible_message(span_notice("[user] shows you: [icon2html(src, viewers(user))] [name]."), span_notice("You show [src].")) add_fingerprint(user) /obj/item/card/emagfake/afterattack() @@ -75,7 +75,7 @@ /obj/item/card/emag/proc/can_emag(atom/target, mob/user) for (var/subtypelist in type_blacklist) if (target.type in subtypelist) - to_chat(user, "The [target] cannot be affected by the [src]! A more specialized hacking device is required.") + to_chat(user, span_warning("The [target] cannot be affected by the [src]! A more specialized hacking device is required.")) return FALSE return TRUE @@ -99,7 +99,7 @@ /obj/item/card/emag/doorjack/proc/use_charge(mob/user) charges -- - to_chat(user, "You use [src]. It now has [charges] charges remaining.") + to_chat(user, span_notice("You use [src]. It now has [charges] charges remaining.")) charge_timers.Add(addtimer(CALLBACK(src, .proc/recharge), charge_time, TIMER_STOPPABLE)) /obj/item/card/emag/doorjack/proc/recharge(mob/user) @@ -109,20 +109,20 @@ /obj/item/card/emag/doorjack/examine(mob/user) . = ..() - . += "It has [charges] charges remaining." + . += span_notice("It has [charges] charges remaining.") if (length(charge_timers)) - . += "A small display on the back reads:" + . += "[span_notice("A small display on the back reads:")]" for (var/i in 1 to length(charge_timers)) var/timeleft = timeleft(charge_timers[i]) var/loadingbar = num2loadingbar(timeleft/charge_time) - . += "CHARGE #[i]: [loadingbar] ([timeleft*0.1]s)" + . += span_notice("CHARGE #[i]: [loadingbar] ([timeleft*0.1]s)") /obj/item/card/emag/doorjack/can_emag(atom/target, mob/user) if (charges <= 0) - to_chat(user, "[src] is recharging!") + to_chat(user, span_warning("[src] is recharging!")) return FALSE for (var/list/subtypelist in type_whitelist) if (target.type in subtypelist) return TRUE - to_chat(user, "[src] is unable to interface with this. It only seems to fit into airlock electronics.") + to_chat(user, span_warning("[src] is unable to interface with this. It only seems to fit into airlock electronics.")) return FALSE diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm index aebd6ea9847..552f12e1ccf 100644 --- a/code/game/objects/items/etherealdiscoball.dm +++ b/code/game/objects/items/etherealdiscoball.dm @@ -6,7 +6,7 @@ /obj/item/etherealballdeployer/attack_self(mob/living/carbon/user) .=..() - to_chat(user, "You deploy the Ethereal Disco Ball.") + to_chat(user, span_notice("You deploy the Ethereal Disco Ball.")) new /obj/structure/etherealball(user.loc) qdel(src) @@ -31,15 +31,15 @@ . = ..() if(TurnedOn) TurnOff() - to_chat(user, "You turn the disco ball off!") + to_chat(user, span_notice("You turn the disco ball off!")) else TurnOn() - to_chat(user, "You turn the disco ball on!") + to_chat(user, span_notice("You turn the disco ball on!")) /obj/structure/etherealball/AltClick(mob/living/carbon/human/user) . = ..() set_anchored(!anchored) - to_chat(user, "You [anchored ? null : "un"]lock the disco ball.") + to_chat(user, span_notice("You [anchored ? null : "un"]lock the disco ball.")) /obj/structure/etherealball/proc/TurnOn() TurnedOn = TRUE //Same diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 13324619f3a..96a57cd2a92 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -95,14 +95,14 @@ /obj/item/extinguisher/suicide_act(mob/living/carbon/user) if (!safety && (reagents.total_volume >= 1)) - user.visible_message("[user] puts the nozzle to [user.p_their()] mouth. It looks like [user.p_theyre()] trying to extinguish the spark of life!") + user.visible_message(span_suicide("[user] puts the nozzle to [user.p_their()] mouth. It looks like [user.p_theyre()] trying to extinguish the spark of life!")) afterattack(user,user) return OXYLOSS else if (safety && (reagents.total_volume >= 1)) - user.visible_message("[user] puts the nozzle to [user.p_their()] mouth... The safety's still on!") + user.visible_message(span_warning("[user] puts the nozzle to [user.p_their()] mouth... The safety's still on!")) return SHAME else - user.visible_message("[user] puts the nozzle to [user.p_their()] mouth... [src] is empty!") + user.visible_message(span_warning("[user] puts the nozzle to [user.p_their()] mouth... [src] is empty!")) return SHAME /obj/item/extinguisher/attack_self(mob/user) @@ -129,22 +129,22 @@ . += "The safety is [safety ? "on" : "off"]." if(reagents.total_volume) - . += "Alt-click to empty it." + . += span_notice("Alt-click to empty it.") /obj/item/extinguisher/proc/AttemptRefill(atom/target, mob/user) if(istype(target, tanktype) && target.Adjacent(user)) if(reagents.total_volume == reagents.maximum_volume) - to_chat(user, "\The [src] is already full!") + to_chat(user, span_warning("\The [src] is already full!")) return TRUE var/obj/structure/reagent_dispensers/W = target //will it work? var/transferred = W.reagents.trans_to(src, max_water, transfered_by = user) if(transferred > 0) - to_chat(user, "\The [src] has been refilled by [transferred] units.") + to_chat(user, span_notice("\The [src] has been refilled by [transferred] units.")) playsound(src.loc, 'sound/effects/refill.ogg', 50, TRUE, -6) for(var/datum/reagent/water/R in reagents.reagent_list) R.cooling_temperature = cooling_power else - to_chat(user, "\The [W] is empty!") + to_chat(user, span_warning("\The [W] is empty!")) return TRUE else return FALSE @@ -163,7 +163,7 @@ if (src.reagents.total_volume < 1) - to_chat(usr, "\The [src] is empty!") + to_chat(usr, span_warning("\The [src] is empty!")) return if (world.time < src.last_use + 12) @@ -252,7 +252,7 @@ if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) return if(!user.is_holding(src)) - to_chat(user, "You must be holding the [src] in your hands do this!") + to_chat(user, span_notice("You must be holding the [src] in your hands do this!")) return EmptyExtinguisher(user) @@ -265,12 +265,12 @@ var/turf/open/theturf = T theturf.MakeSlippery(TURF_WET_WATER, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS) - user.visible_message("[user] empties out \the [src] onto the floor using the release valve.", "You quietly empty out \the [src] using its release valve.") + user.visible_message(span_notice("[user] empties out \the [src] onto the floor using the release valve."), span_info("You quietly empty out \the [src] using its release valve.")) //firebot assembly /obj/item/extinguisher/attackby(obj/O, mob/user, params) if(istype(O, /obj/item/bodypart/l_arm/robot) || istype(O, /obj/item/bodypart/r_arm/robot)) - to_chat(user, "You add [O] to [src].") + to_chat(user, span_notice("You add [O] to [src].")) qdel(O) qdel(src) user.put_in_hands(new /obj/item/bot_assembly/firebot) diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 6122f3dccac..fccf47f003e 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -50,7 +50,7 @@ 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!") + user.visible_message(span_suicide("[user] axes [user.p_them()]self from head to toe! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) /obj/item/fireaxe/afterattack(atom/A, mob/user, proximity) diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index ad4eccbcf16..3a75d3ebcf2 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -78,7 +78,7 @@ if(!can_trigger_gun(user)) return if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You can't bring yourself to fire \the [src]! You don't want to risk harming anyone...") + to_chat(user, span_warning("You can't bring yourself to fire \the [src]! You don't want to risk harming anyone...")) return if(user && user.get_active_held_item() == src) // Make sure our user is still holding us var/turf/target_turf = get_turf(target) @@ -105,7 +105,7 @@ else if(W.tool_behaviour == TOOL_SCREWDRIVER && igniter && !lit) status = !status - to_chat(user, "[igniter] is now [status ? "secured" : "unsecured"]!") + to_chat(user, span_notice("[igniter] is now [status ? "secured" : "unsecured"]!")) update_appearance() return @@ -126,7 +126,7 @@ if(user.transferItemToLoc(W,src)) ptank.forceMove(get_turf(src)) ptank = W - to_chat(user, "You swap the plasma tank in [src]!") + to_chat(user, span_notice("You swap the plasma tank in [src]!")) return if(!user.transferItemToLoc(W, src)) return @@ -150,22 +150,22 @@ if(ptank && isliving(user) && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) user.put_in_hands(ptank) ptank = null - to_chat(user, "You remove the plasma tank from [src]!") + to_chat(user, span_notice("You remove the plasma tank from [src]!")) update_appearance() /obj/item/flamethrower/examine(mob/user) . = ..() if(ptank) - . += "\The [src] has \a [ptank] attached. Alt-click to remove it." + . += span_notice("\The [src] has \a [ptank] attached. Alt-click to remove it.") /obj/item/flamethrower/proc/toggle_igniter(mob/user) if(!ptank) - to_chat(user, "Attach a plasma tank first!") + to_chat(user, span_notice("Attach a plasma tank first!")) return if(!status) - to_chat(user, "Secure the igniter first!") + to_chat(user, span_notice("Secure the igniter first!")) return - to_chat(user, "You [lit ? "extinguish" : "ignite"] [src]!") + to_chat(user, span_notice("You [lit ? "extinguish" : "ignite"] [src]!")) lit = !lit if(lit) playsound(loc, acti_sound, 50, TRUE) @@ -249,7 +249,7 @@ /obj/item/flamethrower/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/obj/projectile/P = hitby if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) - owner.visible_message("\The [attack_text] hits the fuel tank on [owner]'s [name], rupturing it! What a shot!") + owner.visible_message(span_danger("\The [attack_text] hits the fuel tank on [owner]'s [name], rupturing it! What a shot!")) var/turf/target_turf = get_turf(owner) log_game("A projectile ([hitby]) detonated a flamethrower tank held by [key_name(owner)] at [COORD(target_turf)]") igniter.ignite_turf(src,target_turf, release_amount = 100) diff --git a/code/game/objects/items/food/burgers.dm b/code/game/objects/items/food/burgers.dm index 39786efd92a..0f847ada5b5 100644 --- a/code/game/objects/items/food/burgers.dm +++ b/code/game/objects/items/food/burgers.dm @@ -21,7 +21,7 @@ if(prob(1)) new/obj/effect/particle_effect/smoke(get_turf(src)) playsound(src, 'sound/effects/smoke.ogg', 50, TRUE) - visible_message("Oh, ye gods! [src] is ruined! But what if...?") + visible_message(span_warning("Oh, ye gods! [src] is ruined! But what if...?")) name = "steamed ham" desc = pick("Ahh, Head of Personnel, welcome. I hope you're prepared for an unforgettable luncheon!", "And you call these steamed hams despite the fact that they are obviously microwaved?", diff --git a/code/game/objects/items/food/egg.dm b/code/game/objects/items/food/egg.dm index ee3d9af03cf..5a29a577185 100644 --- a/code/game/objects/items/food/egg.dm +++ b/code/game/objects/items/food/egg.dm @@ -48,16 +48,16 @@ var/clr = C.crayon_color if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow"))) - to_chat(usr, "[src] refuses to take on this colour!") + to_chat(usr, span_notice("[src] refuses to take on this colour!")) return - to_chat(usr, "You colour [src] with [W].") + to_chat(usr, span_notice("You colour [src] with [W].")) icon_state = "egg-[clr]" else if(istype(W, /obj/item/stamp/clown)) var/clowntype = pick("grock", "grimaldi", "rainbow", "chaos", "joker", "sexy", "standard", "bobble", "krusty", "bozo", "pennywise", "ronald", "jacobs", "kelly", "popov", "cluwne") icon_state = "egg-clown-[clowntype]" desc = "An egg that has been decorated with the grotesque, robustable likeness of a clown's face. " - to_chat(usr, "You stamp [src] with [W], creating an artistic and not remotely horrifying likeness of clown makeup.") + to_chat(usr, span_notice("You stamp [src] with [W], creating an artistic and not remotely horrifying likeness of clown makeup.")) else ..() @@ -120,11 +120,11 @@ if(istype(W, /obj/item/kitchen/fork)) var/obj/item/kitchen/fork/F = W if(F.forkload) - to_chat(user, "You already have omelette on your fork!") + to_chat(user, span_warning("You already have omelette on your fork!")) else F.icon_state = "forkloaded" - user.visible_message("[user] takes a piece of omelette with [user.p_their()] fork!", \ - "You take a piece of omelette with your fork.") + user.visible_message(span_notice("[user] takes a piece of omelette with [user.p_their()] fork!"), \ + span_notice("You take a piece of omelette with your fork.")) var/datum/reagent/R = pick(reagents.reagent_list) reagents.remove_reagent(R.type, 1) diff --git a/code/game/objects/items/food/meat.dm b/code/game/objects/items/food/meat.dm index 4c723684266..9279cfa7276 100644 --- a/code/game/objects/items/food/meat.dm +++ b/code/game/objects/items/food/meat.dm @@ -381,23 +381,23 @@ if(faction) bananas.faction = faction if (!QDELETED(bananas)) - visible_message("[src] expands!") + visible_message(span_notice("[src] expands!")) bananas.log_message("Spawned via [src] at [AREACOORD(src)], Last attached mob: [key_name(spammer)].", LOG_ATTACK) else if (!spammer) // Visible message in case there are no fingerprints - visible_message("[src] fails to expand!") + visible_message(span_notice("[src] fails to expand!")) qdel(src) /obj/item/food/monkeycube/suicide_act(mob/living/M) - M.visible_message("[M] is putting [src] in [M.p_their()] mouth! It looks like [M.p_theyre()] trying to commit suicide!") + M.visible_message(span_suicide("[M] is putting [src] in [M.p_their()] mouth! It looks like [M.p_theyre()] trying to commit suicide!")) var/eating_success = do_after(M, 1 SECONDS, src) if(QDELETED(M)) //qdeletion: the nuclear option of self-harm return SHAME if(!eating_success || QDELETED(src)) //checks if src is gone or if they failed to wait for a second - M.visible_message("[M] chickens out!") + M.visible_message(span_suicide("[M] chickens out!")) return SHAME if(HAS_TRAIT(M, TRAIT_NOHUNGER)) //plasmamen don't have saliva/stomach acid - M.visible_message("[M] realizes [M.p_their()] body won't activate [src]!" - ,"Your body won't activate [src]...") + M.visible_message(span_suicide("[M] realizes [M.p_their()] body won't activate [src]!") + ,span_warning("Your body won't activate [src]...")) return SHAME playsound(M, 'sound/items/eatfood.ogg', rand(10,50), TRUE) M.temporarilyRemoveItemFromInventory(src) //removes from hands, keeps in M @@ -408,10 +408,10 @@ if(QDELETED(M) || QDELETED(src)) return if((src.loc != M)) //how the hell did you manage this - to_chat(M, "Something happened to [src]...") + to_chat(M, span_warning("Something happened to [src]...")) return Expand() - M.visible_message("[M]'s torso bursts open as a primate emerges!") + M.visible_message(span_danger("[M]'s torso bursts open as a primate emerges!")) M.gib(null, TRUE, null, TRUE) /obj/item/food/monkeycube/syndicate @@ -845,7 +845,7 @@ foodtypes = RAW | MEAT | TOXIC /obj/item/food/meat/slab/goliath/burn() - visible_message("[src] finishes cooking!") + visible_message(span_notice("[src] finishes cooking!")) new /obj/item/food/meat/steak/goliath(loc) qdel(src) diff --git a/code/game/objects/items/food/misc.dm b/code/game/objects/items/food/misc.dm index db002307a7b..76fe9f38236 100644 --- a/code/game/objects/items/food/misc.dm +++ b/code/game/objects/items/food/misc.dm @@ -44,7 +44,7 @@ /obj/item/food/cheese/proc/on_rat_eat(mob/living/simple_animal/hostile/regalrat/king) SIGNAL_HANDLER - king.cheese_heal(src, rat_heal, "You eat [src], restoring some health.") + king.cheese_heal(src, rat_heal, span_green("You eat [src], restoring some health.")) /obj/item/food/watermelonslice name = "watermelon slice" @@ -474,9 +474,9 @@ return if(prob(15)) new /datum/hallucination/oh_yeah(victim) - to_chat(victim, "[pick("I AM IMMORTAL.","I SHALL TAKE YOUR WORLD.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","NOTHING CAN HOLD ME.")]") + to_chat(victim, span_colossus("[pick("I AM IMMORTAL.","I SHALL TAKE YOUR WORLD.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","NOTHING CAN HOLD ME.")]")) else - to_chat(victim, "[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]") + to_chat(victim, span_warning("[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]")) /obj/item/food/gumball name = "gumball" @@ -516,15 +516,15 @@ /obj/item/food/butter/examine(mob/user) . = ..() - . += "If you had a rod you could make butter on a stick." + . += span_notice("If you had a rod you could make butter on a stick.") /obj/item/food/butter/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/rods)) var/obj/item/stack/rods/R = W if(!R.use(1))//borgs can still fail this if they have no metal - to_chat(user, "You do not have enough iron to put [src] on a stick!") + to_chat(user, span_warning("You do not have enough iron to put [src] on a stick!")) return ..() - to_chat(user, "You stick the rod into the stick of butter.") + to_chat(user, span_notice("You stick the rod into the stick of butter.")) var/obj/item/food/butter/on_a_stick/new_item = new(usr.loc) var/replace = (user.get_inactive_held_item() == R) if(!R && replace) @@ -581,7 +581,7 @@ /obj/item/food/canned/proc/open_can(mob/user) - to_chat(user, "You pull back the tab of \the [src].") + to_chat(user, span_notice("You pull back the tab of \the [src].")) playsound(user.loc, 'sound/items/foodcanopen.ogg', 50) reagents.flags |= OPENCONTAINER @@ -593,7 +593,7 @@ /obj/item/food/canned/attack(mob/living/M, mob/user, def_zone) if (!is_drainable()) - to_chat(user, "[src]'s lid hasn't been opened!") + to_chat(user, span_warning("[src]'s lid hasn't been opened!")) return FALSE return ..() diff --git a/code/game/objects/items/food/pastries.dm b/code/game/objects/items/food/pastries.dm index e972d603712..e8d9d53d04d 100644 --- a/code/game/objects/items/food/pastries.dm +++ b/code/game/objects/items/food/pastries.dm @@ -375,9 +375,9 @@ return var/mob/living/carbon/human/moffin_observer = user if(moffin_observer.dna.species.liked_food & CLOTH) - . += "Ooh! It's even got bits of clothes on it! Yummy!" + . += span_nicegreen("Ooh! It's even got bits of clothes on it! Yummy!") else - . += "You're not too sure what's on top though..." + . += span_warning("You're not too sure what's on top though...") ////////////////////////////////////////////WAFFLES//////////////////////////////////////////// @@ -745,7 +745,7 @@ return ..() if(newresult) qdel(garnish) - to_chat(user, "You add [garnish] to [src].") + to_chat(user, span_notice("You add [garnish] to [src].")) AddComponent(/datum/component/grillable, cook_result = newresult) /obj/item/food/pancakes/raw/examine(mob/user) @@ -812,11 +812,11 @@ if(istype(item, /obj/item/food/pancakes)) var/obj/item/food/pancakes/pancake = item if((contents.len >= PANCAKE_MAX_STACK) || ((pancake.contents.len + contents.len) > PANCAKE_MAX_STACK)) - to_chat(user, "You can't add that many pancakes to [src]!") + to_chat(user, span_warning("You can't add that many pancakes to [src]!")) else if(!user.transferItemToLoc(pancake, src)) return - to_chat(user, "You add the [pancake] to the [src].") + to_chat(user, span_notice("You add the [pancake] to the [src].")) pancake.name = initial(pancake.name) contents += pancake update_snack_overlays(pancake) diff --git a/code/game/objects/items/food/pie.dm b/code/game/objects/items/food/pie.dm index 64377b5af70..a078b81319f 100644 --- a/code/game/objects/items/food/pie.dm +++ b/code/game/objects/items/food/pie.dm @@ -52,7 +52,7 @@ if(stunning) living_target_getting_hit.Paralyze(20) //splat! living_target_getting_hit.adjust_blurriness(1) - living_target_getting_hit.visible_message("[living_target_getting_hit] is creamed by [src]!", "You've been creamed by [src]!") + living_target_getting_hit.visible_message(span_warning("[living_target_getting_hit] is creamed by [src]!"), span_userdanger("You've been creamed by [src]!")) playsound(living_target_getting_hit, "desecration", 50, TRUE) if(is_type_in_typecache(hit_atom, GLOB.creamable)) hit_atom.AddComponent(/datum/component/creamed, src) diff --git a/code/game/objects/items/food/pizza.dm b/code/game/objects/items/food/pizza.dm index b24c4c2eb53..3e94398085d 100644 --- a/code/game/objects/items/food/pizza.dm +++ b/code/game/objects/items/food/pizza.dm @@ -214,8 +214,8 @@ var/did_the_thing = (l_arm?.dismember() || r_arm?.dismember()) //not all limbs can be removed, so important to check that we did. the. thing. if(!did_the_thing) return - to_chat(user, "Maybe I'll give you a pizza, maybe I'll break off your arm.") //makes the reference more obvious - user.visible_message("\The [src] breaks off [user]'s arm!", "\The [src] breaks off your arm!") + to_chat(user, span_userdanger("Maybe I'll give you a pizza, maybe I'll break off your arm.")) //makes the reference more obvious + user.visible_message(span_warning("\The [src] breaks off [user]'s arm!"), span_warning("\The [src] breaks off your arm!")) playsound(user, "desecration", 50, TRUE, -1) /obj/item/food/proc/i_kill_you(obj/item/I, mob/living/user) @@ -223,7 +223,7 @@ to_chat(user, "If you want something crazy like pineapple, I'll kill you.") //this is in bigger text because it's hard to spam something that gibs you, and so that you're perfectly aware of the reason why you died user.gib() //if you want something crazy like pineapple, i'll kill you else if(istype(I, /obj/item/food/grown/mushroom) && iscarbon(user)) - to_chat(user, "So, if you want mushroom, shut up.") //not as large as the pineapple text, because you could in theory spam it + to_chat(user, span_userdanger("So, if you want mushroom, shut up.")) //not as large as the pineapple text, because you could in theory spam it var/mob/living/carbon/shutup = user shutup.gain_trauma(/datum/brain_trauma/severe/mute) diff --git a/code/game/objects/items/food/snacks.dm b/code/game/objects/items/food/snacks.dm index 7b4bb0a93b9..a0bfe37c33a 100644 --- a/code/game/objects/items/food/snacks.dm +++ b/code/game/objects/items/food/snacks.dm @@ -52,7 +52,7 @@ /obj/item/food/candy/bronx/examine(mob/user) . = ..() if(!revelation && !isobserver(user)) - . += "Geeze, you need to get to get your eyes checked. You should look again..." + . += span_notice("Geeze, you need to get to get your eyes checked. You should look again...") name = "South Bronx Parasite bar" desc = "Lose weight, guaranteed! Caramel Mocha Flavor! WARNING: PRODUCT NOT FIT FOR HUMAN CONSUMPTION. CONTAINS LIVE DIAMPHIDIA SPECIMENS." @@ -238,7 +238,7 @@ /obj/item/food/cnds/suicide_act(mob/user) . = ..() - user.visible_message("[user] is letting [src] melt in [user.p_their()] hand! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is letting [src] melt in [user.p_their()] hand! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS /obj/item/food/cnds/caramel diff --git a/code/game/objects/items/food/spaghetti.dm b/code/game/objects/items/food/spaghetti.dm index 83e03c55ac5..25580bbbdd8 100644 --- a/code/game/objects/items/food/spaghetti.dm +++ b/code/game/objects/items/food/spaghetti.dm @@ -14,8 +14,8 @@ . = ..() if(!microwaved_type) // This isn't cooked, why would you put uncooked spaghetti in your pocket? var/list/display_message = list( - "Something wet falls out of their pocket and hits the ground. Is that... [name]?", - "Oh shit! All your pocket [name] fell out!") + span_notice("Something wet falls out of their pocket and hits the ground. Is that... [name]?"), + span_warning("Oh shit! All your pocket [name] fell out!")) AddComponent(/datum/component/spill, display_message, 'sound/effects/splat.ogg') /obj/item/food/spaghetti/boiledspaghetti diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm index a3dfb4f2762..42c3e72d139 100644 --- a/code/game/objects/items/gift.dm +++ b/code/game/objects/items/gift.dm @@ -29,23 +29,23 @@ GLOBAL_LIST_EMPTY(possible_gifts) contains_type = get_gift_type() /obj/item/a_gift/suicide_act(mob/user) - user.visible_message("[user] peeks inside [src] and cries [user.p_them()]self to death! It looks like [user.p_they()] [user.p_were()] on the naughty list...") + user.visible_message(span_suicide("[user] peeks inside [src] and cries [user.p_them()]self to death! It looks like [user.p_they()] [user.p_were()] on the naughty list...")) return (BRUTELOSS) /obj/item/a_gift/examine(mob/M) . = ..() if((M.mind && HAS_TRAIT(M.mind, TRAIT_PRESENT_VISION)) || isobserver(M)) - . += "It contains \a [initial(contains_type.name)]." + . += span_notice("It contains \a [initial(contains_type.name)].") /obj/item/a_gift/attack_self(mob/M) if(M.mind && HAS_TRAIT(M.mind, TRAIT_CANNOT_OPEN_PRESENTS)) - to_chat(M, "You're supposed to be spreading gifts, not opening them yourself!") + to_chat(M, span_warning("You're supposed to be spreading gifts, not opening them yourself!")) return qdel(src) var/obj/item/I = new contains_type(get_turf(M)) - M.visible_message("[M] unwraps \the [src], finding \a [I] inside!") + M.visible_message(span_notice("[M] unwraps \the [src], finding \a [I] inside!")) I.investigate_log("([I.type]) was found in a present by [key_name(M)].", INVESTIGATE_PRESENTS) M.put_in_hands(I) I.add_fingerprint(M) diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 3df423b7fdf..48d4e4005f6 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -14,9 +14,9 @@ playsound(user, pick('sound/effects/pageturn1.ogg','sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg'), 30, TRUE) if(do_after(user, 5 SECONDS, src)) if(remarks.len) - to_chat(user, "[pick(remarks)]") + to_chat(user, span_notice("[pick(remarks)]")) else - to_chat(user, "You keep reading...") + to_chat(user, span_notice("You keep reading...")) return TRUE return FALSE @@ -26,13 +26,13 @@ return FALSE /obj/item/book/granter/proc/on_reading_start(mob/user) - to_chat(user, "You start reading [name]...") + to_chat(user, span_notice("You start reading [name]...")) /obj/item/book/granter/proc/on_reading_stopped(mob/user) - to_chat(user, "You stop reading...") + to_chat(user, span_notice("You stop reading...")) /obj/item/book/granter/proc/on_reading_finished(mob/user) - to_chat(user, "You finish reading [name]!") + to_chat(user, span_notice("You finish reading [name]!")) /obj/item/book/granter/proc/onlearned(mob/user) used = TRUE @@ -40,7 +40,7 @@ /obj/item/book/granter/attack_self(mob/user) if(reading) - to_chat(user, "You're already reading this!") + to_chat(user, span_warning("You're already reading this!")) return FALSE if(!user.can_read(src)) return FALSE @@ -73,15 +73,15 @@ return TRUE for(var/datum/action/A in user.actions) if(A.type == granted_action) - to_chat(user, "You already know all about [actionname]!") + to_chat(user, span_warning("You already know all about [actionname]!")) return TRUE return FALSE /obj/item/book/granter/action/on_reading_start(mob/user) - to_chat(user, "You start reading about [actionname]...") + to_chat(user, span_notice("You start reading about [actionname]...")) /obj/item/book/granter/action/on_reading_finished(mob/user) - to_chat(user, "You feel like you've got a good handle on [actionname]!") + to_chat(user, span_notice("You feel like you've got a good handle on [actionname]!")) var/datum/action/G = new granted_action G.Grant(user) onlearned(user) @@ -102,13 +102,13 @@ check_flags = NONE /datum/action/innate/origami/Activate() - to_chat(owner, "You will now fold origami planes.") + to_chat(owner, span_notice("You will now fold origami planes.")) button_icon_state = "origami_on" active = TRUE UpdateButtonIcon() /datum/action/innate/origami/Deactivate() - to_chat(owner, "You will no longer fold origami planes.") + to_chat(owner, span_notice("You will no longer fold origami planes.")) button_icon_state = "origami_off" active = FALSE UpdateButtonIcon() @@ -126,29 +126,29 @@ if(knownspell.type == spell) if(user.mind) if(IS_WIZARD(user)) - to_chat(user,"You're already far more versed in this spell than this flimsy how-to book can provide!") + to_chat(user,span_warning("You're already far more versed in this spell than this flimsy how-to book can provide!")) else - to_chat(user,"You've already read this one!") + to_chat(user,span_warning("You've already read this one!")) return TRUE return FALSE /obj/item/book/granter/spell/on_reading_start(mob/user) - to_chat(user, "You start reading about casting [spellname]...") + to_chat(user, span_notice("You start reading about casting [spellname]...")) /obj/item/book/granter/spell/on_reading_finished(mob/user) - to_chat(user, "You feel like you've experienced enough to cast [spellname]!") + to_chat(user, span_notice("You feel like you've experienced enough to cast [spellname]!")) var/obj/effect/proc_holder/spell/S = new spell user.mind.AddSpell(S) user.log_message("learned the spell [spellname] ([S])", LOG_ATTACK, color="orange") onlearned(user) /obj/item/book/granter/spell/recoil(mob/user) - user.visible_message("[src] glows in a black light!") + user.visible_message(span_warning("[src] glows in a black light!")) /obj/item/book/granter/spell/onlearned(mob/user) ..() if(oneuse) - user.visible_message("[src] glows dark for a second!") + user.visible_message(span_warning("[src] glows dark for a second!")) /obj/item/book/granter/spell/fireball spell = /obj/effect/proc_holder/spell/aimed/fireball @@ -181,7 +181,7 @@ /obj/item/book/granter/spell/smoke/recoil(mob/user) ..() - to_chat(user,"Your stomach rumbles...") + to_chat(user,span_warning("Your stomach rumbles...")) if(user.nutrition) user.set_nutrition(200) if(user.nutrition <= 0) @@ -196,7 +196,7 @@ /obj/item/book/granter/spell/blind/recoil(mob/user) ..() - to_chat(user,"You go blind!") + to_chat(user,span_warning("You go blind!")) user.blind_eyes(10) /obj/item/book/granter/spell/mindswap @@ -220,17 +220,17 @@ stored_swap = null if(!stored_swap) stored_swap = user - to_chat(user,"For a moment you feel like you don't even know who you are anymore.") + to_chat(user,span_warning("For a moment you feel like you don't even know who you are anymore.")) return if(stored_swap == user) - to_chat(user,"You stare at the book some more, but there doesn't seem to be anything else to learn...") + to_chat(user,span_notice("You stare at the book some more, but there doesn't seem to be anything else to learn...")) return var/obj/effect/proc_holder/spell/pointed/mind_transfer/swapper = new if(swapper.cast(list(stored_swap), user, TRUE)) - to_chat(user,"You're suddenly somewhere else... and someone else?!") - to_chat(stored_swap,"Suddenly you're staring at [src] again... where are you, who are you?!") + to_chat(user,span_warning("You're suddenly somewhere else... and someone else?!")) + to_chat(stored_swap,span_warning("Suddenly you're staring at [src] again... where are you, who are you?!")) else - user.visible_message("[src] fizzles slightly as it stops glowing!") //if the mind_transfer failed to transfer mobs, likely due to the target being catatonic. + user.visible_message(span_warning("[src] fizzles slightly as it stops glowing!")) //if the mind_transfer failed to transfer mobs, likely due to the target being catatonic. stored_swap = null @@ -243,7 +243,7 @@ /obj/item/book/granter/spell/forcewall/recoil(mob/living/user) ..() - to_chat(user,"You suddenly feel very solid!") + to_chat(user,span_warning("You suddenly feel very solid!")) user.Stun(40, ignore_canstun = TRUE) user.petrify(60) @@ -256,7 +256,7 @@ /obj/item/book/granter/spell/knock/recoil(mob/living/user) ..() - to_chat(user,"You're knocked down!") + to_chat(user,span_warning("You're knocked down!")) user.Paralyze(40) /obj/item/book/granter/spell/barnyard @@ -275,7 +275,7 @@ user.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, TRUE, TRUE) qdel(src) else - to_chat(user,"I say thee neigh") //It still lives here + to_chat(user,span_notice("I say thee neigh")) //It still lives here /obj/item/book/granter/spell/charge spell = /obj/effect/proc_holder/spell/targeted/charge @@ -286,7 +286,7 @@ /obj/item/book/granter/spell/charge/recoil(mob/user) ..() - to_chat(user,"[src] suddenly feels very warm!") + to_chat(user,span_warning("[src] suddenly feels very warm!")) empulse(src, 1, 1) /obj/item/book/granter/spell/summonitem @@ -298,7 +298,7 @@ /obj/item/book/granter/spell/summonitem/recoil(mob/user) ..() - to_chat(user,"[src] suddenly vanishes!") + to_chat(user,span_warning("[src] suddenly vanishes!")) qdel(src) /obj/item/book/granter/spell/random @@ -324,12 +324,12 @@ return TRUE var/datum/martial_art/MA = martial if(user.mind.has_martialart(initial(MA.id))) - to_chat(user,"You already know [martialname]!") + to_chat(user,span_warning("You already know [martialname]!")) return TRUE return FALSE /obj/item/book/granter/martial/on_reading_start(mob/user) - to_chat(user, "You start reading about [martialname]...") + to_chat(user, span_notice("You start reading about [martialname]...")) /obj/item/book/granter/martial/on_reading_finished(mob/user) to_chat(user, "[greet]") @@ -350,10 +350,10 @@ /obj/item/book/granter/martial/cqc/onlearned(mob/living/carbon/user) ..() if(oneuse == TRUE) - to_chat(user, "[src] beeps ominously...") + to_chat(user, span_warning("[src] beeps ominously...")) /obj/item/book/granter/martial/cqc/recoil(mob/living/carbon/user) - to_chat(user, "[src] explodes!") + to_chat(user, span_warning("[src] explodes!")) playsound(src,'sound/effects/explosion1.ogg',40,TRUE) user.flash_act(1, 1) user.adjustBruteLoss(6) @@ -415,7 +415,7 @@ for(var/crafting_recipe_type in crafting_recipe_types) var/datum/crafting_recipe/R = crafting_recipe_type user.mind.teach_crafting_recipe(crafting_recipe_type) - to_chat(user,"You learned how to make [initial(R.name)].") + to_chat(user,span_notice("You learned how to make [initial(R.name)].")) /obj/item/book/granter/crafting_recipe/cooking_sweets_101 name = "Cooking Desserts 101" @@ -442,5 +442,5 @@ remarks = list("He apparently mastered some lost guncrafting technique.", "Why do I have to go through so many hoops to get this shitty gun?", "That much Grey Bull cannot be healthy...", "Did he drop this into a moisture trap? Yuck.", "Toolboxing techniques, huh? I kinda just want to know how to make the gun.", "What the hell does he mean by 'ancient warrior tradition'?") /obj/item/book/granter/crafting_recipe/pipegun_prime/recoil(mob/living/carbon/user) - to_chat(user, "The book turns to dust in your hands.") + to_chat(user, span_warning("The book turns to dust in your hands.")) qdel(src) diff --git a/code/game/objects/items/grenades/atmos_grenades.dm b/code/game/objects/items/grenades/atmos_grenades.dm index f8b8eac4a6f..86ce0eb6fe0 100644 --- a/code/game/objects/items/grenades/atmos_grenades.dm +++ b/code/game/objects/items/grenades/atmos_grenades.dm @@ -12,7 +12,7 @@ if(user) add_fingerprint(user) if(msg) - to_chat(user, "You crush the [src]! [capitalize(DisplayTimeText(det_time))]!") + to_chat(user, span_warning("You crush the [src]! [capitalize(DisplayTimeText(det_time))]!")) if(shrapnel_type && shrapnel_radius) shrapnel_initialized = TRUE AddComponent(/datum/component/pellet_cloud, projectile_type=shrapnel_type, magnitude=shrapnel_radius) diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 06fe7cc3434..bbc8d6318bf 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -31,20 +31,20 @@ . = ..() if(user.can_see_reagents()) if(beakers.len) - . += "You scan the grenade and detect the following reagents:" + . += span_notice("You scan the grenade and detect the following reagents:") for(var/obj/item/reagent_containers/glass/G in beakers) for(var/datum/reagent/R in G.reagents.reagent_list) - . += "[R.volume] units of [R.name] in the [G.name]." + . += span_notice("[R.volume] units of [R.name] in the [G.name].") if(beakers.len == 1) - . += "You detect no second beaker in the grenade." + . += span_notice("You detect no second beaker in the grenade.") else - . += "You scan the grenade, but detect nothing." + . += span_notice("You scan the grenade, but detect nothing.") else if(stage != GRENADE_READY && beakers.len) if(beakers.len == 2 && beakers[1].name == beakers[2].name) - . += "You see two [beakers[1].name]s inside the grenade." + . += span_notice("You see two [beakers[1].name]s inside the grenade.") else for(var/obj/item/reagent_containers/glass/G in beakers) - . += "You see a [G.name] inside the grenade." + . += span_notice("You see a [G.name] inside the grenade.") /obj/item/grenade/chem_grenade/attack_self(mob/user) if(stage == GRENADE_READY && !active) @@ -59,51 +59,51 @@ if(stage == GRENADE_WIRED) if(beakers.len) stage_change(GRENADE_READY) - to_chat(user, "You lock the [initial(name)] assembly.") + to_chat(user, span_notice("You lock the [initial(name)] assembly.")) I.play_tool_sound(src, 25) else - to_chat(user, "You need to add at least one beaker before locking the [initial(name)] assembly!") + to_chat(user, span_warning("You need to add at least one beaker before locking the [initial(name)] assembly!")) else if(stage == GRENADE_READY) det_time = det_time == 50 ? 30 : 50 //toggle between 30 and 50 if(landminemode) landminemode.time = det_time * 0.1 //overwrites the proxy sensor activation timer - to_chat(user, "You modify the time delay. It's set for [DisplayTimeText(det_time)].") + to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)].")) else - to_chat(user, "You need to add a wire!") + to_chat(user, span_warning("You need to add a wire!")) return else if(stage == GRENADE_WIRED && is_type_in_list(I, allowed_containers)) . = TRUE //no afterattack if(is_type_in_list(I, banned_containers)) - to_chat(user, "[src] is too small to fit [I]!") // this one hits home huh anon? + to_chat(user, span_warning("[src] is too small to fit [I]!")) // this one hits home huh anon? return if(beakers.len == 2) - to_chat(user, "[src] can not hold more containers!") + to_chat(user, span_warning("[src] can not hold more containers!")) return else if(I.reagents.total_volume) if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You add [I] to the [initial(name)] assembly.") + to_chat(user, span_notice("You add [I] to the [initial(name)] assembly.")) beakers += I var/reagent_list = pretty_string_from_reagent_list(I.reagents) user.log_message("inserted [I] ([reagent_list]) into [src]",LOG_GAME) else - to_chat(user, "[I] is empty!") + to_chat(user, span_warning("[I] is empty!")) else if(stage == GRENADE_EMPTY && istype(I, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = I if (C.use(1)) det_time = 50 // In case the cable_coil was removed and readded. stage_change(GRENADE_WIRED) - to_chat(user, "You rig the [initial(name)] assembly.") + to_chat(user, span_notice("You rig the [initial(name)] assembly.")) else - to_chat(user, "You need one length of coil to wire the assembly!") + to_chat(user, span_warning("You need one length of coil to wire the assembly!")) return else if(stage == GRENADE_READY && I.tool_behaviour == TOOL_WIRECUTTER && !active) stage_change(GRENADE_WIRED) - to_chat(user, "You unlock the [initial(name)] assembly.") + to_chat(user, span_notice("You unlock the [initial(name)] assembly.")) else if(stage == GRENADE_WIRED && I.tool_behaviour == TOOL_WRENCH) if(beakers.len) @@ -114,12 +114,12 @@ var/reagent_list = pretty_string_from_reagent_list(O.reagents) user.log_message("removed [O] ([reagent_list]) from [src]", LOG_GAME) beakers = list() - to_chat(user, "You open the [initial(name)] assembly and remove the payload.") + to_chat(user, span_notice("You open the [initial(name)] assembly and remove the payload.")) return wires.detach_assembly(wires.get_wire(1)) new /obj/item/stack/cable_coil(get_turf(src),1) stage_change(GRENADE_EMPTY) - to_chat(user, "You remove the activation mechanism from the [initial(name)] assembly.") + to_chat(user, span_notice("You remove the activation mechanism from the [initial(name)] assembly.")) else return ..() @@ -163,9 +163,9 @@ add_fingerprint(user) if(msg) if(landminemode) - to_chat(user, "You prime [src], activating its proximity sensor.") + to_chat(user, span_warning("You prime [src], activating its proximity sensor.")) else - to_chat(user, "You prime [src]! [DisplayTimeText(det_time)]!") + to_chat(user, span_warning("You prime [src]! [DisplayTimeText(det_time)]!")) playsound(src, 'sound/weapons/armbomb.ogg', volume, TRUE) icon_state = initial(icon_state) + "_active" if(landminemode) @@ -242,7 +242,7 @@ if(istype(I, /obj/item/slime_extract) && stage == GRENADE_WIRED) if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You add [I] to the [initial(name)] assembly.") + to_chat(user, span_notice("You add [I] to the [initial(name)] assembly.")) beakers += I else return ..() @@ -275,9 +275,9 @@ if (newspread != null && user.canUseTopic(src, BE_CLOSE)) newspread = round(newspread) unit_spread = clamp(newspread, 5, 100) - to_chat(user, "You set the time release to [unit_spread] units per detonation.") + to_chat(user, span_notice("You set the time release to [unit_spread] units per detonation.")) if (newspread != unit_spread) - to_chat(user, "The new value is out of bounds. Minimum spread is 5 units, maximum is 100 units.") + to_chat(user, span_notice("The new value is out of bounds. Minimum spread is 5 units, maximum is 100 units.")) ..() /obj/item/grenade/chem_grenade/adv_release/detonate(mob/living/lanced_by) diff --git a/code/game/objects/items/grenades/festive.dm b/code/game/objects/items/grenades/festive.dm index 0e20f9dd679..98a227cea4d 100644 --- a/code/game/objects/items/grenades/festive.dm +++ b/code/game/objects/items/grenades/festive.dm @@ -52,7 +52,7 @@ return ..() /obj/item/sparkler/ignition_effect(atom/A, mob/user) - . = "[user] gracefully lights [A] with [src]." + . = span_notice("[user] gracefully lights [A] with [src].") /obj/item/sparkler/get_temperature() return lit * heat @@ -91,12 +91,12 @@ return if(det_time) det_time -= 10 - to_chat(user, "You shorten the fuse of [src] with [I].") + to_chat(user, span_notice("You shorten the fuse of [src] with [I].")) playsound(src, 'sound/items/wirecutter.ogg', 20, TRUE) icon_state = initial(icon_state) + "_[det_time]" update_appearance() else - to_chat(user, "You've already removed all of the fuse!") + to_chat(user, span_danger("You've already removed all of the fuse!")) /obj/item/grenade/firecracker/arm_grenade(mob/user, delayoverride, msg = TRUE, volume = 80) var/turf/T = get_turf(src) @@ -104,7 +104,7 @@ if(user) add_fingerprint(user) if(msg) - to_chat(user, "You prime [src]! [capitalize(DisplayTimeText(det_time))]!") + to_chat(user, span_warning("You prime [src]! [capitalize(DisplayTimeText(det_time))]!")) playsound(src, 'sound/effects/fuse.ogg', volume, TRUE) active = TRUE icon_state = initial(icon_state) + "_active" diff --git a/code/game/objects/items/grenades/flashbang.dm b/code/game/objects/items/grenades/flashbang.dm index f14a3290cb0..52ace643015 100644 --- a/code/game/objects/items/grenades/flashbang.dm +++ b/code/game/objects/items/grenades/flashbang.dm @@ -22,7 +22,7 @@ /obj/item/grenade/flashbang/proc/bang(turf/T , mob/living/M) if(M.stat == DEAD) //They're dead! return - M.show_message("BANG", MSG_AUDIBLE) + M.show_message(span_warning("BANG"), MSG_AUDIBLE) var/distance = max(0,get_dist(get_turf(src),T)) //Flash @@ -63,7 +63,7 @@ var/obj/item/bodypart/B = C.get_holding_bodypart_of_item(src) if(B) forceMove(get_turf(C)) - C.visible_message("[src] goes off in [C]'s hand, blowing [C.p_their()] [B.name] to bloody shreds!", "[src] goes off in your hand, blowing your [B.name] to bloody shreds!") + C.visible_message("[span_danger("[src] goes off in [C]'s hand, blowing [C.p_their()] [B.name] to bloody shreds!")]", span_userdanger("[src] goes off in your hand, blowing your [B.name] to bloody shreds!")) B.dismember() . = ..() @@ -82,7 +82,7 @@ /obj/item/grenade/stingbang/proc/pop(turf/T , mob/living/M) if(M.stat == DEAD) //They're dead! return - M.show_message("POP", MSG_AUDIBLE) + M.show_message(span_warning("POP"), MSG_AUDIBLE) var/distance = max(0,get_dist(get_turf(src),T)) //Flash if(M.flash_act(affect_silicon = 1)) @@ -95,7 +95,7 @@ M.Knockdown(200) M.soundbang_act(1, 200, 10, 15) if(M.apply_damages(10, 10)) - to_chat(M, "The blast from \the [src] bruises and burns you!") + to_chat(M, span_userdanger("The blast from \the [src] bruises and burns you!")) // only checking if they're on top of the tile, cause being one tile over will be its own punishment diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index d9cfcd1d9f6..8ce4aa154b6 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -59,7 +59,7 @@ /obj/item/grenade/iedcasing/attack_self(mob/user) // if(!active) if(!botch_check(user)) - to_chat(user, "You light the [name]!") + to_chat(user, span_warning("You light the [name]!")) cut_overlay("improvised_grenade_filled") arm_grenade(user, null, FALSE) diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index a0f7a673501..abb3857b7f4 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -37,7 +37,7 @@ var/shrapnel_initialized /obj/item/grenade/suicide_act(mob/living/carbon/user) - user.visible_message("[user] primes [src], then eats it! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] primes [src], then eats it! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/items/eatfood.ogg', 50, TRUE) arm_grenade(user, det_time) user.transferItemToLoc(src, user, TRUE)//>eat a grenade set to 5 seconds >rush captain @@ -54,15 +54,15 @@ var/clumsy = HAS_TRAIT(user, TRAIT_CLUMSY) if(clumsy && (clumsy_check == GRENADE_CLUMSY_FUMBLE)) if(prob(50)) - to_chat(user, "Huh? How does this thing work?") + to_chat(user, span_warning("Huh? How does this thing work?")) arm_grenade(user, 5, FALSE) return TRUE else if(!clumsy && (clumsy_check == GRENADE_NONCLUMSY_FUMBLE)) - to_chat(user, "You pull the pin on [src]. Attached to it is a pink ribbon that says, \"HONK\"") + to_chat(user, span_warning("You pull the pin on [src]. Attached to it is a pink ribbon that says, \"[span_clown("HONK")]\"")) arm_grenade(user, 5, FALSE) return TRUE else if(sticky && prob(50)) // to add risk to sticky tape grenade cheese, no return cause we still prime as normal after - to_chat(user, "What the... [src] is stuck to your hand!") + to_chat(user, span_warning("What the... [src] is stuck to your hand!")) ADD_TRAIT(src, TRAIT_NODROP, STICKY_NODROP) /obj/item/grenade/examine(mob/user) @@ -76,9 +76,9 @@ /obj/item/grenade/attack_self(mob/user) if(HAS_TRAIT(src, TRAIT_NODROP)) - to_chat(user, "You try prying [src] off your hand...") + to_chat(user, span_notice("You try prying [src] off your hand...")) if(do_after(user, 7 SECONDS, target=src)) - to_chat(user, "You manage to remove [src] from your hand.") + to_chat(user, span_notice("You manage to remove [src] from your hand.")) REMOVE_TRAIT(src, TRAIT_NODROP, STICKY_NODROP) return @@ -98,7 +98,7 @@ if(user) add_fingerprint(user) if(msg) - to_chat(user, "You prime [src]! [capitalize(DisplayTimeText(det_time))]!") + to_chat(user, span_warning("You prime [src]! [capitalize(DisplayTimeText(det_time))]!")) if(shrapnel_type && shrapnel_radius) shrapnel_initialized = TRUE AddComponent(/datum/component/pellet_cloud, projectile_type=shrapnel_type, magnitude=shrapnel_radius) @@ -136,13 +136,13 @@ var/newtime = text2num(stripped_input(user, "Please enter a new detonation time", name)) if (newtime != null && user.canUseTopic(src, BE_CLOSE)) if(change_det_time(newtime)) - to_chat(user, "You modify the time delay. It's set for [DisplayTimeText(det_time)].") + to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)].")) if (round(newtime * 10) != det_time) - to_chat(user, "The new value is out of bounds. The lowest possible time is 3 seconds and highest is 5 seconds. Instant detonations are also possible.") + to_chat(user, span_warning("The new value is out of bounds. The lowest possible time is 3 seconds and highest is 5 seconds. Instant detonations are also possible.")) return else if(weapon.tool_behaviour == TOOL_SCREWDRIVER) if(change_det_time()) - to_chat(user, "You modify the time delay. It's set for [DisplayTimeText(det_time)].") + to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)].")) /obj/item/grenade/proc/change_det_time(time) //Time uses real time. . = TRUE @@ -168,7 +168,7 @@ /obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/obj/projectile/hit_projectile = hitby if(damage && attack_type == PROJECTILE_ATTACK && hit_projectile.damage_type != STAMINA && prob(15)) - owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") + owner.visible_message(span_danger("[attack_text] hits [owner]'s [src], setting it off! What a shot!")) var/turf/source_terf = get_turf(src) log_game("A projectile ([hitby]) detonated a grenade held by [key_name(owner)] at [COORD(source_terf)]") message_admins("A projectile ([hitby]) detonated a grenade held by [key_name_admin(owner)] at [ADMIN_COORDJMP(source_terf)]") diff --git a/code/game/objects/items/grenades/hypno.dm b/code/game/objects/items/grenades/hypno.dm index 237c3dc7ae1..847d749a367 100644 --- a/code/game/objects/items/grenades/hypno.dm +++ b/code/game/objects/items/grenades/hypno.dm @@ -42,14 +42,14 @@ if(!distance || loc == M || loc == M.loc) M.Paralyze(10) M.Knockdown(100) - to_chat(M, "The sound echoes in your brain...") + to_chat(M, span_hypnophrase("The sound echoes in your brain...")) M.hallucination += 50 else if(distance <= 1) M.Paralyze(5) M.Knockdown(30) if(hypno_sound) - to_chat(M, "The sound echoes in your brain...") + to_chat(M, span_hypnophrase("The sound echoes in your brain...")) M.hallucination += 50 //Flash @@ -61,7 +61,7 @@ if(C.hypnosis_vulnerable()) //The sound causes the necessary conditions unless the target has mindshield or hearing protection C.apply_status_effect(/datum/status_effect/trance, 100, TRUE) else - to_chat(C, "The light is so pretty...") + to_chat(C, span_hypnophrase("The light is so pretty...")) C.add_confusion(min(C.get_confusion() + 10, 20)) C.dizziness += min(C.dizziness + 10, 20) C.drowsyness += min(C.drowsyness + 10, 20) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index cc358e77b84..28025f3d338 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -36,7 +36,7 @@ /obj/item/grenade/c4/attackby(obj/item/item, mob/user, params) if(item.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "The wire panel can be accessed without a screwdriver.") + to_chat(user, span_notice("The wire panel can be accessed without a screwdriver.")) else if(is_wire_tool(item)) wires.interact(user) else @@ -85,7 +85,7 @@ if(!flag) return - to_chat(user, "You start planting [src]. The timer is set to [det_time]...") + to_chat(user, span_notice("You start planting [src]. The timer is set to [det_time]...")) if(do_after(user, 30, target = bomb_target)) if(!user.temporarilyRemoveItemFromInventory(src)) @@ -110,7 +110,7 @@ plastic_overlay.layer = FLOAT_LAYER target.add_overlay(plastic_overlay) - to_chat(user, "You plant the bomb. Timer counting down from [det_time].") + to_chat(user, span_notice("You plant the bomb. Timer counting down from [det_time].")) addtimer(CALLBACK(src, .proc/detonate), det_time*10) /obj/item/grenade/c4/proc/shout_syndicate_crap(mob/player) @@ -146,7 +146,7 @@ /obj/item/grenade/c4/suicide_act(mob/living/user) message_admins("[ADMIN_LOOKUPFLW(user)] suicided with [src] at [ADMIN_VERBOSEJMP(user)]") log_game("[key_name(user)] suicided with [src] at [AREACOORD(user)]") - user.visible_message("[user] activates [src] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang!") + user.visible_message(span_suicide("[user] activates [src] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang!")) shout_syndicate_crap(user) explosion(user, heavy_impact_range = 2) //Cheap explosion imitation because putting detonate() here causes runtimes user.gib(1, 1) diff --git a/code/game/objects/items/hand_items.dm b/code/game/objects/items/hand_items.dm index 8f8392fea86..518fff8502c 100644 --- a/code/game/objects/items/hand_items.dm +++ b/code/game/objects/items/hand_items.dm @@ -42,10 +42,10 @@ return if(owner == sucker) // big mood - to_chat(owner, "Wait a second... you just looked at your own [src.name]!") + to_chat(owner, span_danger("Wait a second... you just looked at your own [src.name]!")) addtimer(CALLBACK(src, .proc/selfGottem, owner), 10) else - to_chat(sucker, "Wait a second... was that a-") + to_chat(sucker, span_danger("Wait a second... was that a-")) addtimer(CALLBACK(src, .proc/GOTTEM, owner, sucker), 6) /// Stage 3A: We face our own failures @@ -54,8 +54,8 @@ return playsound(get_turf(owner), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) - owner.visible_message("[owner] shamefully bops [owner.p_them()]self with [owner.p_their()] [src.name].", "You shamefully bop yourself with your [src.name].", \ - "You hear a dull thud!") + owner.visible_message(span_danger("[owner] shamefully bops [owner.p_them()]self with [owner.p_their()] [src.name]."), span_userdanger("You shamefully bop yourself with your [src.name]."), \ + span_hear("You hear a dull thud!")) log_combat(owner, owner, "bopped", src.name, "(self)") owner.do_attack_animation(owner) owner.apply_damage(100, STAMINA) @@ -68,15 +68,15 @@ return if(QDELETED(src) || QDELETED(owner)) - to_chat(sucker, "Nevermind... must've been your imagination...") + to_chat(sucker, span_warning("Nevermind... must've been your imagination...")) return if(!in_range(owner, sucker) || !(owner.mobility_flags & MOBILITY_USE)) - to_chat(sucker, "Phew... you moved away before [owner] noticed you saw [owner.p_their()] [src.name]...") + to_chat(sucker, span_notice("Phew... you moved away before [owner] noticed you saw [owner.p_their()] [src.name]...")) return - to_chat(owner, "[sucker] looks down at your [src.name] before trying to avert [sucker.p_their()] eyes, but it's too late!") - to_chat(sucker, "[owner] sees the fear in your eyes as you try to look away from [owner.p_their()] [src.name]!") + to_chat(owner, span_warning("[sucker] looks down at your [src.name] before trying to avert [sucker.p_their()] eyes, but it's too late!")) + to_chat(sucker, span_danger("[owner] sees the fear in your eyes as you try to look away from [owner.p_their()] [src.name]!")) owner.face_atom(sucker) if(owner.client) @@ -86,20 +86,20 @@ owner.do_attack_animation(sucker) if(HAS_TRAIT(owner, TRAIT_HULK)) - owner.visible_message("[owner] bops [sucker] with [owner.p_their()] [src.name] much harder than intended, sending [sucker.p_them()] flying!", \ - "You bop [sucker] with your [src.name] much harder than intended, sending [sucker.p_them()] flying!", "You hear a sickening sound of flesh hitting flesh!", ignored_mobs=list(sucker)) - to_chat(sucker, "[owner] bops you incredibly hard with [owner.p_their()] [src.name], sending you flying!") + owner.visible_message(span_danger("[owner] bops [sucker] with [owner.p_their()] [src.name] much harder than intended, sending [sucker.p_them()] flying!"), \ + span_danger("You bop [sucker] with your [src.name] much harder than intended, sending [sucker.p_them()] flying!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), ignored_mobs=list(sucker)) + to_chat(sucker, span_userdanger("[owner] bops you incredibly hard with [owner.p_their()] [src.name], sending you flying!")) sucker.apply_damage(50, STAMINA) sucker.Knockdown(50) log_combat(owner, sucker, "bopped", src.name, "(setup- Hulk)") var/atom/throw_target = get_edge_target_turf(sucker, owner.dir) sucker.throw_at(throw_target, 6, 3, owner) else - owner.visible_message("[owner] bops [sucker] with [owner.p_their()] [src.name]!", "You bop [sucker] with your [src.name]!", \ - "You hear a dull thud!", ignored_mobs=list(sucker)) + owner.visible_message(span_danger("[owner] bops [sucker] with [owner.p_their()] [src.name]!"), span_danger("You bop [sucker] with your [src.name]!"), \ + span_hear("You hear a dull thud!"), ignored_mobs=list(sucker)) sucker.apply_damage(15, STAMINA) log_combat(owner, sucker, "bopped", src.name, "(setup)") - to_chat(sucker, "[owner] bops you with [owner.p_their()] [src.name]!") + to_chat(sucker, span_userdanger("[owner] bops you with [owner.p_their()] [src.name]!")) qdel(src) /obj/item/slapper @@ -124,13 +124,13 @@ user.do_attack_animation(M) playsound(M, 'sound/weapons/slap.ogg', 50, TRUE, -1) if(user.zone_selected == BODY_ZONE_HEAD || user.zone_selected == BODY_ZONE_PRECISE_MOUTH) - user.visible_message("[user] slaps [M] in the face!", - "You slap [M] in the face!",\ - "You hear a slap.") + user.visible_message(span_danger("[user] slaps [M] in the face!"), + span_notice("You slap [M] in the face!"),\ + span_hear("You hear a slap.")) else - user.visible_message("[user] slaps [M]!", - "You slap [M]!",\ - "You hear a slap.") + user.visible_message(span_danger("[user] slaps [M]!"), + span_notice("You slap [M]!"),\ + span_hear("You hear a slap.")) return /obj/item/slapper/attack_obj(obj/O, mob/living/user, params) @@ -149,12 +149,12 @@ SEND_SIGNAL(user, COMSIG_LIVING_SLAM_TABLE, the_table) SEND_SIGNAL(the_table, COMSIG_TABLE_SLAMMED, user) playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 110, TRUE) - user.visible_message("[user] slams [user.p_their()] fist down on [the_table]!", "You slam your fist down on [the_table]!") + user.visible_message("[span_danger("[user] slams [user.p_their()] fist down on [the_table]!")]", "[span_danger("You slam your fist down on [the_table]!")]") qdel(src) else user.do_attack_animation(the_table) playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 40, TRUE) - user.visible_message("[user] slaps [user.p_their()] hand on [the_table].", "You slap your hand on [the_table].", vision_distance=COMBAT_MESSAGE_RANGE) + user.visible_message(span_notice("[user] slaps [user.p_their()] hand on [the_table]."), span_notice("You slap your hand on [the_table]."), vision_distance=COMBAT_MESSAGE_RANGE) table_smacks_left-- if(table_smacks_left <= 0) qdel(src) @@ -170,11 +170,11 @@ /obj/item/noogie/attack(mob/living/carbon/target, mob/living/carbon/human/user) if(!istype(target)) - to_chat(user, "You don't think you can give this a noogie!") + to_chat(user, span_warning("You don't think you can give this a noogie!")) return if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You can't bring yourself to noogie [target]! You don't want to risk harming anyone...") + to_chat(user, span_warning("You can't bring yourself to noogie [target]! You don't want to risk harming anyone...")) return if(!(target?.get_bodypart(BODY_ZONE_HEAD)) || user.pulling != target || user.grab_state < GRAB_AGGRESSIVE || user.getStaminaLoss() > 80) @@ -182,7 +182,7 @@ var/obj/item/bodypart/head/the_head = target.get_bodypart(BODY_ZONE_HEAD) if((target.get_biological_state() != BIO_FLESH_BONE && target.get_biological_state() != BIO_JUST_FLESH) || !the_head.is_organic_limb()) - to_chat(user, "You can't noogie [target], [target.p_they()] [target.p_have()] no skin on [target.p_their()] head!") + to_chat(user, span_warning("You can't noogie [target], [target.p_they()] [target.p_have()] no skin on [target.p_their()] head!")) return // [user] gives [target] a [prefix_desc] noogie[affix_desc]! @@ -203,12 +203,12 @@ var/message_others = "[prefix_desc] noogie[affix_desc]" var/message_target = "[prefix_desc] noogie[affix_desc_target]" - user.visible_message("[user] begins giving [target] a [message_others]!", "You start giving [target] a [message_others]!", vision_distance=COMBAT_MESSAGE_RANGE, ignored_mobs=target) - to_chat(target, "[user] starts giving you a [message_target]!") + user.visible_message(span_danger("[user] begins giving [target] a [message_others]!"), span_warning("You start giving [target] a [message_others]!"), vision_distance=COMBAT_MESSAGE_RANGE, ignored_mobs=target) + to_chat(target, span_userdanger("[user] starts giving you a [message_target]!")) if(!do_after(user, 1.5 SECONDS, target)) - to_chat(user, "You fail to give [target] a noogie!") - to_chat(target, "[user] fails to give you a noogie!") + to_chat(user, span_warning("You fail to give [target] a noogie!")) + to_chat(target, span_danger("[user] fails to give you a noogie!")) return if(brutal_noogie) @@ -224,8 +224,8 @@ return FALSE if(user.getStaminaLoss() > 80) - to_chat(user, "You're too tired to continue giving [target] a noogie!") - to_chat(target, "[user] is too tired to continue giving you a noogie!") + to_chat(user, span_warning("You're too tired to continue giving [target] a noogie!")) + to_chat(target, span_danger("[user] is too tired to continue giving you a noogie!")) return var/damage = rand(1, 5) @@ -243,12 +243,12 @@ playsound(get_turf(user), pick('sound/effects/rustle1.ogg','sound/effects/rustle2.ogg','sound/effects/rustle3.ogg','sound/effects/rustle4.ogg','sound/effects/rustle5.ogg'), 50) if(prob(33)) - user.visible_message("[user] continues noogie'ing [target]!", "You continue giving [target] a noogie!", vision_distance=COMBAT_MESSAGE_RANGE, ignored_mobs=target) - to_chat(target, "[user] continues giving you a noogie!") + user.visible_message(span_danger("[user] continues noogie'ing [target]!"), span_warning("You continue giving [target] a noogie!"), vision_distance=COMBAT_MESSAGE_RANGE, ignored_mobs=target) + to_chat(target, span_userdanger("[user] continues giving you a noogie!")) if(!do_after(user, 1 SECONDS + (iteration * 2), target)) - to_chat(user, "You fail to give [target] a noogie!") - to_chat(target, "[user] fails to give you a noogie!") + to_chat(user, span_warning("You fail to give [target] a noogie!")) + to_chat(target, span_danger("[user] fails to give you a noogie!")) return iteration++ @@ -270,7 +270,7 @@ /obj/item/kisser/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() var/obj/projectile/blown_kiss = new kiss_type(get_turf(user)) - user.visible_message("[user] blows \a [blown_kiss] at [target]!", "You blow \a [blown_kiss] at [target]!") + user.visible_message("[user] blows \a [blown_kiss] at [target]!", span_notice("You blow \a [blown_kiss] at [target]!")) //Shooting Code: blown_kiss.spread = 0 @@ -322,7 +322,7 @@ */ /obj/projectile/kiss/proc/harmless_on_hit(mob/living/living_target) playsound(get_turf(living_target), hitsound, 100, TRUE) - living_target.visible_message("[living_target] is hit by \a [src].", "You're hit by \a [src]!", vision_distance=COMBAT_MESSAGE_RANGE) + living_target.visible_message(span_danger("[living_target] is hit by \a [src]."), span_userdanger("You're hit by \a [src]!"), vision_distance=COMBAT_MESSAGE_RANGE) try_fluster(living_target) /obj/projectile/kiss/proc/try_fluster(mob/living/living_target) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 17d8ba939a1..9b9a0a58d16 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -12,7 +12,7 @@ dye_color = DYE_PRISONER /obj/item/restraints/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return(OXYLOSS) /obj/item/restraints/Destroy() @@ -66,14 +66,14 @@ SEND_SIGNAL(C, COMSIG_CARBON_CUFF_ATTEMPTED, user) if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))) //Clumsy people have a 50% chance to handcuff themselves instead of their target. - to_chat(user, "Uh... how do those things work?!") + to_chat(user, span_warning("Uh... how do those things work?!")) apply_cuffs(user,user) return if(!C.handcuffed) if(C.canBeHandcuffed()) - C.visible_message("[user] is trying to put [src.name] on [C]!", \ - "[user] is trying to put [src.name] on you!") + C.visible_message(span_danger("[user] is trying to put [src.name] on [C]!"), \ + span_userdanger("[user] is trying to put [src.name] on you!")) playsound(loc, cuffsound, 30, TRUE, -2) log_combat(user, C, "attempted to handcuff") @@ -82,16 +82,16 @@ apply_cuffs(C, user, TRUE) else apply_cuffs(C, user) - C.visible_message("[user] handcuffs [C].", \ - "[user] handcuffs you.") + C.visible_message(span_notice("[user] handcuffs [C]."), \ + span_userdanger("[user] handcuffs you.")) SSblackbox.record_feedback("tally", "handcuffs", 1, type) log_combat(user, C, "handcuffed") else - to_chat(user, "You fail to handcuff [C]!") + to_chat(user, span_warning("You fail to handcuff [C]!")) log_combat(user, C, "failed to handcuff") else - to_chat(user, "[C] doesn't have two hands...") + to_chat(user, span_warning("[C] doesn't have two hands...")) /** * This handles handcuffing people @@ -230,24 +230,24 @@ var/obj/item/wirerod/W = new /obj/item/wirerod remove_item_from_storage(user) user.put_in_hands(W) - to_chat(user, "You wrap [src] around the top of [I].") + to_chat(user, span_notice("You wrap [src] around the top of [I].")) qdel(src) else - to_chat(user, "You need one rod to make a wired rod!") + to_chat(user, span_warning("You need one rod to make a wired rod!")) return else if(istype(I, /obj/item/stack/sheet/iron)) var/obj/item/stack/sheet/iron/M = I if(M.get_amount() < 6) - to_chat(user, "You need at least six iron sheets to make good enough weights!") + to_chat(user, span_warning("You need at least six iron sheets to make good enough weights!")) return - to_chat(user, "You begin to apply [I] to [src]...") + to_chat(user, span_notice("You begin to apply [I] to [src]...")) if(do_after(user, 35, target = src)) if(M.get_amount() < 6 || !M) return var/obj/item/restraints/legcuffs/bola/S = new /obj/item/restraints/legcuffs/bola M.use(6) user.put_in_hands(S) - to_chat(user, "You make some weights out of [I] and tie them to [src].") + to_chat(user, span_notice("You make some weights out of [I] and tie them to [src].")) remove_item_from_storage(user) qdel(src) else @@ -330,7 +330,7 @@ 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!") + user.visible_message(span_suicide("[user] is sticking [user.p_their()] head in the [src.name]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/bladeslice.ogg', 50, TRUE, -1) return (BRUTELOSS) @@ -340,7 +340,7 @@ return armed = !armed update_appearance() - to_chat(user, "[src] is now [armed ? "armed" : "disarmed"]") + to_chat(user, span_notice("[src] is now [armed ? "armed" : "disarmed"]")) /** * Closes a bear trap @@ -363,7 +363,7 @@ var/obj/vehicle/ridden_vehicle = L.buckled if(!ridden_vehicle.are_legs_exposed) //close the trap without injuring/trapping the rider if their legs are inside the vehicle at all times. close_trap() - ridden_vehicle.visible_message("[ridden_vehicle] triggers \the [src].") + ridden_vehicle.visible_message(span_danger("[ridden_vehicle] triggers \the [src].")) if(L.movement_type & (FLYING|FLOATING)) //don't close the trap if they're flying/floating over it. snap = FALSE @@ -385,8 +385,8 @@ snap = FALSE if(snap) close_trap() - L.visible_message("[L] triggers \the [src].", \ - "You trigger \the [src]!") + L.visible_message(span_danger("[L] triggers \the [src]."), \ + span_userdanger("You trigger \the [src]!")) L.apply_damage(trap_damage, BRUTE, def_zone) /** @@ -457,13 +457,13 @@ */ /obj/item/restraints/legcuffs/bola/proc/ensnare(mob/living/carbon/C) if(!C.legcuffed && C.num_legs >= 2) - visible_message("\The [src] ensnares [C]!") + visible_message(span_danger("\The [src] ensnares [C]!")) C.legcuffed = src forceMove(C) C.update_equipment_speed_mods() C.update_inv_legcuffed() SSblackbox.record_feedback("tally", "handcuffs", 1, type) - to_chat(C, "\The [src] ensnares you!") + to_chat(C, span_userdanger("\The [src] ensnares you!")) C.Knockdown(knockdown) playsound(src, 'sound/effects/snap.ogg', 50, TRUE) diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index 043a5578870..c3e8bf4f73d 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -72,24 +72,24 @@ if(awakened) switch(bloodthirst) if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH) - . += "[src] isn't very hungry. Not yet." + . += span_his_grace("[src] isn't very hungry. Not yet.") if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY) - . += "[src] would like a snack." + . += span_his_grace("[src] would like a snack.") if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED) - . += "[src] is quite hungry now." + . += span_his_grace("[src] is quite hungry now.") if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING) - . += "[src] is openly salivating at the sight of you. Be careful." + . += span_his_grace("[src] is openly salivating at the sight of you. Be careful.") if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER) . += "You walk a fine line. [src] is very close to devouring you." if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP) . += "[src] is shaking violently and staring directly at you." else - . += "[src] is latched closed." + . += span_his_grace("[src] is latched closed.") /obj/item/his_grace/relaymove(mob/living/user, direction) //Allows changelings, etc. to climb out of Him after they revive, provided He isn't active if(!awakened) user.forceMove(get_turf(src)) - user.visible_message("[user] scrambles out of [src]!", "You climb out of [src]!") + user.visible_message(span_warning("[user] scrambles out of [src]!"), span_notice("You climb out of [src]!")) /obj/item/his_grace/process(delta_time) if(!bloodthirst) @@ -103,7 +103,7 @@ if(istype(master) && (src in master.held_items)) switch(bloodthirst) if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP) - master.visible_message("[src] turns on [master]!", "[src] turns on you!") + master.visible_message(span_boldwarning("[src] turns on [master]!"), "[src] turns on you!") do_attack_animation(master, null, src) master.emote("scream") master.remove_status_effect(STATUS_EFFECT_HISGRACE) @@ -129,7 +129,7 @@ step_to(src, L) if(Adjacent(L)) if(!L.stat) - L.visible_message("[src] lunges at [L]!", "[src] lunges at you!") + L.visible_message(span_warning("[src] lunges at [L]!"), "[src] lunges at you!") do_attack_animation(L, null, src) playsound(L, 'sound/weapons/smash.ogg', 50, TRUE) playsound(L, 'sound/misc/desecration-01.ogg', 50, TRUE) @@ -142,7 +142,7 @@ if(awakened) return awakened = TRUE - user.visible_message("[src] begins to rattle. He thirsts.", "You flick [src]'s latch up. You hope this is a good idea.") + user.visible_message(span_boldwarning("[src] begins to rattle. He thirsts."), span_his_grace("You flick [src]'s latch up. You hope this is a good idea.")) name = "His Grace" desc = "A bloodthirsty artifact created by a profane rite." gender = MALE @@ -178,7 +178,7 @@ if(!awakened || ascended) return var/turf/T = get_turf(src) - T.visible_message("[src] slowly stops rattling and falls still, His latch snapping shut.") + T.visible_message(span_boldwarning("[src] slowly stops rattling and falls still, His latch snapping shut.")) playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE) name = initial(name) desc = initial(desc) @@ -194,7 +194,7 @@ if(!meal) return var/victims = 0 - meal.visible_message("[src] swings open and devours [meal]!", "[src] consumes you!") + meal.visible_message(span_warning("[src] swings open and devours [meal]!"), "[src] consumes you!") meal.adjustBruteLoss(200) playsound(meal, 'sound/misc/desecration-02.ogg', 75, TRUE) playsound(src, 'sound/items/eatfood.ogg', 100, TRUE) @@ -226,36 +226,36 @@ switch(bloodthirst) if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP) if(HIS_GRACE_CONSUME_OWNER > prev_bloodthirst) - master.visible_message("[src] enters a frenzy!") + master.visible_message(span_userdanger("[src] enters a frenzy!")) if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER) ADD_TRAIT(src, TRAIT_NODROP, HIS_GRACE_TRAIT) if(HIS_GRACE_STARVING > prev_bloodthirst) - master.visible_message("[src] is starving!", "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\ + master.visible_message(span_boldwarning("[src] is starving!"), "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\ [force_bonus < 15 ? " And still, His power grows.":""]") force_bonus = max(force_bonus, 15) if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING) ADD_TRAIT(src, TRAIT_NODROP, HIS_GRACE_TRAIT) if(HIS_GRACE_FAMISHED > prev_bloodthirst) - master.visible_message("[src] is very hungry!", "Spines sink into your hand. [src] must feed immediately.\ + master.visible_message(span_warning("[src] is very hungry!"), "Spines sink into your hand. [src] must feed immediately.\ [force_bonus < 10 ? " His power grows.":""]") force_bonus = max(force_bonus, 10) if(prev_bloodthirst >= HIS_GRACE_STARVING) - master.visible_message("[src] is now only very hungry!", "Your bloodlust recedes.") + master.visible_message(span_warning("[src] is now only very hungry!"), "Your bloodlust recedes.") if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED) if(HIS_GRACE_HUNGRY > prev_bloodthirst) - master.visible_message("[src] is getting hungry.", "You feel [src]'s hunger within you.\ + master.visible_message(span_warning("[src] is getting hungry."), "You feel [src]'s hunger within you.\ [force_bonus < 5 ? " His power grows.":""]") force_bonus = max(force_bonus, 5) if(prev_bloodthirst >= HIS_GRACE_FAMISHED) - master.visible_message("[src] is now only somewhat hungry.", "[src]'s hunger recedes a little...") + master.visible_message(span_warning("[src] is now only somewhat hungry."), span_his_grace("[src]'s hunger recedes a little...")) if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY) if(HIS_GRACE_PECKISH > prev_bloodthirst) - master.visible_message("[src] is feeling snackish.", "[src] begins to hunger.") + master.visible_message(span_warning("[src] is feeling snackish."), span_his_grace("[src] begins to hunger.")) if(prev_bloodthirst >= HIS_GRACE_HUNGRY) - master.visible_message("[src] is now only a little peckish.", "[src]'s hunger recedes somewhat...") + master.visible_message(span_warning("[src] is now only a little peckish."), "[src]'s hunger recedes somewhat...") if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH) if(prev_bloodthirst >= HIS_GRACE_PECKISH) - master.visible_message("[src] is satiated.", "[src]'s hunger recedes...") + master.visible_message(span_warning("[src] is satiated."), "[src]'s hunger recedes...") force = initial(force) + force_bonus /obj/item/his_grace/proc/ascend() diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm index 9dc243b69b2..8e7e33f049d 100644 --- a/code/game/objects/items/holosign_creator.dm +++ b/code/game/objects/items/holosign_creator.dm @@ -22,7 +22,7 @@ . = ..() if(!signs) return - . += "It is currently maintaining [signs.len]/[max_signs] projections." + . += span_notice("It is currently maintaining [signs.len]/[max_signs] projections.") /obj/item/holosign_creator/afterattack(atom/target, mob/user, proximity_flag) . = ..() @@ -33,16 +33,16 @@ var/turf/target_turf = get_turf(target) var/obj/structure/holosign/target_holosign = locate(holosign_type) in target_turf if(target_holosign) - to_chat(user, "You use [src] to deactivate [target_holosign].") + to_chat(user, span_notice("You use [src] to deactivate [target_holosign].")) qdel(target_holosign) return if(target_turf.is_blocked_turf(TRUE)) //can't put holograms on a tile that has dense stuff return if(holocreator_busy) - to_chat(user, "[src] is busy creating a hologram.") + to_chat(user, span_notice("[src] is busy creating a hologram.")) return if(LAZYLEN(signs) >= max_signs) - to_chat(user, "[src] is projecting at max capacity!") + to_chat(user, span_notice("[src] is projecting at max capacity!")) return playsound(loc, 'sound/machines/click.ogg', 20, TRUE) if(creation_time) @@ -56,7 +56,7 @@ if(target_turf.is_blocked_turf(TRUE)) //don't try to sneak dense stuff on our tile during the wait. return target_holosign = new holosign_type(get_turf(target), src) - to_chat(user, "You create \a [target_holosign] with [src].") + to_chat(user, span_notice("You create \a [target_holosign] with [src].")) /obj/item/holosign_creator/attack(mob/living/carbon/human/M, mob/user) return @@ -65,7 +65,7 @@ if(LAZYLEN(signs)) for(var/H in signs) qdel(H) - to_chat(user, "You clear all active holograms.") + to_chat(user, span_notice("You clear all active holograms.")) /obj/item/holosign_creator/Destroy() . = ..() @@ -126,7 +126,7 @@ var/mob/living/silicon/robot/R = user if(shock) - to_chat(user, "You clear all active holograms, and reset your projector to normal.") + to_chat(user, span_notice("You clear all active holograms, and reset your projector to normal.")) holosign_type = /obj/structure/holosign/barrier/cyborg creation_time = 5 for(var/sign in signs) @@ -134,7 +134,7 @@ shock = 0 return if(R.emagged&&!shock) - to_chat(user, "You clear all active holograms, and overload your energy projector!") + to_chat(user, span_warning("You clear all active holograms, and overload your energy projector!")) holosign_type = /obj/structure/holosign/barrier/cyborg/hacked creation_time = 30 for(var/sign in signs) @@ -143,4 +143,4 @@ return for(var/sign in signs) qdel(sign) - to_chat(user, "You clear all active holograms.") + to_chat(user, span_notice("You clear all active holograms.")) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 32720d11503..191c3ac8256 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -68,7 +68,7 @@ SSblackbox.record_feedback("tally", "chaplain_armor", 1, "[choice]") GLOB.holy_armor_type = choice else - to_chat(M, "A selection has already been made. Self-Destructing...") + to_chat(M, span_warning("A selection has already been made. Self-Destructing...")) return @@ -235,7 +235,7 @@ AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE) /obj/item/nullrod/suicide_act(mob/user) - user.visible_message("[user] is killing [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to get closer to god!") + user.visible_message(span_suicide("[user] is killing [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to get closer to god!")) return (BRUTELOSS|FIRELOSS) /obj/item/nullrod/attack_self(mob/user) @@ -448,8 +448,8 @@ attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") /obj/item/nullrod/sord/suicide_act(mob/user) //a near-exact copy+paste of the actual sord suicide_act() - user.visible_message("[user] is trying to impale [user.p_them()]self with [src]! It might be a suicide attempt if it weren't so HOLY.", \ - "You try to impale yourself with [src], but it's TOO HOLY...") + user.visible_message(span_suicide("[user] is trying to impale [user.p_them()]self with [src]! It might be a suicide attempt if it weren't so HOLY."), \ + span_suicide("You try to impale yourself with [src], but it's TOO HOLY...")) return SHAME /obj/item/nullrod/scythe @@ -513,10 +513,10 @@ if(possessed) return if(!(GLOB.ghost_role_flags & GHOSTROLE_STATION_SENTIENCE)) - to_chat(user, "Anomalous otherworldly energies block you from awakening the blade!") + to_chat(user, span_notice("Anomalous otherworldly energies block you from awakening the blade!")) return - to_chat(user, "You attempt to wake the spirit of the blade...") + to_chat(user, span_notice("You attempt to wake the spirit of the blade...")) possessed = TRUE @@ -537,12 +537,12 @@ name = input S.fully_replace_character_name(null, "The spirit of [input]") else - to_chat(user, "The blade is dormant. Maybe you can try again later.") + to_chat(user, span_warning("The blade is dormant. Maybe you can try again later.")) possessed = FALSE /obj/item/nullrod/scythe/talking/Destroy() for(var/mob/living/simple_animal/shade/S in contents) - to_chat(S, "You were destroyed!") + to_chat(S, span_userdanger("You were destroyed!")) qdel(S) return ..() @@ -638,8 +638,8 @@ if(prob(30) && ishuman(A)) var/mob/living/carbon/human/H = A user.reagents.trans_to(H, user.reagents.total_volume, 1, 1, 0, transfered_by = user) - to_chat(user, "Your pride reflects on [H].") - to_chat(H, "You feel insecure, taking on [user]'s burden.") + to_chat(user, span_notice("Your pride reflects on [H].")) + to_chat(H, span_userdanger("You feel insecure, taking on [user]'s burden.")) /obj/item/nullrod/whip name = "holy whip" @@ -712,7 +712,7 @@ /obj/item/nullrod/carp/attack_self(mob/living/user) if(used_blessing) else if(user.mind && (user.mind.holy_role)) - to_chat(user, "You are blessed by Carp-Sie. Wild space carp will no longer attack you.") + to_chat(user, span_boldnotice("You are blessed by Carp-Sie. Wild space carp will no longer attack you.")) user.faction |= "carp" used_blessing = TRUE diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index 02874eafad5..4a58ba2a3e9 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -50,7 +50,7 @@ /obj/item/hot_potato/proc/detonate() var/atom/location = loc - location.visible_message("[src] [detonate_explosion? "explodes" : "activates"]!", "[src] activates! You've ran out of time!") + location.visible_message(span_userdanger("[src] [detonate_explosion? "explodes" : "activates"]!"), span_userdanger("[src] activates! You've ran out of time!")) if(detonate_explosion) explosion(src, detonate_dev_range, detonate_heavy_range, detonate_light_range, detonate_fire_range, detonate_flash_range) deactivate() @@ -62,8 +62,8 @@ /obj/item/hot_potato/attack_self(mob/user) if(activate(timer, user)) - user.visible_message("[user] squeezes [src], which promptly starts to flash red-hot colors!", "You squeeze [src], activating its countdown and attachment mechanism!", - "You hear a mechanical click and a loud beeping!") + user.visible_message(span_boldwarning("[user] squeezes [src], which promptly starts to flash red-hot colors!"), span_boldwarning("You squeeze [src], activating its countdown and attachment mechanism!"), + span_boldwarning("You hear a mechanical click and a loud beeping!")) return return ..() @@ -86,14 +86,14 @@ /obj/item/hot_potato/examine(mob/user) . = ..() if(active) - . += "[src] is flashing red-hot! You should probably get rid of it!" + . += span_warning("[src] is flashing red-hot! You should probably get rid of it!") if(show_timer) - . += "[src]'s timer looks to be at [DisplayTimeText(activation_time - world.time)]!" + . += span_warning("[src]'s timer looks to be at [DisplayTimeText(activation_time - world.time)]!") /obj/item/hot_potato/equipped(mob/user) . = ..() if(active) - to_chat(user, "You have a really bad feeling about [src]!") + to_chat(user, span_userdanger("You have a really bad feeling about [src]!")) /obj/item/hot_potato/afterattack(atom/target, mob/user, adjacent, params) . = ..() @@ -105,9 +105,9 @@ if(!istype(victim) || user != loc || victim == user) return FALSE if(!victim.client) - to_chat(user, "[src] refuses to attach to a non-sapient creature!") + to_chat(user, span_boldwarning("[src] refuses to attach to a non-sapient creature!")) if(victim.stat != CONSCIOUS || !victim.usable_legs) - to_chat(user, "[src] refuses to attach to someone incapable of using it!") + to_chat(user, span_boldwarning("[src] refuses to attach to someone incapable of using it!")) user.temporarilyRemoveItemFromInventory(src, TRUE) . = FALSE if(!victim.put_in_hands(src)) @@ -123,11 +123,11 @@ . = TRUE if(.) log_combat(user, victim, "forced a hot potato with explosive variables ([detonate_explosion]-[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_flash_range]/[detonate_fire_range]) onto") - user.visible_message("[user] forces [src] onto [victim]!", "You force [src] onto [victim]!", "You hear a mechanical click and a beep.") + user.visible_message(span_userdanger("[user] forces [src] onto [victim]!"), span_userdanger("You force [src] onto [victim]!"), span_boldwarning("You hear a mechanical click and a beep.")) colorize(null) else log_combat(user, victim, "tried to force a hot potato with explosive variables ([detonate_explosion]-[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_flash_range]/[detonate_fire_range]) onto") - user.visible_message("[user] tried to force [src] onto [victim], but it could not attach!", "You try to force [src] onto [victim], but it is unable to attach!", "You hear a mechanical click and two buzzes.") + user.visible_message(span_boldwarning("[user] tried to force [src] onto [victim], but it could not attach!"), span_boldwarning("You try to force [src] onto [victim], but it is unable to attach!"), span_boldwarning("You hear a mechanical click and two buzzes.")) user.put_in_hands(src) /obj/item/hot_potato/dropped(mob/user) diff --git a/code/game/objects/items/hourglass.dm b/code/game/objects/items/hourglass.dm index fac76b79714..7860ddb6d4a 100644 --- a/code/game/objects/items/hourglass.dm +++ b/code/game/objects/items/hourglass.dm @@ -22,11 +22,11 @@ /obj/item/hourglass/proc/toggle(mob/user) if(!timing_id) - to_chat(user,"You flip the [src].") + to_chat(user,span_notice("You flip the [src].")) start() flick("hourglass_flip",src) else - to_chat(user,"You stop the [src].") //Sand magically flows back because that's more convinient to use. + to_chat(user,span_notice("You stop the [src].")) //Sand magically flows back because that's more convinient to use. stop() /obj/item/hourglass/update_icon_state() @@ -55,7 +55,7 @@ update_appearance() /obj/item/hourglass/proc/finish() - visible_message("[src] stops.") + visible_message(span_notice("[src] stops.")) stop() /obj/item/hourglass/Destroy() diff --git a/code/game/objects/items/implants/implant_abductor.dm b/code/game/objects/items/implants/implant_abductor.dm index 3174486c687..084b6818163 100644 --- a/code/game/objects/items/implants/implant_abductor.dm +++ b/code/game/objects/items/implants/implant_abductor.dm @@ -11,7 +11,7 @@ /obj/item/implant/abductor/activate() . = ..() if(on_cooldown) - to_chat(imp_in, "You must wait [timeleft(on_cooldown)*0.1] seconds to use [src] again!") + to_chat(imp_in, span_warning("You must wait [timeleft(on_cooldown)*0.1] seconds to use [src] again!")) return home.Retrieve(imp_in,1) diff --git a/code/game/objects/items/implants/implant_chem.dm b/code/game/objects/items/implants/implant_chem.dm index 44900a56739..5a9febf757d 100644 --- a/code/game/objects/items/implants/implant_chem.dm +++ b/code/game/objects/items/implants/implant_chem.dm @@ -46,9 +46,9 @@ else injectamount = cause reagents.trans_to(R, injectamount) - to_chat(R, "You hear a faint beep.") + to_chat(R, span_hear("You hear a faint beep.")) if(!reagents.total_volume) - to_chat(R, "You hear a faint click from your chest.") + to_chat(R, span_hear("You hear a faint click from your chest.")) qdel(src) diff --git a/code/game/objects/items/implants/implant_deathrattle.dm b/code/game/objects/items/implants/implant_deathrattle.dm index 0c3a1f20c5d..dd41812cb5c 100644 --- a/code/game/objects/items/implants/implant_deathrattle.dm +++ b/code/game/objects/items/implants/implant_deathrattle.dm @@ -70,7 +70,7 @@ // Deliberately the same message framing as nanite message + ghost deathrattle var/mob/living/recipient = implant.imp_in - to_chat(recipient, "You hear a strange, robotic voice in your head... \"[name] has died at [area].\"") + to_chat(recipient, "You hear a strange, robotic voice in your head... \"[span_robot("[name] has died at [area].")]\"") recipient.playsound_local(get_turf(recipient), sound, vol = 75, vary = FALSE, pressure_affected = FALSE, use_reverb = FALSE) /obj/item/implant/deathrattle diff --git a/code/game/objects/items/implants/implant_explosive.dm b/code/game/objects/items/implants/implant_explosive.dm index 1578cc90b09..e04a35e57f2 100644 --- a/code/game/objects/items/implants/implant_explosive.dm +++ b/code/game/objects/items/implants/implant_explosive.dm @@ -45,7 +45,7 @@ heavy = round(heavy) medium = round(medium) weak = round(weak) - to_chat(imp_in, "You activate your [name].") + to_chat(imp_in, span_notice("You activate your [name].")) active = TRUE var/turf/boomturf = get_turf(imp_in) message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [ADMIN_VERBOSEJMP(boomturf)], with cause of [cause].") @@ -74,11 +74,11 @@ RegisterSignal(target, COMSIG_LIVING_DEATH, .proc/on_death) /obj/item/implant/explosive/proc/timed_explosion() - imp_in.visible_message("[imp_in] starts beeping ominously!") + imp_in.visible_message(span_warning("[imp_in] starts beeping ominously!")) playsound(loc, 'sound/items/timer.ogg', 30, FALSE) sleep(delay*0.25) if(imp_in && !imp_in.stat) - imp_in.visible_message("[imp_in] doubles over in pain!") + imp_in.visible_message(span_warning("[imp_in] doubles over in pain!")) imp_in.Paralyze(140) playsound(loc, 'sound/items/timer.ogg', 30, FALSE) sleep(delay*0.25) diff --git a/code/game/objects/items/implants/implant_freedom.dm b/code/game/objects/items/implants/implant_freedom.dm index af4e8e7b11d..4a40fcc7f91 100644 --- a/code/game/objects/items/implants/implant_freedom.dm +++ b/code/game/objects/items/implants/implant_freedom.dm @@ -9,7 +9,7 @@ /obj/item/implant/freedom/activate() . = ..() uses-- - to_chat(imp_in, "You feel a faint click.") + to_chat(imp_in, span_hear("You feel a faint click.")) if(iscarbon(imp_in)) var/mob/living/carbon/C_imp_in = imp_in C_imp_in.uncuff() diff --git a/code/game/objects/items/implants/implant_mindshield.dm b/code/game/objects/items/implants/implant_mindshield.dm index 3f953d9166d..e95d132ab28 100644 --- a/code/game/objects/items/implants/implant_mindshield.dm +++ b/code/game/objects/items/implants/implant_mindshield.dm @@ -29,7 +29,7 @@ if(target.mind.has_antag_datum(/datum/antagonist/rev/head)|| target.mind.unconvertable) if(!silent) - target.visible_message("[target] seems to resist the implant!", "You feel something interfering with your mental conditioning, but you resist it!") + target.visible_message(span_warning("[target] seems to resist the implant!"), span_warning("You feel something interfering with your mental conditioning, but you resist it!")) removed(target, 1) qdel(src) return TRUE //the implant is still used @@ -40,9 +40,9 @@ rev.remove_revolutionary(FALSE, user) if(!silent) if(target.mind.has_antag_datum(/datum/antagonist/cult)) - to_chat(target, "You feel something interfering with your mental conditioning, but you resist it!") + to_chat(target, span_warning("You feel something interfering with your mental conditioning, but you resist it!")) else - to_chat(target, "You feel a sense of peace and security. You are now protected from brainwashing.") + to_chat(target, span_notice("You feel a sense of peace and security. You are now protected from brainwashing.")) ADD_TRAIT(target, TRAIT_MINDSHIELD, IMPLANT_TRAIT) target.sec_hud_set_implants() if(deconverted) @@ -58,7 +58,7 @@ REMOVE_TRAIT(L, TRAIT_MINDSHIELD, IMPLANT_TRAIT) L.sec_hud_set_implants() if(target.stat != DEAD && !silent) - to_chat(target, "Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing.") + to_chat(target, span_boldnotice("Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing.")) return TRUE return FALSE diff --git a/code/game/objects/items/implants/implant_spell.dm b/code/game/objects/items/implants/implant_spell.dm index e925a17b293..916eaa3cede 100644 --- a/code/game/objects/items/implants/implant_spell.dm +++ b/code/game/objects/items/implants/implant_spell.dm @@ -30,7 +30,7 @@ if (.) target.RemoveSpell(spell) if(target.stat != DEAD && !silent) - to_chat(target, "The knowledge of how to cast [spell] slips out from your mind.") + to_chat(target, span_boldnotice("The knowledge of how to cast [spell] slips out from your mind.")) /obj/item/implanter/spell name = "implanter (spell)" diff --git a/code/game/objects/items/implants/implant_storage.dm b/code/game/objects/items/implants/implant_storage.dm index a0ad3b721cf..c0f1a7af754 100644 --- a/code/game/objects/items/implants/implant_storage.dm +++ b/code/game/objects/items/implants/implant_storage.dm @@ -16,7 +16,7 @@ for (var/obj/item/I in lostimplant.contents()) I.add_mob_blood(implantee) lostimplant.do_quick_empty() - implantee.visible_message("A bluespace pocket opens around [src] as it exits [implantee], spewing out its contents and rupturing the surrounding tissue!") + implantee.visible_message(span_warning("A bluespace pocket opens around [src] as it exits [implantee], spewing out its contents and rupturing the surrounding tissue!")) implantee.apply_damage(20, BRUTE, BODY_ZONE_CHEST) qdel(lostimplant) return ..() diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index d5882f0afa2..d2419248440 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -22,7 +22,7 @@ /obj/item/implantcase/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on the side of [src]!") + to_chat(user, span_notice("You scribble illegibly on the side of [src]!")) return var/t = stripped_input(user, "What would you like the label to be?", name, null) if(user.get_active_held_item() != W) diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index d25fc7cae48..d9623222d8c 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -91,12 +91,12 @@ if(istype(I, /obj/item/implant)) var/obj/item/implant/P = I if(P.implant(M)) - visible_message("[M] is implanted by [src].") + visible_message(span_warning("[M] is implanted by [src].")) return TRUE else if(istype(I, /obj/item/organ)) var/obj/item/organ/P = I P.Insert(M, FALSE, FALSE) - visible_message("[M] is implanted by [src].") + visible_message(span_warning("[M] is implanted by [src].")) return TRUE /obj/machinery/implantchair/update_icon_state() @@ -127,20 +127,20 @@ /obj/machinery/implantchair/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open) return - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/implantchair/relaymove(mob/living/user, direction) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) /obj/machinery/implantchair/MouseDrop_T(mob/target, mob/user) diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index bb97a609cea..29e353adfd0 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -24,25 +24,25 @@ return if(user && imp) if(M != user) - M.visible_message("[user] is attempting to implant [M].") + M.visible_message(span_warning("[user] is attempting to implant [M].")) var/turf/T = get_turf(M) if(T && (M == user || do_mob(user, M, 50))) if(src && imp) if(imp.implant(M, user)) if (M == user) - to_chat(user, "You implant yourself.") + to_chat(user, span_notice("You implant yourself.")) else - M.visible_message("[user] implants [M].", "[user] implants you.") + M.visible_message(span_notice("[user] implants [M]."), span_notice("[user] implants you.")) imp = null update_appearance() else - to_chat(user, "[src] fails to implant [M].") + to_chat(user, span_warning("[src] fails to implant [M].")) /obj/item/implanter/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You prod at [src] with [W]!") + to_chat(user, span_notice("You prod at [src] with [W]!")) return var/t = stripped_input(user, "What would you like the label to be?", name, null) if(user.get_active_held_item() != W) diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index d4dd2fd4501..bc7635a2629 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -20,10 +20,10 @@ if(Adjacent(user)) . += "It [case ? "contains \a [case]" : "is currently empty"]." if(case) - . += "Alt-click to remove [case]." + . += span_info("Alt-click to remove [case].") else if(case) - . += "There seems to be something inside it, but you can't quite tell what from here..." + . += span_warning("There seems to be something inside it, but you can't quite tell what from here...") /obj/item/implantpad/handle_atom_del(atom/A) if(A == case) @@ -37,7 +37,7 @@ if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(!case) - to_chat(user, "There's no implant to remove from [src].") + to_chat(user, span_warning("There's no implant to remove from [src].")) return user.put_in_hands(case) diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index f4f64f591ff..91b8025b71a 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -47,15 +47,15 @@ /obj/item/inducer/proc/cantbeused(mob/user) if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to use [src]!") + to_chat(user, span_warning("You don't have the dexterity to use [src]!")) return TRUE if(!cell) - to_chat(user, "[src] doesn't have a power cell installed!") + to_chat(user, span_warning("[src] doesn't have a power cell installed!")) return TRUE if(!cell.charge) - to_chat(user, "[src]'s battery is dead!") + to_chat(user, span_warning("[src]'s battery is dead!")) return TRUE return FALSE @@ -64,12 +64,12 @@ if(W.tool_behaviour == TOOL_SCREWDRIVER) W.play_tool_sound(src) if(!opened) - to_chat(user, "You unscrew the battery compartment.") + to_chat(user, span_notice("You unscrew the battery compartment.")) opened = TRUE update_appearance() return else - to_chat(user, "You close the battery compartment.") + to_chat(user, span_notice("You close the battery compartment.")) opened = FALSE update_appearance() return @@ -78,12 +78,12 @@ if(!cell) if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You insert [W] into [src].") + to_chat(user, span_notice("You insert [W] into [src].")) cell = W update_appearance() return else - to_chat(user, "[src] already has \a [cell] installed!") + to_chat(user, span_warning("[src] already has \a [cell] installed!")) return if(cantbeused(user)) @@ -105,20 +105,20 @@ var/obj/O var/coefficient = 1 if(istype(A, /obj/item/gun/energy)) - to_chat(user, "Error unable to interface with device.") + to_chat(user, span_alert("Error unable to interface with device.")) return FALSE if(istype(A, /obj/item/clothing/suit/space)) - to_chat(user, "Error unable to interface with device.") + to_chat(user, span_alert("Error unable to interface with device.")) return FALSE if(istype(A, /obj)) O = A if(C) var/done_any = FALSE if(C.charge >= C.maxcharge) - to_chat(user, "[A] is fully charged!") + to_chat(user, span_notice("[A] is fully charged!")) recharging = FALSE return TRUE - user.visible_message("[user] starts recharging [A] with [src].", "You start recharging [A] with [src].") + user.visible_message(span_notice("[user] starts recharging [A] with [src]."), span_notice("You start recharging [A] with [src].")) while(C.charge < C.maxcharge) if(do_after(user, 10, target = user) && cell.charge) done_any = TRUE @@ -129,7 +129,7 @@ else break if(done_any) // Only show a message if we succeeded at least once - user.visible_message("[user] recharged [A]!", "You recharged [A]!") + user.visible_message(span_notice("[user] recharged [A]!"), span_notice("You recharged [A]!")) recharging = FALSE return TRUE recharging = FALSE @@ -149,7 +149,7 @@ /obj/item/inducer/attack_self(mob/user) if(opened && cell) - user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].") + user.visible_message(span_notice("[user] removes [cell] from [src]!"), span_notice("You remove [cell].")) cell.update_appearance() user.put_in_hands(cell) cell = null @@ -159,11 +159,11 @@ /obj/item/inducer/examine(mob/living/M) . = ..() if(cell) - . += "Its display shows: [DisplayEnergy(cell.charge)]." + . += span_notice("Its display shows: [DisplayEnergy(cell.charge)].") else - . += "Its display is dark." + . += span_notice("Its display is dark.") if(opened) - . += "Its battery compartment is open." + . += span_notice("Its battery compartment is open.") /obj/item/inducer/update_overlays() . = ..() diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index d14924ce42d..f97b58870b3 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -45,7 +45,7 @@ AddElement(/datum/element/eyestab) /obj/item/kitchen/fork/suicide_act(mob/living/carbon/user) - user.visible_message("[user] stabs \the [src] into [user.p_their()] chest! It looks like [user.p_theyre()] trying to take a bite out of [user.p_them()]self!") + user.visible_message(span_suicide("[user] stabs \the [src] into [user.p_their()] chest! It looks like [user.p_theyre()] trying to take a bite out of [user.p_them()]self!")) playsound(src, 'sound/items/eatfood.ogg', 50, TRUE) return BRUTELOSS @@ -55,10 +55,10 @@ if(forkload) if(M == user) - M.visible_message("[user] eats a delicious forkful of omelette!") + M.visible_message(span_notice("[user] eats a delicious forkful of omelette!")) M.reagents.add_reagent(forkload.type, 1) else - M.visible_message("[user] feeds [M] a delicious forkful of omelette!") + M.visible_message(span_notice("[user] feeds [M] a delicious forkful of omelette!")) M.reagents.add_reagent(forkload.type, 1) icon_state = "fork" forkload = null @@ -112,9 +112,9 @@ AddComponent(/datum/component/butchering, 80 - force, 100, force - 10) //bonus chance increases depending on force /obj/item/kitchen/knife/suicide_act(mob/user) - user.visible_message(pick("[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \ - "[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.", \ - "[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku.")) + user.visible_message(pick(span_suicide("[user] is slitting [user.p_their()] wrists with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide."), \ + span_suicide("[user] is slitting [user.p_their()] throat with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide."), \ + span_suicide("[user] is slitting [user.p_their()] stomach open with the [src.name]! It looks like [user.p_theyre()] trying to commit seppuku."))) return (BRUTELOSS) /obj/item/kitchen/knife/plastic @@ -258,7 +258,7 @@ custom_materials = null /obj/item/kitchen/knife/shiv/carrot/suicide_act(mob/living/carbon/user) - user.visible_message("[user] forcefully drives \the [src] into [user.p_their()] eye! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] forcefully drives \the [src] into [user.p_their()] eye! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/kitchen/rollingpin @@ -278,7 +278,7 @@ tool_behaviour = TOOL_ROLLINGPIN /obj/item/kitchen/rollingpin/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins flattening [user.p_their()] head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins flattening [user.p_their()] head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /* Trays moved to /obj/item/storage/bag */ diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 41141100ffe..86c531d8030 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -21,7 +21,7 @@ icon_state = "latexballon_blow" inhand_icon_state = "latexballon" user.update_inv_hands() - to_chat(user, "You blow up [src] with [tank].") + to_chat(user, span_notice("You blow up [src] with [tank].")) air_contents = tank.remove_air_volume(3) /obj/item/latexballon/should_atmos_process(datum/gas_mixture/air, exposed_temperature) diff --git a/code/game/objects/items/mail.dm b/code/game/objects/items/mail.dm index c936b5fdb24..f4663ff4fd1 100644 --- a/code/game/objects/items/mail.dm +++ b/code/game/objects/items/mail.dm @@ -104,16 +104,16 @@ if(sort_tag != destination_tag.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[destination_tag.currTag]) - to_chat(user, "*[tag]*") + to_chat(user, span_notice("*[tag]*")) sort_tag = destination_tag.currTag playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE) /obj/item/mail/attack_self(mob/user) if(recipient && user != recipient) - to_chat(user, "You can't open somebody else's mail! That's illegal!") + to_chat(user, span_notice("You can't open somebody else's mail! That's illegal!")) return - to_chat(user, "You start to unwrap the package...") + to_chat(user, span_notice("You start to unwrap the package...")) if(!do_after(user, 1.5 SECONDS, target = user)) return user.temporarilyRemoveItemFromInventory(src, TRUE) @@ -124,12 +124,12 @@ /obj/item/mail/examine_more(mob/user) . = ..() - var/list/msg = list("You notice the postmarking on the front of the mail...") + var/list/msg = list(span_notice("You notice the postmarking on the front of the mail...")) if(recipient) - msg += "\tCertified NT mail for [recipient]." + msg += "\t[span_info("Certified NT mail for [recipient].")]" else - msg += "\tCertified mail for [GLOB.station_name]." - msg += "\tDistribute by hand or via destination tagger using the certified NT disposal system." + msg += "\t[span_info("Certified mail for [GLOB.station_name].")]" + msg += "\t[span_info("Distribute by hand or via destination tagger using the certified NT disposal system.")]" return msg /// Accepts a mob to initialize goodies for a piece of mail. diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm index b921bdbf160..b502a1fbed0 100644 --- a/code/game/objects/items/manuals.dm +++ b/code/game/objects/items/manuals.dm @@ -311,7 +311,7 @@ page_link = "Space_Law" /obj/item/book/manual/wiki/security_space_law/suicide_act(mob/living/user) - user.visible_message("[user] pretends to read \the [src] intently... then promptly dies of laughter!") + user.visible_message(span_suicide("[user] pretends to read \the [src] intently... then promptly dies of laughter!")) return OXYLOSS /obj/item/book/manual/wiki/infections @@ -422,7 +422,7 @@ /obj/item/book/manual/wiki/toxins/suicide_act(mob/user) var/mob/living/carbon/human/H = user - user.visible_message("[user] starts dancing to the Rhumba Beat! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] starts dancing to the Rhumba Beat! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/effects/spray.ogg', 10, TRUE, -3) if (!QDELETED(H)) H.emote("spin") diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index ba668bc03a1..81ca7b24873 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -23,7 +23,7 @@ /obj/item/melee/transforming/energy/suicide_act(mob/user) if(!active) transform_weapon(user, TRUE) - user.visible_message("[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku!") + user.visible_message(span_suicide("[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku!")) return (BRUTELOSS|FIRELOSS) /obj/item/melee/transforming/energy/add_blood_DNA(list/blood_dna) @@ -59,7 +59,7 @@ var/mob/living/carbon/C = user if(C.wear_mask) in_mouth = ", barely missing [C.p_their()] nose" - . = "[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [A.name] in the process." + . = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [A.name] in the process.") playsound(loc, hitsound, get_clamped_volume(), TRUE, -1) add_fingerprint(user) @@ -85,7 +85,7 @@ light_color = LIGHT_COLOR_LIGHT_CYAN /obj/item/melee/transforming/energy/axe/suicide_act(mob/user) - user.visible_message("[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS|FIRELOSS) /obj/item/melee/transforming/energy/sword @@ -124,7 +124,7 @@ var/obj/item/stock_parts/cell/C = R.cell if(active && !(C.use(hitcost))) attack_self(R) - to_chat(R, "It's out of charge!") + to_chat(R, span_notice("It's out of charge!")) return return ..() @@ -187,13 +187,13 @@ if(!hacked) hacked = TRUE sword_color = "rainbow" - to_chat(user, "RNBW_ENGAGE") + to_chat(user, span_warning("RNBW_ENGAGE")) if(active) icon_state = "swordrainbow" user.update_inv_hands() else - to_chat(user, "It's already fabulous!") + to_chat(user, span_warning("It's already fabulous!")) else return ..() diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index c7939d9cf3e..0488f18555f 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -3,8 +3,8 @@ /obj/item/melee/proc/check_martial_counter(mob/living/carbon/human/target, mob/living/carbon/human/user) if(target.check_block()) - target.visible_message("[target.name] blocks [src] and twists [user]'s arm behind [user.p_their()] back!", - "You block the attack!") + target.visible_message(span_danger("[target.name] blocks [src] and twists [user]'s arm behind [user.p_their()] back!"), + span_userdanger("You block the attack!")) user.Stun(40) return TRUE @@ -30,7 +30,7 @@ custom_materials = list(/datum/material/iron = 1000) /obj/item/melee/chainofcommand/suicide_act(mob/user) - user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) /obj/item/melee/synthetic_arm_blade @@ -95,7 +95,7 @@ playsound(B, 'sound/items/sheath.ogg', 25, TRUE) /obj/item/melee/sabre/suicide_act(mob/living/user) - user.visible_message("[user] is trying to cut off all [user.p_their()] limbs with [src]! it looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is trying to cut off all [user.p_their()] limbs with [src]! it looks like [user.p_theyre()] trying to commit suicide!")) var/i = 0 ADD_TRAIT(src, TRAIT_NODROP, SABRE_SUICIDE_TRAIT) if(iscarbon(user)) @@ -167,7 +167,7 @@ H.reagents.add_reagent(/datum/reagent/toxin, 4) /obj/item/melee/beesword/suicide_act(mob/living/user) - user.visible_message("[user] is stabbing [user.p_them()]self in the throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is stabbing [user.p_them()]self in the throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(get_turf(src), hitsound, 75, TRUE, -1) return TOXLOSS @@ -209,7 +209,7 @@ . = ..() // Adding an extra break for the sake of presentation if(stamina_damage != 0) - offensive_notes = "\nVarious interviewed security forces report being able to beat criminals into exhaustion with only [round(100 / stamina_damage, 0.1)] hit\s!" + offensive_notes = "\nVarious interviewed security forces report being able to beat criminals into exhaustion with only [span_warning("[round(100 / stamina_damage, 0.1)] hit\s!")]" // Description for trying to stun when still on cooldown. /obj/item/melee/classic_baton/proc/get_wait_description() @@ -237,8 +237,8 @@ /obj/item/melee/classic_baton/proc/get_silicon_stun_description(mob/living/target, mob/living/user) . = list() - .["visible"] = "[user] pulses [target]'s sensors with the baton!" - .["local"] = "You pulse [target]'s sensors with the baton!" + .["visible"] = span_danger("[user] pulses [target]'s sensors with the baton!") + .["local"] = span_danger("You pulse [target]'s sensors with the baton!") return . @@ -365,7 +365,7 @@ var/mob/living/carbon/human/H = user var/obj/item/organ/brain/B = H.getorgan(/obj/item/organ/brain) - user.visible_message("[user] stuffs [src] up [user.p_their()] nose and presses the 'extend' button! It looks like [user.p_theyre()] trying to clear [user.p_their()] mind.") + user.visible_message(span_suicide("[user] stuffs [src] up [user.p_their()] nose and presses the 'extend' button! It looks like [user.p_theyre()] trying to clear [user.p_their()] mind.")) if(!on) src.attack_self(user) else @@ -431,7 +431,7 @@ weight_class_on = WEIGHT_CLASS_NORMAL /obj/item/melee/classic_baton/telescopic/contractor_baton/get_wait_description() - return "The baton is still charging!" + return span_danger("The baton is still charging!") /obj/item/melee/classic_baton/telescopic/contractor_baton/additional_effects_carbon(mob/living/target, mob/living/user) target.Jitter(20) @@ -459,7 +459,7 @@ qdel(shard.countdown) shard.countdown = null START_PROCESSING(SSobj, src) - visible_message("[src] appears, balanced ever so perfectly on its hilt. This isn't ominous at all.") + visible_message(span_warning("[src] appears, balanced ever so perfectly on its hilt. This isn't ominous at all.")) /obj/item/melee/supermatter_sword/process() if(balanced || throwing || ismob(src.loc) || isnull(src.loc)) @@ -494,25 +494,25 @@ /obj/item/melee/supermatter_sword/ex_act(severity, target) visible_message( - "The blast wave smacks into [src] and rapidly flashes to ash.", - "You hear a loud crack as you are washed with a wave of heat." + span_danger("The blast wave smacks into [src] and rapidly flashes to ash."), + span_hear("You hear a loud crack as you are washed with a wave of heat.") ) consume_everything() /obj/item/melee/supermatter_sword/acid_act() - visible_message("The acid smacks into [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") + visible_message(span_danger("The acid smacks into [src] and rapidly flashes to ash."),\ + span_hear("You hear a loud crack as you are washed with a wave of heat.")) consume_everything() return TRUE /obj/item/melee/supermatter_sword/bullet_act(obj/projectile/P) - visible_message("[P] smacks into [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") + visible_message(span_danger("[P] smacks into [src] and rapidly flashes to ash."),\ + span_hear("You hear a loud crack as you are washed with a wave of heat.")) consume_everything(P) return BULLET_ACT_HIT /obj/item/melee/supermatter_sword/suicide_act(mob/user) - user.visible_message("[user] touches [src]'s blade. It looks like [user.p_theyre()] tired of waiting for the radiation to kill [user.p_them()]!") + user.visible_message(span_suicide("[user] touches [src]'s blade. It looks like [user.p_theyre()] tired of waiting for the radiation to kill [user.p_them()]!")) user.dropItemToGround(src, TRUE) shard.Bumped(user) @@ -530,8 +530,8 @@ if(newT.type == oldtype) return playsound(T, 'sound/effects/supermatter.ogg', 50, TRUE) - T.visible_message("[T] smacks into [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") + T.visible_message(span_danger("[T] smacks into [src] and rapidly flashes to ash."),\ + span_hear("You hear a loud crack as you are washed with a wave of heat.")) shard.Consume() /obj/item/melee/supermatter_sword/add_blood_DNA(list/blood_dna) @@ -557,7 +557,7 @@ if(ishuman(target) && proximity_flag) var/mob/living/carbon/human/H = target H.drop_all_held_items() - H.visible_message("[user] disarms [H]!", "[user] disarmed you!") + H.visible_message(span_danger("[user] disarms [H]!"), span_userdanger("[user] disarmed you!")) /obj/item/melee/roastingstick name = "advanced roasting stick" @@ -587,7 +587,7 @@ extend(user) else if (held_sausage) - to_chat(user, "You can't retract [src] while [held_sausage] is attached!") + to_chat(user, span_warning("You can't retract [src] while [held_sausage] is attached!")) return retract(user) @@ -598,15 +598,15 @@ ..() if (istype(target, /obj/item/food/sausage)) if (!on) - to_chat(user, "You must extend [src] to attach anything to it!") + to_chat(user, span_warning("You must extend [src] to attach anything to it!")) return if (held_sausage) - to_chat(user, "[held_sausage] is already attached to [src]!") + to_chat(user, span_warning("[held_sausage] is already attached to [src]!")) return if (user.transferItemToLoc(target, src)) held_sausage = target else - to_chat(user, "[target] doesn't seem to want to get on [src]!") + to_chat(user, span_warning("[target] doesn't seem to want to get on [src]!")) update_appearance() /obj/item/melee/roastingstick/attack_hand(mob/user, list/modifiers) @@ -622,13 +622,13 @@ . += mutable_appearance(icon, "roastingstick_sausage") /obj/item/melee/roastingstick/proc/extend(user) - to_chat(user, "You extend [src].") + to_chat(user, span_warning("You extend [src].")) icon_state = "roastingstick_1" inhand_icon_state = "nullrod" w_class = WEIGHT_CLASS_BULKY /obj/item/melee/roastingstick/proc/retract(user) - to_chat(user, "You collapse [src].") + to_chat(user, span_notice("You collapse [src].")) icon_state = "roastingstick_0" inhand_icon_state = null w_class = WEIGHT_CLASS_SMALL @@ -644,14 +644,14 @@ return if (is_type_in_typecache(target, ovens)) if (held_sausage?.roasted) - to_chat("Your [held_sausage] has already been cooked!") + to_chat(span_warning("Your [held_sausage] has already been cooked!")) return if (istype(target, /obj/singularity) && get_dist(user, target) < 10) - to_chat(user, "You send [held_sausage] towards [target].") + to_chat(user, span_notice("You send [held_sausage] towards [target].")) playsound(src, 'sound/items/rped.ogg', 50, TRUE) beam = user.Beam(target,icon_state="rped_upgrade", time = 10 SECONDS) else if (user.Adjacent(target)) - to_chat(user, "You extend [src] towards [target].") + to_chat(user, span_notice("You extend [src] towards [target].")) playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, TRUE) else return @@ -662,7 +662,7 @@ playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) /obj/item/melee/roastingstick/proc/finish_roasting(user, atom/target) - to_chat(user, "You finish roasting [held_sausage].") + to_chat(user, span_notice("You finish roasting [held_sausage].")) playsound(src,'sound/items/welder2.ogg',50,TRUE) held_sausage.add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) held_sausage.name = "[target.name]-roasted [held_sausage.name]" diff --git a/code/game/objects/items/melee/transforming.dm b/code/game/objects/items/melee/transforming.dm index e2a49929a98..6e8bf4fda43 100644 --- a/code/game/objects/items/melee/transforming.dm +++ b/code/game/objects/items/melee/transforming.dm @@ -84,11 +84,11 @@ /obj/item/melee/transforming/proc/transform_messages(mob/living/user, supress_message_text) playsound(user, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) //changed it from 50% volume to 35% because deafness if(!supress_message_text) - to_chat(user, "[src] [active ? "is now active":"can now be concealed"].") + to_chat(user, span_notice("[src] [active ? "is now active":"can now be concealed"].")) /obj/item/melee/transforming/proc/clumsy_transform_effect(mob/living/user) if(clumsy_check && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "You accidentally cut yourself with [src], like a doofus!") + to_chat(user, span_warning("You accidentally cut yourself with [src], like a doofus!")) user.take_bodypart_damage(5,5) /obj/item/melee/transforming/proc/on_sharpen(datum/source, increment, max) diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 61fd26d3167..4bd6c9f00de 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -33,7 +33,7 @@ if(!uses) qdel(src) else - to_chat(M, "[uses] use[uses > 1 ? "s" : ""] remaining on the [src].") + to_chat(M, span_notice("[uses] use[uses > 1 ? "s" : ""] remaining on the [src].")) /obj/item/choice_beacon/proc/spawn_option(obj/choice,mob/living/M) podspawn(list( @@ -45,7 +45,7 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(istype(H.ears, /obj/item/radio/headset)) - msg = "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows: Item request received. Your package is inbound, please stand back from the landing site. Message ends.\"" + msg = "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows: [span_bold("Item request received. Your package is inbound, please stand back from the landing site.")] Message ends.\"" to_chat(M, msg) /obj/item/choice_beacon/ingredient @@ -62,7 +62,7 @@ /obj/item/choice_beacon/ingredient/spawn_option(obj/choice,mob/living/M) new choice(get_turf(M)) - to_chat(M, "You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from Sophronia Broadcasting. Message as follows: Please enjoy your Sophronia Broadcasting's 'Plasteel Chef' Ingredients Box, exactly as shown in the hit show! Message ends.\"") + to_chat(M, span_hear("You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from Sophronia Broadcasting. Message as follows: Please enjoy your Sophronia Broadcasting's 'Plasteel Chef' Ingredients Box, exactly as shown in the hit show! Message ends.\"")) /obj/item/storage/box/ingredients //This box is for the randomly chosen version the chef used to spawn with, it shouldn't actually exist. name = "ingredients box" @@ -230,7 +230,7 @@ /obj/item/choice_beacon/hero/spawn_option(obj/choice,mob/living/M) new choice(get_turf(M)) - to_chat(M, "You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from Sophronia Broadcasting. Message as follows: Please enjoy your Sophronia Broadcasting's 'History Comes Alive branded' Costume Set, exactly as shown in the hit show! Message ends.\"") + to_chat(M, span_hear("You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from Sophronia Broadcasting. Message as follows: Please enjoy your Sophronia Broadcasting's 'History Comes Alive branded' Costume Set, exactly as shown in the hit show! Message ends.\"")) /obj/item/storage/box/hero @@ -297,7 +297,7 @@ /obj/item/choice_beacon/augments/spawn_option(obj/choice,mob/living/M) new choice(get_turf(M)) - to_chat(M, "You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from S.E.L.F. Message as follows: Item request received. Your package has been transported, use the autosurgeon supplied to apply the upgrade. Message ends.\"") + to_chat(M, span_hear("You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from S.E.L.F. Message as follows: Item request received. Your package has been transported, use the autosurgeon supplied to apply the upgrade. Message ends.\"")) /obj/item/skub desc = "It's skub." @@ -313,7 +313,7 @@ AddComponent(/datum/component/container_item/tank_holder, "holder_skub", FALSE) /obj/item/skub/suicide_act(mob/living/user) - user.visible_message("[user] has declared themself as anti-skub! The skub tears them apart!") + user.visible_message(span_suicide("[user] has declared themself as anti-skub! The skub tears them apart!")) user.gib() playsound(src, 'sound/items/eatfood.ogg', 50, TRUE, -1) @@ -344,10 +344,10 @@ var/mob/living/joe = user if(joe in mob_mobs) //Only one nickname fuckhead - to_chat(joe, "You have already been initiated into the mafioso life.") + to_chat(joe, span_warning("You have already been initiated into the mafioso life.")) return - to_chat(joe, "As you burn the picture, a nickname comes to mind...") + to_chat(joe, span_notice("As you burn the picture, a nickname comes to mind...")) var/nickname = stripped_input(joe, "Pick a nickname", "Mafioso Nicknames", null, NICKNAME_CAP, TRUE) nickname = reject_bad_name(nickname, allow_numbers = FALSE, max_length = NICKNAME_CAP, ascii_only = TRUE) if(!nickname) @@ -362,12 +362,12 @@ used_up = TRUE mob_mobs += joe joe.say("My soul will burn like this saint if I betray my family. I enter alive and I will have to get out dead.", forced = /obj/item/virgin_mary) - to_chat(joe, "Being inducted into the mafia does not grant antagonist status.") + to_chat(joe, span_userdanger("Being inducted into the mafia does not grant antagonist status.")) #undef NICKNAME_CAP /obj/item/virgin_mary/suicide_act(mob/living/user) - user.visible_message("[user] starts saying their Hail Mary's at a terrifying pace! It looks like [user.p_theyre()] trying to enter the afterlife!") + user.visible_message(span_suicide("[user] starts saying their Hail Mary's at a terrifying pace! It looks like [user.p_theyre()] trying to enter the afterlife!")) user.say("Hail Mary, full of grace, the Lord is with thee. Blessed are thou amongst women, and blessed is the fruit of thy womb, Jesus. Holy Mary, mother of God, pray for us sinners, now and at the hour of our death. Amen. ", forced = /obj/item/virgin_mary) addtimer(CALLBACK(src, .proc/manual_suicide, user), 75) addtimer(CALLBACK(user, /atom/movable/proc/say, "O my Mother, preserve me this day from mortal sin..."), 50) diff --git a/code/game/objects/items/mop.dm b/code/game/objects/items/mop.dm index 13ce5e02f70..52ac29fd8ce 100644 --- a/code/game/objects/items/mop.dm +++ b/code/game/objects/items/mop.dm @@ -48,7 +48,7 @@ return if(reagents.total_volume < 0.1) - to_chat(user, "Your mop is dry!") + to_chat(user, span_warning("Your mop is dry!")) return var/turf/T = get_turf(A) @@ -57,12 +57,12 @@ return if(T) - user.visible_message("[user] begins to clean \the [T] with [src].", "You begin to clean \the [T] with [src]...") + user.visible_message(span_notice("[user] begins to clean \the [T] with [src]."), span_notice("You begin to clean \the [T] with [src]...")) var/clean_speedies = 1 if(user.mind) clean_speedies = user.mind.get_skill_modifier(/datum/skill/cleaning, SKILL_SPEED_MODIFIER) if(do_after(user, mopspeed*clean_speedies, target = T)) - to_chat(user, "You finish mopping.") + to_chat(user, span_notice("You finish mopping.")) clean(T, user) @@ -79,7 +79,7 @@ J.mymop=src J.update_appearance() else - to_chat(user, "You are unable to fit your [name] into the [J.name].") + to_chat(user, span_warning("You are unable to fit your [name] into the [J.name].")) return /obj/item/mop/cyborg @@ -112,7 +112,7 @@ START_PROCESSING(SSobj, src) else STOP_PROCESSING(SSobj,src) - to_chat(user, "You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position.") + to_chat(user, span_notice("You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position.")) playsound(user, 'sound/machines/click.ogg', 30, TRUE) /obj/item/mop/advanced/process(delta_time) @@ -122,7 +122,7 @@ /obj/item/mop/advanced/examine(mob/user) . = ..() - . += "The condenser switch is set to [refill_enabled ? "ON" : "OFF"]." + . += span_notice("The condenser switch is set to [refill_enabled ? "ON" : "OFF"].") /obj/item/mop/advanced/Destroy() if(refill_enabled) diff --git a/code/game/objects/items/paiwire.dm b/code/game/objects/items/paiwire.dm index 1e14be9a385..f9ba79253ef 100644 --- a/code/game/objects/items/paiwire.dm +++ b/code/game/objects/items/paiwire.dm @@ -14,5 +14,5 @@ /obj/item/pai_cable/proc/plugin(obj/machinery/M, mob/living/user) if(!user.transferItemToLoc(src, M)) return - user.visible_message("[user] inserts [src] into a data port on [M].", "You insert [src] into a data port on [M].", "You hear the satisfying click of a wire jack fastening into place.") + user.visible_message(span_notice("[user] inserts [src] into a data port on [M]."), span_notice("You insert [src] into a data port on [M]."), span_hear("You hear the satisfying click of a wire jack fastening into place.")) machine = M diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 1d0f8bb765a..f799ea266df 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -49,24 +49,24 @@ if(occupants.len) for(var/V in occupants) var/mob/living/L = V - . += "It has [L] inside." + . += span_notice("It has [L] inside.") else - . += "It has nothing inside." + . += span_notice("It has nothing inside.") if(user.canUseTopic(src)) - . += "Activate it in your hand to [open ? "close" : "open"] its door." + . += span_notice("Activate it in your hand to [open ? "close" : "open"] its door.") if(!open) - . += "Alt-click to [locked ? "unlock" : "lock"] its door." + . += span_notice("Alt-click to [locked ? "unlock" : "lock"] its door.") /obj/item/pet_carrier/attack_self(mob/living/user) if(open) - to_chat(user, "You close [src]'s door.") + to_chat(user, span_notice("You close [src]'s door.")) playsound(user, 'sound/effects/bin_close.ogg', 50, TRUE) open = FALSE else if(locked) - to_chat(user, "[src] is locked!") + to_chat(user, span_warning("[src] is locked!")) return - to_chat(user, "You open [src]'s door.") + to_chat(user, span_notice("You open [src]'s door.")) playsound(user, 'sound/effects/bin_open.ogg', 50, TRUE) open = TRUE update_appearance() @@ -75,7 +75,7 @@ if(open || !user.canUseTopic(src, BE_CLOSE)) return locked = !locked - to_chat(user, "You flip the lock switch [locked ? "down" : "up"].") + to_chat(user, span_notice("You flip the lock switch [locked ? "down" : "up"].")) if(locked) playsound(user, 'sound/machines/boltsdown.ogg', 30, TRUE) else @@ -86,32 +86,32 @@ if(user.combat_mode) return ..() if(!open) - to_chat(user, "You need to open [src]'s door!") + to_chat(user, span_warning("You need to open [src]'s door!")) return if(target.mob_size > max_occupant_weight) if(ishuman(target)) var/mob/living/carbon/human/H = target if(isfelinid(H)) - to_chat(user, "You'd need a lot of catnip and treats, plus maybe a laser pointer, for that to work.") + to_chat(user, span_warning("You'd need a lot of catnip and treats, plus maybe a laser pointer, for that to work.")) else - to_chat(user, "Humans, generally, do not fit into pet carriers.") + to_chat(user, span_warning("Humans, generally, do not fit into pet carriers.")) else - to_chat(user, "You get the feeling [target] isn't meant for a [name].") + to_chat(user, span_warning("You get the feeling [target] isn't meant for a [name].")) return if(user == target) - to_chat(user, "Why would you ever do that?") + to_chat(user, span_warning("Why would you ever do that?")) return load_occupant(user, target) /obj/item/pet_carrier/relaymove(mob/living/user, direction) if(open) - loc.visible_message("[user] climbs out of [src]!", \ - "[user] jumps out of [src]!") + loc.visible_message(span_notice("[user] climbs out of [src]!"), \ + span_warning("[user] jumps out of [src]!")) remove_occupant(user) return else if(!locked) - loc.visible_message("[user] pushes open the door to [src]!", \ - "[user] pushes open the door of [src]!") + loc.visible_message(span_notice("[user] pushes open the door to [src]!"), \ + span_warning("[user] pushes open the door of [src]!")) open = TRUE update_appearance() return @@ -122,22 +122,22 @@ user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT if(user.mob_size <= MOB_SIZE_SMALL) - to_chat(user, "You poke a limb through [src]'s bars and start fumbling for the lock switch... (This will take some time.)") - to_chat(loc, "You see [user] reach through the bars and fumble for the lock switch!") + to_chat(user, span_notice("You poke a limb through [src]'s bars and start fumbling for the lock switch... (This will take some time.)")) + to_chat(loc, span_warning("You see [user] reach through the bars and fumble for the lock switch!")) if(!do_after(user, rand(300, 400), target = user) || open || !locked || !(user in occupants)) return - loc.visible_message("[user] flips the lock switch on [src] by reaching through!", null, null, null, user) - to_chat(user, "Bingo! The lock pops open!") + loc.visible_message(span_warning("[user] flips the lock switch on [src] by reaching through!"), null, null, null, user) + to_chat(user, span_boldannounce("Bingo! The lock pops open!")) locked = FALSE playsound(src, 'sound/machines/boltsup.ogg', 30, TRUE) 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.)") + loc.visible_message(span_warning("[src] starts rattling as something pushes against the door!"), null, null, null, user) + to_chat(user, span_notice("You start pushing out of [src]... (This will take about 20 seconds.)")) if(!do_after(user, 200, target = user) || open || !locked || !(user in occupants)) return - loc.visible_message("[user] shoves out of [src]!", null, null, null, user) - to_chat(user, "You shove open [src]'s door against the lock's resistance and fall out!") + loc.visible_message(span_warning("[user] shoves out of [src]!"), null, null, null, user) + to_chat(user, span_notice("You shove open [src]'s door against the lock's resistance and fall out!")) locked = FALSE open = TRUE update_appearance() @@ -158,28 +158,28 @@ /obj/item/pet_carrier/MouseDrop(atom/over_atom) . = ..() if(isopenturf(over_atom) && usr.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(usr)) && usr.Adjacent(over_atom) && open && occupants.len) - usr.visible_message("[usr] unloads [src].", \ - "You unload [src] onto [over_atom].") + usr.visible_message(span_notice("[usr] unloads [src]."), \ + span_notice("You unload [src] onto [over_atom].")) for(var/V in occupants) remove_occupant(V, over_atom) /obj/item/pet_carrier/proc/load_occupant(mob/living/user, mob/living/target) if(pet_carrier_full(src)) - to_chat(user, "[src] is already carrying too much!") + to_chat(user, span_warning("[src] is already carrying too much!")) return - user.visible_message("[user] starts loading [target] into [src].", \ - "You start loading [target] into [src]...", null, null, target) - to_chat(target, "[user] starts loading you into [user.p_their()] [name]!") + user.visible_message(span_notice("[user] starts loading [target] into [src]."), \ + span_notice("You start loading [target] into [src]..."), null, null, target) + to_chat(target, span_userdanger("[user] starts loading you into [user.p_their()] [name]!")) if(!do_mob(user, target, 30)) return if(target in occupants) return if(pet_carrier_full(src)) //Run the checks again, just in case - to_chat(user, "[src] is already carrying too much!") + to_chat(user, span_warning("[src] is already carrying too much!")) return - user.visible_message("[user] loads [target] into [src]!", \ - "You load [target] into [src].", null, null, target) - to_chat(target, "[user] loads you into [user.p_their()] [name]!") + user.visible_message(span_notice("[user] loads [target] into [src]!"), \ + span_notice("You load [target] into [src]."), null, null, target) + to_chat(target, span_userdanger("[user] loads you into [user.p_their()] [name]!")) add_occupant(target) /obj/item/pet_carrier/proc/add_occupant(mob/living/occupant) diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index e57e7bb5d8e..072dc87cbd1 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -35,7 +35,7 @@ if(!process_scan) //since it's not scanning on process, it scans here. scan_for_target() toggle_on() - user.visible_message("[user] [active ? "" : "de"]activates [user.p_their()] pinpointer.", "You [active ? "" : "de"]activate your pinpointer.") + user.visible_message(span_notice("[user] [active ? "" : "de"]activates [user.p_their()] pinpointer."), span_notice("You [active ? "" : "de"]activate your pinpointer.")) /obj/item/pinpointer/proc/toggle_on() active = !active @@ -111,14 +111,14 @@ /obj/item/pinpointer/crew/attack_self(mob/living/user) if(active) toggle_on() - user.visible_message("[user] deactivates [user.p_their()] pinpointer.", "You deactivate your pinpointer.") + user.visible_message(span_notice("[user] deactivates [user.p_their()] pinpointer."), span_notice("You deactivate your pinpointer.")) return if (has_owner && !pinpointer_owner) pinpointer_owner = user if (pinpointer_owner && pinpointer_owner != user) - to_chat(user, "The pinpointer doesn't respond. It seems to only recognise its owner.") + to_chat(user, span_notice("The pinpointer doesn't respond. It seems to only recognise its owner.")) return var/list/name_counts = list() @@ -142,7 +142,7 @@ name_counts[crewmember_name] = 1 if(!names.len) - user.visible_message("[user]'s pinpointer fails to detect a signal.", "Your pinpointer fails to detect a signal.") + user.visible_message(span_notice("[user]'s pinpointer fails to detect a signal."), span_notice("Your pinpointer fails to detect a signal.")) return var/A = input(user, "Person to track", "Pinpoint") in sortList(names) @@ -151,7 +151,7 @@ target = names[A] toggle_on() - user.visible_message("[user] activates [user.p_their()] pinpointer.", "You activate your pinpointer.") + user.visible_message(span_notice("[user] activates [user.p_their()] pinpointer."), span_notice("You activate your pinpointer.")) /obj/item/pinpointer/crew/scan_for_target() if(target) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 8883ecdd0dc..841b5d834e5 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -110,25 +110,25 @@ /obj/item/toy/plush/attack_self(mob/user) . = ..() if(stuffed || grenade) - to_chat(user, "You pet [src]. D'awww.") + to_chat(user, span_notice("You pet [src]. D'awww.")) if(grenade && !grenade.active) log_game("[key_name(user)] activated a hidden grenade in [src].") grenade.arm_grenade(user, msg = FALSE, volume = 10) else - to_chat(user, "You try to pet [src], but it has no stuffing. Aww...") + to_chat(user, span_notice("You try to pet [src], but it has no stuffing. Aww...")) /obj/item/toy/plush/attackby(obj/item/I, mob/living/user, params) if(I.get_sharpness()) if(!grenade) if(!stuffed) - to_chat(user, "You already murdered it!") + to_chat(user, span_warning("You already murdered it!")) return if(!divine) - user.visible_message("[user] tears out the stuffing from [src]!", "You rip a bunch of the stuffing from [src]. Murderer.") + user.visible_message(span_notice("[user] tears out the stuffing from [src]!"), span_notice("You rip a bunch of the stuffing from [src]. Murderer.")) I.play_tool_sound(src) stuffed = FALSE else - to_chat(user, "What a fool you are. [src] is a god, how can you kill a god? What a grand and intoxicating innocence.") + to_chat(user, span_notice("What a fool you are. [src] is a god, how can you kill a god? What a grand and intoxicating innocence.")) if(iscarbon(user)) var/mob/living/carbon/C = user if(C.drunkenness < 50) @@ -136,27 +136,27 @@ var/turf/current_location = get_turf(user) var/area/current_area = current_location.loc //copied from hand tele code if(current_location && current_area && (current_area.area_flags & NOTELEPORT)) - to_chat(user, "There is no escape. No recall or intervention can work in this place.") + to_chat(user, span_notice("There is no escape. No recall or intervention can work in this place.")) else - to_chat(user, "There is no escape. Although recall or intervention can work in this place, attempting to flee from [src]'s immense power would be futile.") - user.visible_message("[user] lays down their weapons and begs for [src]'s mercy!", "You lay down your weapons and beg for [src]'s mercy.") + to_chat(user, span_notice("There is no escape. Although recall or intervention can work in this place, attempting to flee from [src]'s immense power would be futile.")) + user.visible_message(span_notice("[user] lays down their weapons and begs for [src]'s mercy!"), span_notice("You lay down your weapons and beg for [src]'s mercy.")) user.drop_all_held_items() else - to_chat(user, "You remove the grenade from [src].") + to_chat(user, span_notice("You remove the grenade from [src].")) user.put_in_hands(grenade) grenade = null return if(istype(I, /obj/item/grenade)) if(stuffed) - to_chat(user, "You need to remove some stuffing first!") + to_chat(user, span_warning("You need to remove some stuffing first!")) return if(grenade) - to_chat(user, "[src] already has a grenade!") + to_chat(user, span_warning("[src] already has a grenade!")) return if(!user.transferItemToLoc(I, src)) return - user.visible_message("[user] slides [grenade] into [src].", \ - "You slide [I] into [src].") + user.visible_message(span_warning("[user] slides [grenade] into [src]."), \ + span_danger("You slide [I] into [src].")) grenade = I var/turf/grenade_turf = get_turf(src) log_game("[key_name(user)] added a grenade ([I.name]) to [src] at [AREACOORD(grenade_turf)].") @@ -174,19 +174,19 @@ //we are not catholic if(young == TRUE || Kisser.young == TRUE) - user.show_message("[src] plays tag with [Kisser].", MSG_VISUAL, - "They're happy.", NONE) + user.show_message(span_notice("[src] plays tag with [Kisser]."), MSG_VISUAL, + span_notice("They're happy."), NONE) Kisser.cheer_up() cheer_up() //never again else if(Kisser in scorned) //message, visible, alternate message, neither visible nor audible - user.show_message("[src] rejects the advances of [Kisser]!", MSG_VISUAL, - "That didn't feel like it worked.", NONE) + user.show_message(span_notice("[src] rejects the advances of [Kisser]!"), MSG_VISUAL, + span_notice("That didn't feel like it worked."), NONE) else if(src in Kisser.scorned) - user.show_message("[Kisser] realises who [src] is and turns away.", MSG_VISUAL, - "That didn't feel like it worked.", NONE) + user.show_message(span_notice("[Kisser] realises who [src] is and turns away."), MSG_VISUAL, + span_notice("That didn't feel like it worked."), NONE) //first comes love else if(Kisser.lover != src && Kisser.partner != src) //cannot be lovers or married @@ -199,40 +199,40 @@ chance -= duty //do we mate for life? if(prob(chance)) //did we bag a date? - user.visible_message("[user] makes [Kisser] kiss [src]!", - "You make [Kisser] kiss [src]!") + user.visible_message(span_notice("[user] makes [Kisser] kiss [src]!"), + span_notice("You make [Kisser] kiss [src]!")) if(lover) //who cares for the past, we live in the present lover.heartbreak(src) new_lover(Kisser) Kisser.new_lover(src) else - user.show_message("[src] rejects the advances of [Kisser], maybe next time?", MSG_VISUAL, - "That didn't feel like it worked, this time.", NONE) + user.show_message(span_notice("[src] rejects the advances of [Kisser], maybe next time?"), MSG_VISUAL, + span_notice("That didn't feel like it worked, this time."), NONE) //then comes marriage else if(Kisser.lover == src && Kisser.partner != src) //need to be lovers (assumes loving is a two way street) but not married (also assumes similar) - user.visible_message("[user] pronounces [Kisser] and [src] married! D'aw.", - "You pronounce [Kisser] and [src] married!") + user.visible_message(span_notice("[user] pronounces [Kisser] and [src] married! D'aw."), + span_notice("You pronounce [Kisser] and [src] married!")) new_partner(Kisser) Kisser.new_partner(src) //then comes a baby in a baby's carriage, or an adoption in an adoption's orphanage else if(Kisser.partner == src && !plush_child) //the one advancing does not take ownership of the child and we have a one child policy in the toyshop - user.visible_message("[user] is going to break [Kisser] and [src] by bashing them like that.", - "[Kisser] passionately embraces [src] in your hands. Look away you perv!") + user.visible_message(span_notice("[user] is going to break [Kisser] and [src] by bashing them like that."), + span_notice("[Kisser] passionately embraces [src] in your hands. Look away you perv!")) user.client.give_award(/datum/award/achievement/misc/rule8, user) if(plop(Kisser)) - user.visible_message("Something drops at the feet of [user].", - "The miracle of oh god did that just come out of [src]?!") + user.visible_message(span_notice("Something drops at the feet of [user]."), + span_notice("The miracle of oh god did that just come out of [src]?!")) //then comes protection, or abstinence if we are catholic else if(Kisser.partner == src && plush_child) - user.visible_message("[user] makes [Kisser] nuzzle [src]!", - "You make [Kisser] nuzzle [src]!") + user.visible_message(span_notice("[user] makes [Kisser] nuzzle [src]!"), + span_notice("You make [Kisser] nuzzle [src]!")) //then oh fuck something unexpected happened else - user.show_message("[Kisser] and [src] don't know what to do with one another.", NONE) + user.show_message(span_warning("[Kisser] and [src] don't know what to do with one another."), NONE) /obj/item/toy/plush/proc/heartbreak(obj/item/toy/plush/Brutus) if(lover != Brutus) @@ -429,7 +429,7 @@ clash_target = null return if(!Adjacent(P)) - visible_message("The two plushies angrily flail at each other before giving up.") + visible_message(span_warning("The two plushies angrily flail at each other before giving up.")) clash_target = null P.clashing = FALSE return @@ -612,7 +612,7 @@ var/suicide_count = 0 /obj/item/toy/plush/moth/suicide_act(mob/living/user) - user.visible_message("[user] stares deeply into the eyes of [src] and it begins consuming [user.p_them()]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] stares deeply into the eyes of [src] and it begins consuming [user.p_them()]! It looks like [user.p_theyre()] trying to commit suicide!")) suicide_count++ if(suicide_count < 3) desc = "A plushie depicting an unsettling mothperson. After killing [suicide_count] [suicide_count == 1 ? "person" : "people"] it's not looking so huggable now..." diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 2415f8b558d..e00fe68aae8 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -61,13 +61,13 @@ . = ..() var/list/out = list() if(!in_range(user, src)) - out += "You'll need to get closer to see any more." + out += span_notice("You'll need to get closer to see any more.") return for(var/obj/item/I in loadedItems) - out += "[icon2html(I, user)] It has \a [I] loaded." + out += span_info("[icon2html(I, user)] It has \a [I] loaded.") CHECK_TICK if(tank) - out += "[icon2html(tank, user)] It has \a [tank] mounted onto it." + out += span_notice("[icon2html(tank, user)] It has \a [tank] mounted onto it.") . += out.Join("\n") /obj/item/pneumatic_cannon/attackby(obj/item/W, mob/living/user, params) @@ -77,11 +77,11 @@ if(!tank) var/obj/item/tank/internals/IT = W if(IT.volume <= 3) - to_chat(user, "\The [IT] is too small for \the [src].") + to_chat(user, span_warning("\The [IT] is too small for \the [src].")) return updateTank(W, 0, user) else if(W.type == type) - to_chat(user, "You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption.") + to_chat(user, span_warning("You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption.")) else if(W.tool_behaviour == TOOL_WRENCH) switch(pressureSetting) if(1) @@ -90,12 +90,12 @@ pressureSetting = 3 if(3) pressureSetting = 1 - to_chat(user, "You tweak \the [src]'s pressure output to [pressureSetting].") + to_chat(user, span_notice("You tweak \the [src]'s pressure output to [pressureSetting].")) else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(tank) updateTank(tank, 1, user) else if(loadedWeightClass >= maxWeightClass) - to_chat(user, "\The [src] can't hold any more items!") + to_chat(user, span_warning("\The [src] can't hold any more items!")) else if(isitem(W)) var/obj/item/IW = W load_item(IW, user) @@ -105,15 +105,15 @@ return TRUE if(allowed_typecache && !is_type_in_typecache(I, allowed_typecache)) if(user) - to_chat(user, "[I] won't fit into [src]!") + to_chat(user, span_warning("[I] won't fit into [src]!")) return if((loadedWeightClass + I.w_class) > maxWeightClass) //Only make messages if there's a user if(user) - to_chat(user, "\The [I] won't fit into \the [src]!") + to_chat(user, span_warning("\The [I] won't fit into \the [src]!")) return FALSE if(I.w_class > w_class) if(user) - to_chat(user, "\The [I] is too large to fit into \the [src]!") + to_chat(user, span_warning("\The [I] is too large to fit into \the [src]!")) return FALSE return TRUE @@ -123,7 +123,7 @@ if(user) //Only use transfer proc if there's a user, otherwise just set loc. if(!user.transferItemToLoc(I, src)) return FALSE - to_chat(user, "You load \the [I] into \the [src].") + to_chat(user, span_notice("You load \the [I] into \the [src].")) else I.forceMove(src) loadedItems += I @@ -148,20 +148,20 @@ if(!can_trigger_gun(user)) return if(!loadedItems || !loadedWeightClass) - to_chat(user, "\The [src] has nothing loaded.") + to_chat(user, span_warning("\The [src] has nothing loaded.")) return if(!tank && checktank) - to_chat(user, "\The [src] can't fire without a source of gas.") + to_chat(user, span_warning("\The [src] can't fire without a source of gas.")) return if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You can't bring yourself to fire \the [src]! You don't want to risk harming anyone..." ) + to_chat(user, span_warning("You can't bring yourself to fire \the [src]! You don't want to risk harming anyone...") ) return if(tank && !tank.remove_air(gasPerThrow * pressureSetting)) - to_chat(user, "\The [src] lets out a weak hiss and doesn't react!") + to_chat(user, span_warning("\The [src] lets out a weak hiss and doesn't react!")) return if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(75) && clumsyCheck && iscarbon(user)) var/mob/living/carbon/C = user - C.visible_message("[C] loses [C.p_their()] grip on [src], causing it to go off!", "[src] slips out of your hands and goes off!") + C.visible_message(span_warning("[C] loses [C.p_their()] grip on [src], causing it to go off!"), span_userdanger("[src] slips out of your hands and goes off!")) C.dropItemToGround(src, TRUE) if(prob(10)) target = get_turf(user) @@ -170,15 +170,15 @@ target = pick(possible_targets) discharge = 1 if(!discharge) - user.visible_message("[user] fires \the [src]!", \ - "You fire \the [src]!") + user.visible_message(span_danger("[user] fires \the [src]!"), \ + span_danger("You fire \the [src]!")) log_combat(user, target, "fired at", src) var/turf/T = get_target(target, get_turf(src)) playsound(src, fire_sound, 50, TRUE) fire_items(T, user) if(pressureSetting >= 3 && iscarbon(user)) var/mob/living/carbon/C = user - C.visible_message("[C] is thrown down by the force of the cannon!", "[src] slams into your shoulder, knocking you down!") + C.visible_message(span_warning("[C] is thrown down by the force of the cannon!"), span_userdanger("[src] slams into your shoulder, knocking you down!")) C.Paralyze(60) /obj/item/pneumatic_cannon/proc/fire_items(turf/target, mob/user) @@ -244,17 +244,17 @@ if(removing) if(!tank) return - to_chat(user, "You detach \the [thetank] from \the [src].") + to_chat(user, span_notice("You detach \the [thetank] from \the [src].")) tank.forceMove(user.drop_location()) user.put_in_hands(tank) tank = null if(!removing) if(tank) - to_chat(user, "\The [src] already has a tank.") + to_chat(user, span_warning("\The [src] already has a tank.")) return if(!user.transferItemToLoc(thetank, src)) return - to_chat(user, "You hook \the [thetank] up to \the [src].") + to_chat(user, span_notice("You hook \the [thetank] up to \the [src].")) tank = thetank update_appearance() diff --git a/code/game/objects/items/powerfist.dm b/code/game/objects/items/powerfist.dm index 50a1b8a62af..b28d2c6c984 100644 --- a/code/game/objects/items/powerfist.dm +++ b/code/game/objects/items/powerfist.dm @@ -23,10 +23,10 @@ /obj/item/melee/powerfist/examine(mob/user) . = ..() if(!in_range(user, src)) - . += "You'll need to get closer to see any more." + . += span_notice("You'll need to get closer to see any more.") return if(tank) - . += "[icon2html(tank, user)] It has \a [tank] mounted onto it." + . += span_notice("[icon2html(tank, user)] It has \a [tank] mounted onto it.") /obj/item/melee/powerfist/attackby(obj/item/W, mob/user, params) @@ -34,7 +34,7 @@ if(!tank) var/obj/item/tank/internals/IT = W if(IT.volume <= 3) - to_chat(user, "\The [IT] is too small for \the [src].") + to_chat(user, span_warning("\The [IT] is too small for \the [src].")) return updateTank(W, 0, user) else if(W.tool_behaviour == TOOL_WRENCH) @@ -46,7 +46,7 @@ if(3) fisto_setting = 1 W.play_tool_sound(src) - to_chat(user, "You tweak \the [src]'s piston valve to [fisto_setting].") + to_chat(user, span_notice("You tweak \the [src]'s piston valve to [fisto_setting].")) else if(W.tool_behaviour == TOOL_SCREWDRIVER) if(tank) updateTank(tank, 1, user) @@ -54,28 +54,28 @@ /obj/item/melee/powerfist/proc/updateTank(obj/item/tank/internals/thetank, removing = 0, mob/living/carbon/human/user) if(removing) if(!tank) - to_chat(user, "\The [src] currently has no tank attached to it.") + to_chat(user, span_notice("\The [src] currently has no tank attached to it.")) return - to_chat(user, "You detach \the [thetank] from \the [src].") + to_chat(user, span_notice("You detach \the [thetank] from \the [src].")) tank.forceMove(get_turf(user)) user.put_in_hands(tank) tank = null if(!removing) if(tank) - to_chat(user, "\The [src] already has a tank.") + to_chat(user, span_warning("\The [src] already has a tank.")) return if(!user.transferItemToLoc(thetank, src)) return - to_chat(user, "You hook \the [thetank] up to \the [src].") + to_chat(user, span_notice("You hook \the [thetank] up to \the [src].")) tank = thetank /obj/item/melee/powerfist/attack(mob/living/target, mob/living/user) if(!tank) - to_chat(user, "\The [src] can't operate without a source of gas!") + to_chat(user, span_warning("\The [src] can't operate without a source of gas!")) return if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, span_warning("You don't want to harm other living beings!")) return var/datum/gas_mixture/gasused = tank.remove_air(gasperfist * fisto_setting) var/turf/T = get_turf(src) @@ -83,23 +83,23 @@ return T.assume_air(gasused) if(!gasused) - to_chat(user, "\The [src]'s tank is empty!") + to_chat(user, span_warning("\The [src]'s tank is empty!")) target.apply_damage((force / 5), BRUTE) playsound(loc, 'sound/weapons/punch1.ogg', 50, TRUE) - target.visible_message("[user]'s powerfist lets out a dull thunk as [user.p_they()] punch[user.p_es()] [target.name]!", \ - "[user]'s punches you!") + target.visible_message(span_danger("[user]'s powerfist lets out a dull thunk as [user.p_they()] punch[user.p_es()] [target.name]!"), \ + span_userdanger("[user]'s punches you!")) return if(gasused.total_moles() < gasperfist * fisto_setting) - to_chat(user, "\The [src]'s piston-ram lets out a weak hiss, it needs more gas!") + to_chat(user, span_warning("\The [src]'s piston-ram lets out a weak hiss, it needs more gas!")) playsound(loc, 'sound/weapons/punch4.ogg', 50, TRUE) target.apply_damage((force / 2), BRUTE) - target.visible_message("[user]'s powerfist lets out a weak hiss as [user.p_they()] punch[user.p_es()] [target.name]!", \ - "[user]'s punch strikes with force!") + target.visible_message(span_danger("[user]'s powerfist lets out a weak hiss as [user.p_they()] punch[user.p_es()] [target.name]!"), \ + span_userdanger("[user]'s punch strikes with force!")) return target.apply_damage(force * fisto_setting, BRUTE, wound_bonus = CANT_WOUND) - target.visible_message("[user]'s powerfist lets out a loud hiss as [user.p_they()] punch[user.p_es()] [target.name]!", \ - "You cry out in pain as [user]'s punch flings you backwards!") + target.visible_message(span_danger("[user]'s powerfist lets out a loud hiss as [user.p_they()] punch[user.p_es()] [target.name]!"), \ + span_userdanger("You cry out in pain as [user]'s punch flings you backwards!")) new /obj/effect/temp_visual/kinetic_blast(target.loc) playsound(loc, 'sound/weapons/resonator_blast.ogg', 50, TRUE) playsound(loc, 'sound/weapons/genhit2.ogg', 50, TRUE) diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index a8dfecba207..de0ff098916 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -68,14 +68,14 @@ var/obj/item/keycard/key = I if((!puzzle_id || puzzle_id == key.puzzle_id) && density) if(open_message) - to_chat(user, "[open_message]") + to_chat(user, span_notice("[open_message]")) open() return else if(puzzle_id != key.puzzle_id) - to_chat(user, "[src] buzzes. This must not be the right key.") + to_chat(user, span_notice("[src] buzzes. This must not be the right key.")) return else - to_chat(user, "This door doesn't appear to close.") + to_chat(user, span_notice("This door doesn't appear to close.")) return //Test doors. Gives admins a few doors to use quickly should they so choose for events. @@ -127,7 +127,7 @@ /obj/item/pressure_plate/hologrid/examine(mob/user) . = ..() if(claimed) - . += "This one appears to be spent already." + . += span_notice("This one appears to be spent already.") /obj/item/pressure_plate/hologrid/trigger() if(!claimed) diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 6bb5f159404..e10da7998ee 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -19,16 +19,16 @@ /obj/item/banner/examine(mob/user) . = ..() if(inspiration_available) - . += "Activate it in your hand to inspire nearby allies of this banner's allegiance!" + . += span_notice("Activate it in your hand to inspire nearby allies of this banner's allegiance!") /obj/item/banner/attack_self(mob/living/carbon/human/user) if(!inspiration_available) return if(morale_time > world.time) - to_chat(user, "You aren't feeling inspired enough to flourish [src] again yet.") + to_chat(user, span_warning("You aren't feeling inspired enough to flourish [src] again yet.")) return user.visible_message("[user] flourishes [src]!", \ - "You raise [src] skywards, inspiring your allies!") + span_notice("You raise [src] skywards, inspiring your allies!")) playsound(src, "rustle", 100, FALSE) if(warcry) user.say("[warcry]", forced="banner") @@ -55,7 +55,7 @@ for(var/V in inspired) var/mob/living/carbon/human/H = V if(H != user) - to_chat(H, "Your confidence surges as [user] flourishes [user.p_their()] [name]!") + to_chat(H, span_notice("Your confidence surges as [user] flourishes [user.p_their()] [name]!")) inspiration(H) special_inspiration(H) @@ -326,7 +326,7 @@ . = ..() if(staffcooldown + staffwait > world.time) return - user.visible_message("[user] chants deeply and waves [user.p_their()] staff!") + user.visible_message(span_notice("[user] chants deeply and waves [user.p_their()] staff!")) if(do_after(user, 2 SECONDS, src)) target.add_atom_colour(conversion_color, WASHABLE_COLOUR_PRIORITY) //wololo staffcooldown = world.time diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index b434ad34949..5833b72ae39 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -17,15 +17,15 @@ var/mob/living/silicon/ai/AI = A if(AI.malf_picker) AI.malf_picker.processing_time += 50 - to_chat(AI, "[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.") + to_chat(AI, span_userdanger("[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.")) else - to_chat(AI, "[user] has upgraded you with combat software!") - to_chat(AI, "Your current laws and objectives remain unchanged.") //this unlocks malf powers, but does not give the license to plasma flood + to_chat(AI, span_userdanger("[user] has upgraded you with combat software!")) + to_chat(AI, span_userdanger("Your current laws and objectives remain unchanged.")) //this unlocks malf powers, but does not give the license to plasma flood AI.add_malf_picker() AI.hack_software = TRUE log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].") message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, span_notice("You upgrade [AI]. [src] is consumed in the process.")) qdel(src) return TRUE @@ -45,9 +45,9 @@ var/mob/living/silicon/ai/AI = A if(AI.eyeobj) AI.eyeobj.relay_speech = TRUE - to_chat(AI, "[user] has upgraded you with surveillance software!") + to_chat(AI, span_userdanger("[user] has upgraded you with surveillance software!")) to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.") - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, span_notice("You upgrade [AI]. [src] is consumed in the process.")) log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].") message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") qdel(src) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 6dd93887a07..34fbd888445 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -25,8 +25,8 @@ M.Paralyze(100) M.apply_effect(EFFECT_STUTTER, 5) - M.visible_message("[user] prods [M] with [src]!", \ - "[user] prods you with [src]!") + M.visible_message(span_danger("[user] prods [M] with [src]!"), \ + span_userdanger("[user] prods you with [src]!")) playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1) @@ -76,57 +76,57 @@ M.attack_hand(user, modifiers) //This enables borgs to get the floating heart icon and mob emote from simple_animal's that have petbonus == true. return if(user.zone_selected == BODY_ZONE_HEAD) - user.visible_message("[user] playfully boops [M] on the head!", \ - "You playfully boop [M] on the head!") + user.visible_message(span_notice("[user] playfully boops [M] on the head!"), \ + span_notice("You playfully boop [M] on the head!")) user.do_attack_animation(M, ATTACK_EFFECT_BOOP) playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) else if(ishuman(M)) if(user.body_position == LYING_DOWN) - user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", \ - "You shake [M] trying to get [M.p_them()] up!") + user.visible_message(span_notice("[user] shakes [M] trying to get [M.p_them()] up!"), \ + span_notice("You shake [M] trying to get [M.p_them()] up!")) else - user.visible_message("[user] hugs [M] to make [M.p_them()] feel better!", \ - "You hug [M] to make [M.p_them()] feel better!") + user.visible_message(span_notice("[user] hugs [M] to make [M.p_them()] feel better!"), \ + span_notice("You hug [M] to make [M.p_them()] feel better!")) if(M.resting) M.set_resting(FALSE, TRUE) else - user.visible_message("[user] pets [M]!", \ - "You pet [M]!") + user.visible_message(span_notice("[user] pets [M]!"), \ + span_notice("You pet [M]!")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) if(1) if(M.health >= 0) if(ishuman(M)) if(M.body_position == LYING_DOWN) - user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", \ - "You shake [M] trying to get [M.p_them()] up!") + user.visible_message(span_notice("[user] shakes [M] trying to get [M.p_them()] up!"), \ + span_notice("You shake [M] trying to get [M.p_them()] up!")) else if(user.zone_selected == BODY_ZONE_HEAD) - user.visible_message("[user] bops [M] on the head!", \ - "You bop [M] on the head!") + user.visible_message(span_warning("[user] bops [M] on the head!"), \ + span_warning("You bop [M] on the head!")) user.do_attack_animation(M, ATTACK_EFFECT_PUNCH) else - user.visible_message("[user] hugs [M] in a firm bear-hug! [M] looks uncomfortable...", \ - "You hug [M] firmly to make [M.p_them()] feel better! [M] looks uncomfortable...") + user.visible_message(span_warning("[user] hugs [M] in a firm bear-hug! [M] looks uncomfortable..."), \ + span_warning("You hug [M] firmly to make [M.p_them()] feel better! [M] looks uncomfortable...")) if(M.resting) M.set_resting(FALSE, TRUE) else - user.visible_message("[user] bops [M] on the head!", \ - "You bop [M] on the head!") + user.visible_message(span_warning("[user] bops [M] on the head!"), \ + span_warning("You bop [M] on the head!")) playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) if(2) if(scooldown < world.time) if(M.health >= 0) if(ishuman(M)) M.electrocute_act(5, "[user]", flags = SHOCK_NOGLOVES) - user.visible_message("[user] electrocutes [M] with [user.p_their()] touch!", \ - "You electrocute [M] with your touch!") + user.visible_message(span_userdanger("[user] electrocutes [M] with [user.p_their()] touch!"), \ + span_danger("You electrocute [M] with your touch!")) else if(!iscyborg(M)) M.adjustFireLoss(10) - user.visible_message("[user] shocks [M]!", \ - "You shock [M]!") + user.visible_message(span_userdanger("[user] shocks [M]!"), \ + span_danger("You shock [M]!")) else - user.visible_message("[user] shocks [M]. It does not seem to have an effect", \ - "You shock [M] to no effect.") + user.visible_message(span_userdanger("[user] shocks [M]. It does not seem to have an effect"), \ + span_danger("You shock [M] to no effect.")) playsound(loc, 'sound/effects/sparks2.ogg', 50, TRUE, -1) user.cell.charge -= 500 scooldown = world.time + 20 @@ -134,11 +134,11 @@ if(ccooldown < world.time) if(M.health >= 0) if(ishuman(M)) - user.visible_message("[user] crushes [M] in [user.p_their()] grip!", \ - "You crush [M] in your grip!") + user.visible_message(span_userdanger("[user] crushes [M] in [user.p_their()] grip!"), \ + span_danger("You crush [M] in your grip!")) else - user.visible_message("[user] crushes [M]!", \ - "You crush [M]!") + user.visible_message(span_userdanger("[user] crushes [M]!"), \ + span_danger("You crush [M]!")) playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1) M.adjustBruteLoss(15) user.cell.charge -= 300 @@ -167,7 +167,7 @@ mode = "charge" else mode = "draw" - to_chat(user, "You toggle [src] to \"[mode]\" mode.") + to_chat(user, span_notice("You toggle [src] to \"[mode]\" mode.")) update_appearance() /obj/item/borg/charger/afterattack(obj/item/target, mob/living/silicon/robot/user, proximity_flag) @@ -178,10 +178,10 @@ if(is_type_in_list(target, charge_machines)) var/obj/machinery/M = target if((M.machine_stat & (NOPOWER|BROKEN)) || !M.anchored) - to_chat(user, "[M] is unpowered!") + to_chat(user, span_warning("[M] is unpowered!")) return - to_chat(user, "You connect to [M]'s power line...") + to_chat(user, span_notice("You connect to [M]'s power line...")) while(do_after(user, 15, target = M, progress = 0)) if(!user || !user.cell || mode != "draw") return @@ -194,27 +194,27 @@ M.use_power(200) - to_chat(user, "You stop charging yourself.") + to_chat(user, span_notice("You stop charging yourself.")) else if(is_type_in_list(target, charge_items)) var/obj/item/stock_parts/cell/cell = target if(!istype(cell)) cell = locate(/obj/item/stock_parts/cell) in target if(!cell) - to_chat(user, "[target] has no power cell!") + to_chat(user, span_warning("[target] has no power cell!")) return if(istype(target, /obj/item/gun/energy)) var/obj/item/gun/energy/E = target if(!E.can_charge) - to_chat(user, "[target] has no power port!") + to_chat(user, span_warning("[target] has no power port!")) return if(!cell.charge) - to_chat(user, "[target] has no power!") + to_chat(user, span_warning("[target] has no power!")) - to_chat(user, "You connect to [target]'s power port...") + to_chat(user, span_notice("You connect to [target]'s power port...")) while(do_after(user, 15, target = target, progress = 0)) if(!user || !user.cell || mode != "draw") @@ -233,26 +233,26 @@ break target.update_appearance() - to_chat(user, "You stop charging yourself.") + to_chat(user, span_notice("You stop charging yourself.")) else if(is_type_in_list(target, charge_items)) var/obj/item/stock_parts/cell/cell = target if(!istype(cell)) cell = locate(/obj/item/stock_parts/cell) in target if(!cell) - to_chat(user, "[target] has no power cell!") + to_chat(user, span_warning("[target] has no power cell!")) return if(istype(target, /obj/item/gun/energy)) var/obj/item/gun/energy/E = target if(!E.can_charge) - to_chat(user, "[target] has no power port!") + to_chat(user, span_warning("[target] has no power port!")) return if(cell.charge >= cell.maxcharge) - to_chat(user, "[target] is already charged!") + to_chat(user, span_warning("[target] is already charged!")) - to_chat(user, "You connect to [target]'s power port...") + to_chat(user, span_notice("You connect to [target]'s power port...")) while(do_after(user, 15, target = target, progress = 0)) if(!user || !user.cell || mode != "charge") @@ -271,7 +271,7 @@ break target.update_appearance() - to_chat(user, "You stop charging [target].") + to_chat(user, span_notice("You stop charging [target].")) /obj/item/harmalarm name = "\improper Sonic Harm Prevention Tool" @@ -296,7 +296,7 @@ if(iscyborg(user)) var/mob/living/silicon/robot/R = user if(!R.cell || R.cell.charge < 1200) - to_chat(user, "You don't have enough charge to do this!") + to_chat(user, span_warning("You don't have enough charge to do this!")) return R.cell.charge -= 1000 if(R.emagged) @@ -304,8 +304,8 @@ if(safety == TRUE) user.visible_message("[user] blares out a near-deafening siren from its speakers!", \ - "The siren pierces your hearing and confuses you!", \ - "The siren pierces your hearing!") + span_userdanger("The siren pierces your hearing and confuses you!"), \ + span_danger("The siren pierces your hearing!")) for(var/mob/living/carbon/M in get_hearers_in_view(9, user)) if(M.get_ear_protection() == FALSE) M.add_confusion(6) @@ -315,7 +315,7 @@ user.log_message("used a Cyborg Harm Alarm in [AREACOORD(user)]", LOG_ATTACK) if(iscyborg(user)) var/mob/living/silicon/robot/R = user - to_chat(R.connected_ai, "
NOTICE - Peacekeeping 'HARM ALARM' used by: [user]
") + to_chat(R.connected_ai, "
[span_notice("NOTICE - Peacekeeping 'HARM ALARM' used by: [user]")]
") return @@ -377,7 +377,7 @@ /obj/item/borg/lollipop/proc/dispense(atom/A, mob/user) if(candy <= 0) - to_chat(user, "No treats left in storage!") + to_chat(user, span_warning("No treats left in storage!")) return FALSE var/turf/T = get_turf(A) if(!T || !istype(T) || !isopenturf(T)) @@ -404,16 +404,16 @@ check_amount() if(into_hands) - user.visible_message("[user] dispenses a treat into the hands of [A].", "You dispense a treat into the hands of [A].", "You hear a click.") + user.visible_message(span_notice("[user] dispenses a treat into the hands of [A]."), span_notice("You dispense a treat into the hands of [A]."), span_hear("You hear a click.")) else - user.visible_message("[user] dispenses a treat.", "You dispense a treat.", "You hear a click.") + user.visible_message(span_notice("[user] dispenses a treat."), span_notice("You dispense a treat."), span_hear("You hear a click.")) playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) return TRUE /obj/item/borg/lollipop/proc/shootL(atom/target, mob/living/user, params) if(candy <= 0) - to_chat(user, "Not enough lollipops left!") + to_chat(user, span_warning("Not enough lollipops left!")) return FALSE candy-- @@ -426,12 +426,12 @@ playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) A.fire_casing(target, user, params, 0, 0, null, 0, src) - user.visible_message("[user] blasts a flying lollipop at [target]!") + user.visible_message(span_warning("[user] blasts a flying lollipop at [target]!")) check_amount() /obj/item/borg/lollipop/proc/shootG(atom/target, mob/living/user, params) //Most certainly a good idea. if(candy <= 0) - to_chat(user, "Not enough gumballs left!") + to_chat(user, span_warning("Not enough gumballs left!")) return FALSE candy-- var/obj/item/ammo_casing/caseless/gumball/A @@ -444,7 +444,7 @@ A.loaded_projectile.color = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) playsound(src.loc, 'sound/weapons/bulletflyby3.ogg', 50, TRUE) A.fire_casing(target, user, params, 0, 0, null, 0, src) - user.visible_message("[user] shoots a high-velocity gumball at [target]!") + user.visible_message(span_warning("[user] shoots a high-velocity gumball at [target]!")) check_amount() /obj/item/borg/lollipop/afterattack(atom/target, mob/living/user, proximity, click_params) @@ -453,7 +453,7 @@ if(iscyborg(user)) var/mob/living/silicon/robot/R = user if(!R.cell.use(12)) - to_chat(user, "Not enough power.") + to_chat(user, span_warning("Not enough power.")) return FALSE switch(mode) if(DISPENSE_LOLLIPOP_MODE, DISPENSE_ICECREAM_MODE) @@ -469,16 +469,16 @@ switch(mode) if(DISPENSE_LOLLIPOP_MODE) mode = THROW_LOLLIPOP_MODE - to_chat(user, "Module is now throwing lollipops.") + to_chat(user, span_notice("Module is now throwing lollipops.")) if(THROW_LOLLIPOP_MODE) mode = THROW_GUMBALL_MODE - to_chat(user, "Module is now blasting gumballs.") + to_chat(user, span_notice("Module is now blasting gumballs.")) if(THROW_GUMBALL_MODE) mode = DISPENSE_ICECREAM_MODE - to_chat(user, "Module is now dispensing ice cream.") + to_chat(user, span_notice("Module is now dispensing ice cream.")) if(DISPENSE_ICECREAM_MODE) mode = DISPENSE_LOLLIPOP_MODE - to_chat(user, "Module is now dispensing lollipops.") + to_chat(user, span_notice("Module is now dispensing lollipops.")) ..() #undef DISPENSE_LOLLIPOP_MODE @@ -621,18 +621,18 @@ /obj/item/borg/projectile_dampen/attack_self(mob/user) if(cycle_delay > world.time) - to_chat(user, "[src] is still recycling its projectors!") + to_chat(user, span_boldwarning("[src] is still recycling its projectors!")) return cycle_delay = world.time + PKBORG_DAMPEN_CYCLE_DELAY if(!active) if(!user.has_buckled_mobs()) activate_field() else - to_chat(user, "[src]'s safety cutoff prevents you from activating it due to living beings being ontop of you!") + to_chat(user, span_warning("[src]'s safety cutoff prevents you from activating it due to living beings being ontop of you!")) else deactivate_field() update_appearance() - to_chat(user, "You [active? "activate":"deactivate"] [src].") + to_chat(user, span_boldnotice("You [active? "activate":"deactivate"] [src].")) /obj/item/borg/projectile_dampen/update_icon_state() icon_state = "[initial(icon_state)][active]" @@ -649,7 +649,7 @@ /obj/item/borg/projectile_dampen/proc/deactivate_field() QDEL_NULL(dampening_field) - visible_message("\The [src] shuts off!") + visible_message(span_warning("\The [src] shuts off!")) for(var/P in tracked) restore_projectile(P) active = FALSE @@ -698,7 +698,7 @@ energy = clamp(energy - usage, 0, maxenergy) if(energy <= 0) deactivate_field() - visible_message("[src] blinks \"ENERGY DEPLETED\".") + visible_message(span_warning("[src] blinks \"ENERGY DEPLETED\".")) /obj/item/borg/projectile_dampen/proc/process_recharge(delta_time) if(!istype(host)) @@ -907,8 +907,8 @@ else . += "Nothing." - . += " Right-clicking will splash the beaker on the ground." - . += " Alt-click will drop the currently stored beaker. " + . += span_notice(" Right-clicking will splash the beaker on the ground.") + . += span_notice(" Alt-click will drop the currently stored beaker. ") /obj/item/borg/apparatus/beaker/update_overlays() . = ..() @@ -931,7 +931,7 @@ /obj/item/borg/apparatus/beaker/pre_attack_secondary(atom/target, mob/living/silicon/robot/user) var/obj/item/reagent_containers/stored_beaker = stored stored_beaker.SplashReagents(drop_location(user)) - loc.visible_message("[user] spills the contents of [stored_beaker] all over the ground.") + loc.visible_message(span_notice("[user] spills the contents of [stored_beaker] all over the ground.")) . = ..() /obj/item/borg/apparatus/beaker/extra @@ -972,7 +972,7 @@ . += organ.name else . += "Nothing." - . += " Alt-click will drop the currently stored organ. " + . += span_notice(" Alt-click will drop the currently stored organ. ") /obj/item/borg/apparatus/organ_storage/update_overlays() . = ..() @@ -995,11 +995,11 @@ . = ..() if(stored) var/obj/item/organ = stored - user.visible_message("[user] dumps [organ] from [src].", "You dump [organ] from [src].") + user.visible_message(span_notice("[user] dumps [organ] from [src]."), span_notice("You dump [organ] from [src].")) cut_overlays() organ.forceMove(get_turf(src)) else - to_chat(user, "[src] is empty.") + to_chat(user, span_notice("[src] is empty.")) return //////////////////////////// @@ -1036,9 +1036,9 @@ . = ..() if(stored) . += "The apparatus currently has [stored] secured." - . += " Alt-click will drop the currently stored circuit. " + . += span_notice(" Alt-click will drop the currently stored circuit. ") /obj/item/borg/apparatus/circuit/pre_attack(atom/A, mob/living/user, params) . = ..() if(istype(A, /obj/item/ai_module) && !stored) //If an admin wants a borg to upload laws, who am I to stop them? Otherwise, we can hint that it fails - to_chat(user, "This circuit board doesn't seem to have standard robot apparatus pin holes. You're unable to pick it up.") + to_chat(user, span_warning("This circuit board doesn't seem to have standard robot apparatus pin holes. You're unable to pick it up.")) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 7b114568f67..a210e2d3086 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -103,9 +103,9 @@ head.flash2.forceMove(T) head.flash2 = null head = null - to_chat(user, "You disassemble the cyborg shell.") + to_chat(user, span_notice("You disassemble the cyborg shell.")) else - to_chat(user, "There is nothing to remove from the endoskeleton!") + to_chat(user, span_warning("There is nothing to remove from the endoskeleton!")) 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 @@ -120,7 +120,7 @@ return TRUE if(!chest) //can't remove a cell if there's no chest to remove it from. - to_chat(user, "[src] has no attached torso!") + to_chat(user, span_warning("[src] has no attached torso!")) return var/obj/item/stock_parts/cell/temp_cell = user.is_holding_item_of_type(/obj/item/stock_parts/cell) @@ -129,20 +129,20 @@ swap_failed = TRUE else if(!user.transferItemToLoc(temp_cell, chest)) swap_failed = TRUE - to_chat(user, "[temp_cell] is stuck to your hand, you can't put it in [src]!") + to_chat(user, span_warning("[temp_cell] is stuck to your hand, you can't put it in [src]!")) if(chest.cell) //drop the chest's current cell no matter what. put_in_hand_or_drop(user, chest.cell) if(swap_failed) //we didn't transfer any new items. if(chest.cell) //old cell ejected, nothing inserted. - to_chat(user, "You remove [chest.cell] from [src].") + to_chat(user, span_notice("You remove [chest.cell] from [src].")) chest.cell = null else - to_chat(user, "The power cell slot in [src]'s torso is empty!") + to_chat(user, span_warning("The power cell slot in [src]'s torso is empty!")) return - to_chat(user, "You [chest.cell ? "replace [src]'s [chest.cell.name] with [temp_cell]" : "insert [temp_cell] into [src]"].") + to_chat(user, span_notice("You [chest.cell ? "replace [src]'s [chest.cell.name] with [temp_cell]" : "insert [temp_cell] into [src]"].")) chest.cell = temp_cell return TRUE @@ -154,13 +154,13 @@ if (M.use(1)) var/obj/item/bot_assembly/ed209/B = new B.forceMove(drop_location()) - to_chat(user, "You arm the robot frame.") + to_chat(user, span_notice("You arm the robot frame.")) var/holding_this = user.get_inactive_held_item()==src qdel(src) if (holding_this) user.put_in_inactive_hand(B) else - to_chat(user, "You need one sheet of iron to start building ED-209!") + to_chat(user, span_warning("You need one sheet of iron to start building ED-209!")) return else if(istype(W, /obj/item/bodypart/l_leg/robot)) if(l_leg) @@ -214,15 +214,15 @@ chest = CH update_appearance() else if(!CH.wired) - to_chat(user, "You need to attach wires to it first!") + to_chat(user, span_warning("You need to attach wires to it first!")) else - to_chat(user, "You need to attach a cell to it first!") + to_chat(user, span_warning("You need to attach a cell to it first!")) else if(istype(W, /obj/item/bodypart/head/robot)) var/obj/item/bodypart/head/robot/HD = W for(var/X in HD.contents) if(istype(X, /obj/item/organ)) - to_chat(user, "There are organs inside [HD]!") + to_chat(user, span_warning("There are organs inside [HD]!")) return if(head) return @@ -234,22 +234,22 @@ head = HD update_appearance() else - to_chat(user, "You need to attach a flash to it first!") + to_chat(user, span_warning("You need to attach a flash to it first!")) else if (W.tool_behaviour == TOOL_MULTITOOL) if(check_completion()) ui_interact(user) else - to_chat(user, "The endoskeleton must be assembled before debugging can begin!") + to_chat(user, span_warning("The endoskeleton must be assembled before debugging can begin!")) else if(istype(W, /obj/item/mmi)) var/obj/item/mmi/M = W if(check_completion()) if(!chest.cell) - to_chat(user, "The endoskeleton still needs a power cell!") + to_chat(user, span_warning("The endoskeleton still needs a power cell!")) return if(!isturf(loc)) - to_chat(user, "You can't put [M] in, the frame has to be standing on the ground to be perfectly precise!") + to_chat(user, span_warning("You can't put [M] in, the frame has to be standing on the ground to be perfectly precise!")) return if(!M.brain_check(user)) return @@ -257,7 +257,7 @@ var/mob/living/brain/B = M.brainmob if(is_banned_from(B.ckey, "Cyborg") || QDELETED(src) || QDELETED(B) || QDELETED(user) || QDELETED(M) || !Adjacent(user)) if(!QDELETED(M)) - to_chat(user, "This [M.name] does not seem to fit!") + to_chat(user, span_warning("This [M.name] does not seem to fit!")) return if(!user.temporarilyRemoveItemFromInventory(W)) return @@ -304,8 +304,8 @@ if(O.mind && O.mind.special_role) O.mind.store_memory("As a cyborg, you must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.") - to_chat(O, "You have been robotized!") - to_chat(O, "You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.") + to_chat(O, span_userdanger("You have been robotized!")) + to_chat(O, span_danger("You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.")) SSblackbox.record_feedback("amount", "cyborg_birth", 1) forceMove(O) @@ -315,19 +315,19 @@ if(!locomotion) O.set_lockcharge(TRUE) - to_chat(O, "Error: Servo motors unresponsive.") + to_chat(O, span_warning("Error: Servo motors unresponsive.")) else - to_chat(user, "The MMI must go in after everything else!") + to_chat(user, span_warning("The MMI must go in after everything else!")) else if(istype(W, /obj/item/borg/upgrade/ai)) var/obj/item/borg/upgrade/ai/M = W if(check_completion()) if(!isturf(loc)) - to_chat(user, "You cannot install[M], the frame has to be standing on the ground to be perfectly precise!") + to_chat(user, span_warning("You cannot install[M], the frame has to be standing on the ground to be perfectly precise!")) return if(!user.temporarilyRemoveItemFromInventory(M)) - to_chat(user, "[M] is stuck to your hand!") + to_chat(user, span_warning("[M] is stuck to your hand!")) return qdel(M) var/mob/living/silicon/robot/O = new /mob/living/silicon/robot/shell(get_turf(src)) @@ -354,7 +354,7 @@ O.set_lockcharge(TRUE) else if(istype(W, /obj/item/pen)) - to_chat(user, "You need to use a multitool to name [src]!") + to_chat(user, span_warning("You need to use a multitool to name [src]!")) else return ..() @@ -364,7 +364,7 @@ var/obj/item/held_item = user.get_active_held_item() if(held_item?.tool_behaviour == TOOL_MULTITOOL) return ..() - to_chat(user, "You need a multitool to access debug settings!") + to_chat(user, span_warning("You need a multitool to access debug settings!")) return UI_CLOSE /obj/item/robot_suit/ui_state(mob/user) @@ -416,7 +416,7 @@ if(!in_range(src, user) && loc != user) return if(!selected_ai) - to_chat(user, "No active AIs detected.") + to_chat(user, span_alert("No active AIs detected.")) return forced_ai = selected_ai return TRUE diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 2894d095724..210651954f6 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -19,11 +19,11 @@ /obj/item/borg/upgrade/proc/action(mob/living/silicon/robot/R, user = usr) if(R.stat == DEAD) - to_chat(user, "[src] will not function on a deceased cyborg!") + to_chat(user, span_warning("[src] will not function on a deceased cyborg!")) return FALSE if(model_type && !is_type_in_list(R.model, model_type)) - to_chat(R, "Upgrade mounting error! No suitable hardpoint detected.") - to_chat(user, "There's no mounting point for the module!") + to_chat(R, span_alert("Upgrade mounting error! No suitable hardpoint detected.")) + to_chat(user, span_warning("There's no mounting point for the module!")) return FALSE return TRUE @@ -62,7 +62,7 @@ /obj/item/borg/upgrade/restart/action(mob/living/silicon/robot/R, user = usr) if(R.health < 0) - to_chat(user, "You have to repair the cyborg before using this module!") + to_chat(user, span_warning("You have to repair the cyborg before using this module!")) return FALSE if(R.mind) @@ -86,11 +86,11 @@ if(.) var/obj/item/gun/energy/disabler/cyborg/T = locate() in R.model.modules if(!T) - to_chat(user, "There's no disabler in this unit!") + to_chat(user, span_warning("There's no disabler in this unit!")) return FALSE if(T.charge_delay <= 2) - to_chat(R, "A cooling unit is already installed!") - to_chat(user, "There's no room for another cooling unit!") + to_chat(R, span_warning("A cooling unit is already installed!")) + to_chat(user, span_warning("There's no room for another cooling unit!")) return FALSE T.charge_delay = max(2 , T.charge_delay - 4) @@ -112,7 +112,7 @@ . = ..() if(.) if(R.ionpulse) - to_chat(user, "This unit already has ion thrusters installed!") + to_chat(user, span_warning("This unit already has ion thrusters installed!")) return FALSE R.ionpulse = TRUE @@ -322,7 +322,7 @@ if(.) var/obj/item/borg/upgrade/selfrepair/U = locate() in R if(U) - to_chat(user, "This unit is already equipped with a self-repair module!") + to_chat(user, span_warning("This unit is already equipped with a self-repair module!")) return FALSE icon_state = "selfrepair_off" @@ -338,10 +338,10 @@ /obj/item/borg/upgrade/selfrepair/ui_action_click() if(on) - to_chat(toggle_action.owner, "You deactivate the self-repair module.") + to_chat(toggle_action.owner, span_notice("You deactivate the self-repair module.")) deactivate_sr() else - to_chat(toggle_action.owner, "You activate the self-repair module.") + to_chat(toggle_action.owner, span_notice("You activate the self-repair module.")) activate_sr() @@ -370,12 +370,12 @@ if(istype(cyborg) && (cyborg.stat != DEAD) && on) if(!cyborg.cell) - to_chat(cyborg, "Self-repair module deactivated. Please insert power cell.") + to_chat(cyborg, span_alert("Self-repair module deactivated. Please insert power cell.")) deactivate_sr() return if(cyborg.cell.charge < powercost * 2) - to_chat(cyborg, "Self-repair module deactivated. Please recharge.") + to_chat(cyborg, span_alert("Self-repair module deactivated. Please recharge.")) deactivate_sr() return @@ -401,7 +401,7 @@ msgmode = "critical" else if(cyborg.health < cyborg.maxHealth) msgmode = "normal" - to_chat(cyborg, "Self-repair is active in [msgmode] mode.") + to_chat(cyborg, span_notice("Self-repair is active in [span_boldnotice("[msgmode]")] mode.")) else deactivate_sr() @@ -477,7 +477,7 @@ var/obj/item/borg/upgrade/defib/backpack/BP = locate() in R //If a full defib unit was used to upgrade prior, we can just pop it out now and replace if(BP) BP.deactivate(R, user) - to_chat(user, "You remove the defibrillator unit to make room for the compact upgrade.") + to_chat(user, span_notice("You remove the defibrillator unit to make room for the compact upgrade.")) var/obj/item/shockpaddles/cyborg/S = new(R.model) R.model.basic_modules += S R.model.add_module(S, FALSE, TRUE) @@ -548,10 +548,10 @@ . = ..() if(.) if(R.shell) - to_chat(user, "This unit is already an AI shell!") + to_chat(user, span_warning("This unit is already an AI shell!")) return FALSE if(R.key) //You cannot replace a player unless the key is completely removed. - to_chat(user, "Intelligence patterns detected in this [R.braintype]. Aborting.") + to_chat(user, span_warning("Intelligence patterns detected in this [R.braintype]. Aborting.")) return FALSE R.make_shell(src) @@ -573,7 +573,7 @@ if(.) if(R.hasExpanded) - to_chat(usr, "This unit already has an expand module installed!") + to_chat(usr, span_warning("This unit already has an expand module installed!")) return FALSE R.notransform = TRUE @@ -618,7 +618,7 @@ var/obj/item/storage/part_replacer/cyborg/RPED = locate() in R if(RPED) - to_chat(user, "This unit is already equipped with a RPED module!") + to_chat(user, span_warning("This unit is already equipped with a RPED module!")) return FALSE RPED = new(R.model) @@ -648,7 +648,7 @@ var/obj/item/pinpointer/crew/PP = locate() in R.model if(PP) - to_chat(user, "This unit is already equipped with a pinpointer module!") + to_chat(user, span_warning("This unit is already equipped with a pinpointer module!")) return FALSE PP = new(R.model) @@ -705,7 +705,7 @@ if(.) var/obj/item/borg/apparatus/circuit/C = locate() in R.model.modules if(C) - to_chat(user, "This unit is already equipped with a circuit apparatus!") + to_chat(user, span_warning("This unit is already equipped with a circuit apparatus!")) return FALSE C = new(R.model) @@ -732,7 +732,7 @@ if(.) var/obj/item/borg/apparatus/beaker/extra/E = locate() in R.model.modules if(E) - to_chat(user, "This unit has no room for additional beaker storage!") + to_chat(user, span_warning("This unit has no room for additional beaker storage!")) return FALSE E = new(R.model) @@ -760,7 +760,7 @@ return var/obj/item/pushbroom/cyborg/BR = locate() in R.model.modules if (BR) - to_chat(user, "This janiborg is already equipped with an experimental broom!") + to_chat(user, span_warning("This janiborg is already equipped with an experimental broom!")) return FALSE BR = new(R.model) R.model.basic_modules += BR diff --git a/code/game/objects/items/scrolls.dm b/code/game/objects/items/scrolls.dm index cb1a9cfe8e7..087613961b9 100644 --- a/code/game/objects/items/scrolls.dm +++ b/code/game/objects/items/scrolls.dm @@ -57,16 +57,16 @@ L += T if(!L.len) - to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.") + to_chat(user, span_warning("The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")) return if(do_teleport(user, pick(L), forceMove = TRUE, channel = TELEPORT_CHANNEL_MAGIC, forced = TRUE)) smoke.start() uses-- if(!uses) - to_chat(user, "[src] has run out of uses and crumbles to dust!") + to_chat(user, span_warning("[src] has run out of uses and crumbles to dust!")) qdel(src) else - to_chat(user, "[src] has [uses] use\s remaining.") + to_chat(user, span_notice("[src] has [uses] use\s remaining.")) else - to_chat(user, "The spell matrix was disrupted by something near the destination.") + to_chat(user, span_warning("The spell matrix was disrupted by something near the destination.")) diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index dae8e9e7d97..acccb4eca20 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -25,33 +25,33 @@ /obj/item/sharpener/attackby(obj/item/I, mob/user, params) if(uses == 0) - to_chat(user, "The sharpening block is too worn to use again!") + to_chat(user, span_warning("The sharpening block is too worn to use again!")) return if(I.force >= max || I.throwforce >= max) //So the whetstone never reduces force or throw_force - to_chat(user, "[I] is much too powerful to sharpen further!") + to_chat(user, span_warning("[I] is much too powerful to sharpen further!")) return if(requires_sharpness && !I.get_sharpness()) - to_chat(user, "You can only sharpen items that are already sharp, such as knives!") + to_chat(user, span_warning("You can only sharpen items that are already sharp, such as knives!")) return if(is_type_in_list(I, list(/obj/item/melee/transforming/energy, /obj/item/dualsaber))) //You can't sharpen the photons in energy meelee weapons - to_chat(user, "You don't think \the [I] will be the thing getting modified if you use it on \the [src]!") + to_chat(user, span_warning("You don't think \the [I] will be the thing getting modified if you use it on \the [src]!")) return //This block is used to check more things if the item has a relevant component. var/signal_out = SEND_SIGNAL(I, COMSIG_ITEM_SHARPEN_ACT, increment, max) //Stores the bitflags returned by SEND_SIGNAL if(signal_out & COMPONENT_BLOCK_SHARPEN_MAXED) //If the item's components enforce more limits on maximum power from sharpening, we fail - to_chat(user, "[I] is much too powerful to sharpen further!") + to_chat(user, span_warning("[I] is much too powerful to sharpen further!")) return if(signal_out & COMPONENT_BLOCK_SHARPEN_BLOCKED) - to_chat(user, "[I] is not able to be sharpened right now!") + to_chat(user, span_warning("[I] is not able to be sharpened right now!")) return if((signal_out & COMPONENT_BLOCK_SHARPEN_ALREADY) || (I.force > initial(I.force) && !signal_out)) //No sharpening stuff twice - to_chat(user, "[I] has already been refined before. It cannot be sharpened further!") + to_chat(user, span_warning("[I] has already been refined before. It cannot be sharpened further!")) return if(!(signal_out & COMPONENT_BLOCK_SHARPEN_APPLIED)) //If the item has a relevant component and COMPONENT_BLOCK_SHARPEN_APPLIED is returned, the item only gets the throw force increase I.force = clamp(I.force + increment, 0, max) I.wound_bonus = I.wound_bonus + increment //wound_bonus has no cap - user.visible_message("[user] sharpens [I] with [src]!", "You sharpen [I], making it much more deadly than before.") + user.visible_message(span_notice("[user] sharpens [I] with [src]!"), span_notice("You sharpen [I], making it much more deadly than before.")) playsound(src, 'sound/items/unsheath.ogg', 25, TRUE) I.sharpness = SHARP_EDGED //When you whetstone something, it becomes an edged weapon, even if it was previously dull or pointy I.throwforce = clamp(I.throwforce + increment, 0, max) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index dd6479ef875..ef38ecba4ef 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -42,17 +42,17 @@ /obj/item/shield/riot/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/melee/baton)) if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") + user.visible_message(span_warning("[user] bashes [src] with [W]!")) playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, TRUE) cooldown = world.time else if(istype(W, /obj/item/stack/sheet/mineral/titanium)) if (obj_integrity >= max_integrity) - to_chat(user, "[src] is already in perfect condition.") + to_chat(user, span_warning("[src] is already in perfect condition.")) else var/obj/item/stack/sheet/mineral/titanium/T = W T.use(1) obj_integrity = max_integrity - to_chat(user, "You repair [src] with [T].") + to_chat(user, span_notice("You repair [src] with [T].")) else return ..() @@ -61,11 +61,11 @@ var/healthpercent = round((obj_integrity/max_integrity) * 100, 1) switch(healthpercent) if(50 to 99) - . += "It looks slightly damaged." + . += span_info("It looks slightly damaged.") if(25 to 50) - . += "It appears heavily damaged." + . += span_info("It appears heavily damaged.") if(0 to 25) - . += "It's falling apart!" + . += span_warning("It's falling apart!") /obj/item/shield/riot/proc/shatter(mob/living/carbon/human/owner) playsound(owner, 'sound/effects/glassbr3.ogg', 100) @@ -74,7 +74,7 @@ /obj/item/shield/riot/on_shield_block(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", damage = 0, attack_type = MELEE_ATTACK) if (obj_integrity <= damage) var/turf/T = get_turf(owner) - T.visible_message("[hitby] destroys [src]!") + T.visible_message(span_warning("[hitby] destroys [src]!")) shatter(owner) qdel(src) return FALSE @@ -154,10 +154,10 @@ if(istype(W, /obj/item/assembly/flash/handheld)) var/obj/item/assembly/flash/handheld/flash = W if(flash.burnt_out) - to_chat(user, "No sense replacing it with a broken bulb!") + to_chat(user, span_warning("No sense replacing it with a broken bulb!")) return else - to_chat(user, "You begin to replace the bulb...") + to_chat(user, span_notice("You begin to replace the bulb...")) if(do_after(user, 20, target = user)) if(flash.burnt_out || !flash || QDELETED(flash)) return @@ -186,7 +186,7 @@ /obj/item/shield/riot/flash/examine(mob/user) . = ..() if (embedded_flash?.burnt_out) - . += "The mounted bulb has burnt out. You can try replacing it with a new one." + . += span_info("The mounted bulb has burnt out. You can try replacing it with a new one.") /obj/item/shield/energy name = "energy combat shield" @@ -219,7 +219,7 @@ /obj/item/shield/energy/attack_self(mob/living/carbon/human/user) if(clumsy_check && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "You beat yourself in the head with [src]!") + to_chat(user, span_userdanger("You beat yourself in the head with [src]!")) user.take_bodypart_damage(5) active = !active icon_state = "[base_icon_state][active]" @@ -230,14 +230,14 @@ throw_speed = on_throw_speed w_class = WEIGHT_CLASS_BULKY playsound(user, 'sound/weapons/saberon.ogg', 35, TRUE) - to_chat(user, "[src] is now active.") + to_chat(user, span_notice("[src] is now active.")) else force = initial(force) throwforce = initial(throwforce) throw_speed = initial(throw_speed) w_class = WEIGHT_CLASS_TINY playsound(user, 'sound/weapons/saberoff.ogg', 35, TRUE) - to_chat(user, "[src] can now be concealed.") + to_chat(user, span_notice("[src] can now be concealed.")) add_fingerprint(user) /obj/item/shield/riot/tele @@ -271,12 +271,12 @@ throw_speed = 2 w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - to_chat(user, "You extend \the [src].") + to_chat(user, span_notice("You extend \the [src].")) else force = 3 throwforce = 3 throw_speed = 3 w_class = WEIGHT_CLASS_NORMAL slot_flags = null - to_chat(user, "[src] can now be concealed.") + to_chat(user, span_notice("[src] can now be concealed.")) add_fingerprint(user) diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index 4a78e5ba271..39ffdd85b25 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -14,7 +14,7 @@ for (var/bullethole in bullethole_overlays) cut_overlay(bullethole) bullethole_overlays = null - to_chat(user, "You slice off [src]'s uneven chunks of aluminium and scorch marks.") + to_chat(user, span_notice("You slice off [src]'s uneven chunks of aluminium and scorch marks.")) return TRUE /obj/item/target/syndicate @@ -54,7 +54,7 @@ if(C.GetPixel(p_x, p_y) && P.original == src && overlays.len <= 35) // if the located pixel isn't blank (null) hp -= P.damage if(hp <= 0) - visible_message("[src] breaks into tiny pieces and collapses!") + visible_message(span_danger("[src] breaks into tiny pieces and collapses!")) qdel(src) var/image/bullet_hole = image('icons/effects/effects.dmi', "scorch", OBJ_LAYER + 0.5) bullet_hole.pixel_x = p_x - 1 //offset correction diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index 9c2b3f5537f..6062d8b3287 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -20,7 +20,7 @@ /obj/item/picket_sign/proc/retext(mob/user) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") + to_chat(user, span_notice("You scribble illegibly on [src]!")) return var/txt = stripped_input(user, "What would you like to write on the sign?", "Sign Label", null , 30) if(txt && user.canUseTopic(src, BE_CLOSE)) diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 65d27e1edb0..9b7f0289e01 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -128,9 +128,9 @@ var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread s.set_up(5, 1, target.loc) s.start() - target.visible_message("[target.name] is shocked by [src]!", \ - "You feel a powerful shock course through your body sending you flying!", \ - "You hear a heavy electrical crack!") + target.visible_message(span_danger("[target.name] is shocked by [src]!"), \ + span_userdanger("You feel a powerful shock course through your body sending you flying!"), \ + span_hear("You hear a heavy electrical crack!")) var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src))) target.throw_at(throw_target, 200, 4) return diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index 58f99981bd5..8ad9b08c033 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -36,7 +36,7 @@ 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!") + user.visible_message(span_suicide("[user] begins to sword-swallow \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/spear/CheckParts(list/parts_list) @@ -106,7 +106,7 @@ ..() /obj/item/spear/explosive/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!") + user.visible_message(span_suicide("[user] begins to sword-swallow \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) user.say("[war_cry]", forced="spear warcry") explosive.forceMove(user) explosive.detonate() @@ -116,7 +116,7 @@ /obj/item/spear/explosive/examine(mob/user) . = ..() - . += "Alt-click to set your war cry." + . += span_notice("Alt-click to set your war cry.") /obj/item/spear/explosive/AltClick(mob/user) if(user.canUseTopic(src, BE_CLOSE)) diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm index 1220f8cef5c..13655ad4e6f 100644 --- a/code/game/objects/items/stacks/bscrystal.dm +++ b/code/game/objects/items/stacks/bscrystal.dm @@ -31,7 +31,7 @@ return 1 /obj/item/stack/ore/bluespace_crystal/attack_self(mob/user) - user.visible_message("[user] crushes [src]!", "You crush [src]!") + user.visible_message(span_warning("[user] crushes [src]!"), span_danger("You crush [src]!")) new /obj/effect/particle_effect/sparks(loc) playsound(loc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) blink_mob(user) @@ -42,7 +42,7 @@ /obj/item/stack/ore/bluespace_crystal/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!..()) // not caught in mid-air - visible_message("[src] fizzles and disappears upon impact!") + visible_message(span_notice("[src] fizzles and disappears upon impact!")) var/turf/T = get_turf(hit_atom) new /obj/effect/particle_effect/sparks(T) playsound(loc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) @@ -79,7 +79,7 @@ var/crystal_type = /obj/item/stack/ore/bluespace_crystal/refined /obj/item/stack/sheet/bluespace_crystal/attack_self(mob/user)// to prevent the construction menu from ever happening - to_chat(user, "You cannot crush the polycrystal in-hand, try breaking one off.") + to_chat(user, span_warning("You cannot crush the polycrystal in-hand, try breaking one off.")) //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/stack/sheet/bluespace_crystal/attack_hand(mob/user, list/modifiers) @@ -90,8 +90,8 @@ user.put_in_hands(BC) use(1) if(!amount) - to_chat(user, "You break the final crystal off.") + to_chat(user, span_notice("You break the final crystal off.")) else - to_chat(user, "You break off a crystal.") + to_chat(user, span_notice("You break off a crystal.")) else ..() diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index bd1d63fe033..1e25ff5188e 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -42,12 +42,12 @@ return if(patient == user) if(!silent) - user.visible_message("[user] starts to apply [src] on [user.p_them()]self...", "You begin applying [src] on yourself...") + user.visible_message(span_notice("[user] starts to apply [src] on [user.p_them()]self..."), span_notice("You begin applying [src] on yourself...")) if(!do_mob(user, patient, self_delay, extra_checks=CALLBACK(patient, /mob/living/proc/try_inject, user, null, INJECT_TRY_SHOW_ERROR_MESSAGE))) return else if(other_delay) if(!silent) - user.visible_message("[user] starts to apply [src] on [patient].", "You begin applying [src] on [patient]...") + user.visible_message(span_notice("[user] starts to apply [src] on [patient]."), span_notice("You begin applying [src] on [patient]...")) if(!do_mob(user, patient, other_delay, extra_checks=CALLBACK(patient, /mob/living/proc/try_inject, user, null, INJECT_TRY_SHOW_ERROR_MESSAGE))) return @@ -60,31 +60,31 @@ /// Apply the actual effects of the healing if it's a simple animal, goes to [/obj/item/stack/medical/proc/heal_carbon] if it's a carbon, returns TRUE if it works, FALSE if it doesn't /obj/item/stack/medical/proc/heal(mob/living/patient, mob/user) if(patient.stat == DEAD) - to_chat(user, "[patient] is dead! You can not help [patient.p_them()].") + to_chat(user, span_warning("[patient] is dead! You can not help [patient.p_them()].")) return if(isanimal(patient) && heal_brute) // only brute can heal var/mob/living/simple_animal/critter = patient if (!critter.healable) - to_chat(user, "You cannot use [src] on [patient]!") + to_chat(user, span_warning("You cannot use [src] on [patient]!")) return FALSE else if (critter.health == critter.maxHealth) - to_chat(user, "[patient] is at full health.") + to_chat(user, span_notice("[patient] is at full health.")) return FALSE user.visible_message("[user] applies [src] on [patient].", "You apply [src] on [patient].") patient.heal_bodypart_damage((heal_brute * 0.5)) return TRUE if(iscarbon(patient)) return heal_carbon(patient, user, heal_brute, heal_burn) - to_chat(user, "You can't heal [patient] with [src]!") + to_chat(user, span_warning("You can't heal [patient] with [src]!")) /// The healing effects on a carbon patient. Since we have extra details for dealing with bodyparts, we get our own fancy proc. Still returns TRUE on success and FALSE on fail /obj/item/stack/medical/proc/heal_carbon(mob/living/carbon/C, mob/user, brute, burn) var/obj/item/bodypart/affecting = C.get_bodypart(check_zone(user.zone_selected)) if(!affecting) //Missing limb? - to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!") + to_chat(user, span_warning("[C] doesn't have \a [parse_zone(user.zone_selected)]!")) return FALSE if(affecting.status != BODYPART_ORGANIC) //Limb must be organic to be healed - RR - to_chat(user, "[src] won't work on a robotic limb!") + to_chat(user, span_warning("[src] won't work on a robotic limb!")) return FALSE if(affecting.brute_dam && brute || affecting.burn_dam && burn) user.visible_message("[user] applies [src] on [C]'s [affecting.name].", "You apply [src] on [C]'s [affecting.name].") @@ -93,7 +93,7 @@ C.update_damage_overlays() post_heal_effects(max(previous_damage - affecting.get_damage(), 0), C, user) return TRUE - to_chat(user, "[C]'s [affecting.name] can not be healed with [src]!") + to_chat(user, span_warning("[C]'s [affecting.name] can not be healed with [src]!")) return FALSE ///Override this proc for special post heal effects. @@ -114,7 +114,7 @@ merge_type = /obj/item/stack/medical/bruise_pack /obj/item/stack/medical/bruise_pack/suicide_act(mob/user) - user.visible_message("[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) /obj/item/stack/medical/gauze @@ -138,10 +138,10 @@ /obj/item/stack/medical/gauze/try_heal(mob/living/M, mob/user, silent) var/obj/item/bodypart/limb = M.get_bodypart(check_zone(user.zone_selected)) if(!limb) - to_chat(user, "There's nothing there to bandage!") + to_chat(user, span_notice("There's nothing there to bandage!")) return if(!LAZYLEN(limb.wounds)) - to_chat(user, "There's no wounds that require bandaging on [user==M ? "your" : "[M]'s"] [limb.name]!") // good problem to have imo + to_chat(user, span_notice("There's no wounds that require bandaging on [user==M ? "your" : "[M]'s"] [limb.name]!")) // good problem to have imo return var/gauzeable_wound = FALSE @@ -151,14 +151,14 @@ gauzeable_wound = TRUE break if(!gauzeable_wound) - to_chat(user, "There's no wounds that require bandaging on [user==M ? "your" : "[M]'s"] [limb.name]!") // good problem to have imo + to_chat(user, span_notice("There's no wounds that require bandaging on [user==M ? "your" : "[M]'s"] [limb.name]!")) // good problem to have imo return if(limb.current_gauze && (limb.current_gauze.absorption_capacity * 0.8 > absorption_capacity)) // ignore if our new wrap is < 20% better than the current one, so someone doesn't bandage it 5 times in a row - to_chat(user, "The bandage currently on [user==M ? "your" : "[M]'s"] [limb.name] is still in good condition!") + to_chat(user, span_warning("The bandage currently on [user==M ? "your" : "[M]'s"] [limb.name] is still in good condition!")) return - user.visible_message("[user] begins wrapping the wounds on [M]'s [limb.name] with [src]...", "You begin wrapping the wounds on [user == M ? "your" : "[M]'s"] [limb.name] with [src]...") + user.visible_message(span_warning("[user] begins wrapping the wounds on [M]'s [limb.name] with [src]..."), span_warning("You begin wrapping the wounds on [user == M ? "your" : "[M]'s"] [limb.name] with [src]...")) if(!do_after(user, (user == M ? self_delay : other_delay), target=M)) return @@ -171,18 +171,18 @@ /obj/item/stack/medical/gauze/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WIRECUTTER || I.get_sharpness()) if(get_amount() < 2) - to_chat(user, "You need at least two gauzes to do this!") + to_chat(user, span_warning("You need at least two gauzes to do this!")) return new /obj/item/stack/sheet/cloth(user.drop_location()) - user.visible_message("[user] cuts [src] into pieces of cloth with [I].", \ - "You cut [src] into pieces of cloth with [I].", \ - "You hear cutting.") + user.visible_message(span_notice("[user] cuts [src] into pieces of cloth with [I]."), \ + span_notice("You cut [src] into pieces of cloth with [I]."), \ + span_hear("You hear cutting.")) use(2) else return ..() /obj/item/stack/medical/gauze/suicide_act(mob/living/user) - user.visible_message("[user] begins tightening [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!") + user.visible_message(span_suicide("[user] begins tightening [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!")) return OXYLOSS /obj/item/stack/medical/gauze/improvised @@ -256,7 +256,7 @@ merge_type = /obj/item/stack/medical/ointment /obj/item/stack/medical/ointment/suicide_act(mob/living/user) - user.visible_message("[user] is squeezing [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?") + user.visible_message(span_suicide("[user] is squeezing [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?")) return TOXLOSS /obj/item/stack/medical/mesh @@ -291,26 +291,26 @@ /obj/item/stack/medical/mesh/try_heal(mob/living/M, mob/user, silent = FALSE) if(!is_open) - to_chat(user, "You need to open [src] first.") + to_chat(user, span_warning("You need to open [src] first.")) return return ..() /obj/item/stack/medical/mesh/AltClick(mob/living/user) if(!is_open) - to_chat(user, "You need to open [src] first.") + to_chat(user, span_warning("You need to open [src] first.")) return return ..() /obj/item/stack/medical/mesh/attack_hand(mob/user, list/modifiers) if(!is_open && user.get_inactive_held_item() == src) - to_chat(user, "You need to open [src] first.") + to_chat(user, span_warning("You need to open [src] first.")) return return ..() /obj/item/stack/medical/mesh/attack_self(mob/user) if(!is_open) is_open = TRUE - to_chat(user, "You open the sterile mesh package.") + to_chat(user, span_notice("You open the sterile mesh package.")) update_appearance() playsound(src, 'sound/items/poster_ripped.ogg', 20, TRUE) return @@ -368,16 +368,16 @@ merge_type = /obj/item/stack/medical/bone_gel /obj/item/stack/medical/bone_gel/attack(mob/living/M, mob/user) - to_chat(user, "Bone gel can only be used on fractured limbs!") + to_chat(user, span_warning("Bone gel can only be used on fractured limbs!")) return /obj/item/stack/medical/bone_gel/suicide_act(mob/user) if(!iscarbon(user)) return var/mob/living/carbon/C = user - C.visible_message("[C] is squirting all of [src] into [C.p_their()] mouth! That's not proper procedure! It looks like [C.p_theyre()] trying to commit suicide!") + C.visible_message(span_suicide("[C] is squirting all of [src] into [C.p_their()] mouth! That's not proper procedure! It looks like [C.p_theyre()] trying to commit suicide!")) if(!do_after(C, 2 SECONDS)) - C.visible_message("[C] screws up like an idiot and still dies anyway!") + C.visible_message(span_suicide("[C] screws up like an idiot and still dies anyway!")) return (BRUTELOSS) C.emote("scream") diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 73745be4fec..84b74dd910a 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -33,7 +33,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ merge_type = /obj/item/stack/rods /obj/item/stack/rods/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to stuff \the [src] down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide!")//it looks like theyre ur mum + user.visible_message(span_suicide("[user] begins to stuff \the [src] down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide!"))//it looks like theyre ur mum return BRUTELOSS /obj/item/stack/rods/Initialize(mapload, new_amount, merge = TRUE, list/mat_override=null, mat_amt=1) @@ -55,14 +55,14 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ /obj/item/stack/rods/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_WELDER) if(get_amount() < 2) - to_chat(user, "You need at least two rods to do this!") + to_chat(user, span_warning("You need at least two rods to do this!")) return if(W.use_tool(src, user, 0, volume=40)) var/obj/item/stack/sheet/iron/new_item = new(usr.loc) - user.visible_message("[user.name] shaped [src] into iron sheets with [W].", \ - "You shape [src] into iron sheets with [W].", \ - "You hear welding.") + user.visible_message(span_notice("[user.name] shaped [src] into iron sheets with [W]."), \ + span_notice("You shape [src] into iron sheets with [W]."), \ + span_hear("You hear welding.")) var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_held_item()==R) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index efbae7a04ba..0eabae36e03 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -33,7 +33,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ source = /datum/robot_energy_storage/glass /obj/item/stack/sheet/glass/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to slice [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to slice [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/stack/sheet/glass/fifty @@ -52,7 +52,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ return CC.use(5) use(1) - to_chat(user, "You attach wire to the [name].") + to_chat(user, span_notice("You attach wire to the [name].")) var/obj/item/stack/light_w/new_tile = new(user.loc) new_tile.add_fingerprint(user) return @@ -67,7 +67,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ if(QDELETED(src) && replace) user.put_in_hands(RG) else - to_chat(user, "You need one rod and one sheet of glass to make reinforced glass!") + to_chat(user, span_warning("You need one rod and one sheet of glass to make reinforced glass!")) return return ..() @@ -112,7 +112,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ if(QDELETED(src) && replace) user.put_in_hands(RG) else - to_chat(user, "You need one rod and one sheet of plasma glass to make reinforced plasma glass!") + to_chat(user, span_warning("You need one rod and one sheet of plasma glass to make reinforced plasma glass!")) return else return ..() @@ -267,7 +267,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( /obj/item/shard/suicide_act(mob/user) - user.visible_message("[user] is slitting [user.p_their()] [pick("wrists", "throat")] with the shard of glass! It looks like [user.p_theyre()] trying to commit suicide.") + user.visible_message(span_suicide("[user] is slitting [user.p_their()] [pick("wrists", "throat")] with the shard of glass! It looks like [user.p_theyre()] trying to commit suicide.")) return (BRUTELOSS) @@ -316,7 +316,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( if(ishuman(user)) var/mob/living/carbon/human/H = user if(!H.gloves && !HAS_TRAIT(H, TRAIT_PIERCEIMMUNE)) // golems, etc - to_chat(H, "[src] cuts into your hand!") + to_chat(H, span_warning("[src] cuts into your hand!")) H.apply_damage(force*0.5, BRUTE, hit_hand) /obj/item/shard/attackby(obj/item/I, mob/user, params) @@ -325,11 +325,11 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( L.attackby(src, user) else if(istype(I, /obj/item/stack/sheet/cloth)) var/obj/item/stack/sheet/cloth/C = I - to_chat(user, "You begin to wrap the [C] around the [src]...") + to_chat(user, span_notice("You begin to wrap the [C] around the [src]...")) if(do_after(user, 35, target = src)) var/obj/item/kitchen/knife/shiv/S = new /obj/item/kitchen/knife/shiv C.use(1) - to_chat(user, "You wrap the [C] around the [src] forming a makeshift weapon.") + to_chat(user, span_notice("You wrap the [C] around the [src] forming a makeshift weapon.")) remove_item_from_storage(src) qdel(src) user.put_in_hands(S) @@ -347,7 +347,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( if(G.amount >= G.max_amount) continue G.attackby(NG, user) - to_chat(user, "You add the newly-formed [NG.name] to the stack. It now contains [NG.amount] sheet\s.") + to_chat(user, span_notice("You add the newly-formed [NG.name] to the stack. It now contains [NG.amount] sheet\s.")) qdel(src) return TRUE diff --git a/code/game/objects/items/stacks/sheets/hot_ice.dm b/code/game/objects/items/stacks/sheets/hot_ice.dm index 8267e3a9b30..142d6c586f8 100644 --- a/code/game/objects/items/stacks/sheets/hot_ice.dm +++ b/code/game/objects/items/stacks/sheets/hot_ice.dm @@ -10,5 +10,5 @@ merge_type = /obj/item/stack/sheet/hot_ice /obj/item/stack/sheet/hot_ice/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins licking \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins licking \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return FIRELOSS//dont you kids know that stuff is toxic? diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index b20570c3940..625ffdde1c4 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -251,9 +251,9 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ /obj/item/stack/sheet/animalhide/attackby(obj/item/W, mob/user, params) if(W.get_sharpness()) playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1) - user.visible_message("[user] starts cutting hair off \the [src].", "You start cutting the hair off \the [src]...", "You hear the sound of a knife rubbing against flesh.") + user.visible_message(span_notice("[user] starts cutting hair off \the [src]."), span_notice("You start cutting the hair off \the [src]..."), span_hear("You hear the sound of a knife rubbing against flesh.")) if(do_after(user, 50, target = src)) - to_chat(user, "You cut the hair from this [src.singular_name].") + to_chat(user, span_notice("You cut the hair from this [src.singular_name].")) new /obj/item/stack/sheet/hairlesshide(user.drop_location(), 1) use(1) else diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm index 7fd45f47ee2..049d26f6423 100644 --- a/code/game/objects/items/stacks/sheets/light.dm +++ b/code/game/objects/items/stacks/sheets/light.dm @@ -19,11 +19,11 @@ var/obj/item/stack/sheet/iron/M = O if (M.use(1)) var/obj/item/L = new /obj/item/stack/tile/light(user.drop_location()) - to_chat(user, "You make a light tile.") + to_chat(user, span_notice("You make a light tile.")) L.add_fingerprint(user) use(1) else - to_chat(user, "You need one iron sheet to finish the light tile!") + to_chat(user, span_warning("You need one iron sheet to finish the light tile!")) else return ..() diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index a0e3553100a..d4bb246a0ff 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -80,7 +80,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ /obj/item/emptysandbag/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/ore/glass)) var/obj/item/stack/ore/glass/G = W - to_chat(user, "You fill the sandbag.") + to_chat(user, span_notice("You fill the sandbag.")) var/obj/item/stack/sheet/mineral/sandbags/I = new /obj/item/stack/sheet/mineral/sandbags(drop_location()) qdel(src) if (Adjacent(user) && !issilicon(user)) @@ -163,7 +163,7 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ walltype = /turf/closed/wall/mineral/plasma /obj/item/stack/sheet/mineral/plasma/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins licking \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins licking \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS//dont you kids know that stuff is toxic? GLOBAL_LIST_INIT(plasma_recipes, list ( \ diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index bb256b9d24a..aa2e19631e4 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -154,7 +154,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ . += GLOB.metal_recipes /obj/item/stack/sheet/iron/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins whacking [user.p_them()]self over the head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins whacking [user.p_them()]self over the head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /* @@ -489,13 +489,13 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ var/atom/droploc = drop_location() if(use(1)) playsound(I, 'sound/items/bikehorn.ogg', 50, TRUE, -1) - to_chat(user, "You stamp the cardboard! It's a clown box! Honk!") + to_chat(user, span_notice("You stamp the cardboard! It's a clown box! Honk!")) if (amount >= 0) new/obj/item/storage/box/clown(droploc) //bugfix if(istype(I, /obj/item/stamp/chameleon) && !istype(loc, /obj/item/storage)) var/atom/droploc = drop_location() if(use(1)) - to_chat(user, "You stamp the cardboard in a sinister way.") + to_chat(user, span_notice("You stamp the cardboard in a sinister way.")) if (amount >= 0) new/obj/item/storage/box/syndie_kit(droploc) else @@ -532,12 +532,12 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list ( \ /obj/item/stack/sheet/runed_metal/attack_self(mob/living/user) if(!IS_CULTIST(user)) - to_chat(user, "Only one with forbidden knowledge could hope to work this metal...") + to_chat(user, span_warning("Only one with forbidden knowledge could hope to work this metal...")) return var/turf/T = get_turf(user) //we may have moved. adjust as needed... var/area/A = get_area(user) if((!is_station_level(T.z) && !is_mining_level(T.z)) || (A && !(A.area_flags & CULT_PERMITTED))) - to_chat(user, "The veil is not weak enough here.") + to_chat(user, span_warning("The veil is not weak enough here.")) return FALSE return ..() diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 92b17d57606..c9b6c04f0b1 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -42,6 +42,6 @@ user.do_attack_animation(src, ATTACK_EFFECT_BOOP) playsound(src, "shatter", 70, TRUE) use(1) - user.visible_message("[user] shatters the sheet of [name] on the floor, leaving [english_list(shards)].", \ - "You shatter the sheet of [name] on the floor, leaving [english_list(shards)].") + user.visible_message(span_notice("[user] shatters the sheet of [name] on the floor, leaving [english_list(shards)]."), \ + span_notice("You shatter the sheet of [name] on the floor, leaving [english_list(shards)].")) return TRUE diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 6a880874a19..f01771a7ce4 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -114,7 +114,7 @@ /obj/item/stack/grind_requirements() if(is_cyborg) - to_chat(usr, "[src] is electronically synthesized in your chassis and can't be ground up!") + to_chat(usr, span_warning("[src] is electronically synthesized in your chassis and can't be ground up!")) return return TRUE @@ -159,7 +159,7 @@ . += "There are [get_amount()] in the stack." else . += "There is [get_amount()] in the stack." - . += "Right-click with an empty hand to take a custom amount." + . += span_notice("Right-click with an empty hand to take a custom amount.") /obj/item/stack/proc/get_amount() if(is_cyborg) @@ -254,7 +254,7 @@ return if(recipe.time) var/adjusted_time = 0 - usr.visible_message("[usr] starts building \a [recipe.title].", "You start building \a [recipe.title]...") + usr.visible_message(span_notice("[usr] starts building \a [recipe.title]."), span_notice("You start building \a [recipe.title]...")) if(HAS_TRAIT(usr, recipe.trait_booster)) adjusted_time = (recipe.time * recipe.trait_modifier) else @@ -312,9 +312,9 @@ /obj/item/stack/proc/building_checks(datum/stack_recipe/recipe, multiplier) if (get_amount() < recipe.req_amount*multiplier) if (recipe.req_amount*multiplier>1) - to_chat(usr, "You haven't got enough [src] to build \the [recipe.req_amount*multiplier] [recipe.title]\s!") + to_chat(usr, span_warning("You haven't got enough [src] to build \the [recipe.req_amount*multiplier] [recipe.title]\s!")) else - to_chat(usr, "You haven't got enough [src] to build \the [recipe.title]!") + to_chat(usr, span_warning("You haven't got enough [src] to build \the [recipe.title]!")) return FALSE var/turf/dest_turf = get_turf(usr) @@ -322,16 +322,16 @@ if(ispath(recipe.result_type, /obj/structure/window)) var/obj/structure/window/result_path = recipe.result_type if(!valid_window_location(dest_turf, usr.dir, is_fulltile = initial(result_path.fulltile))) - to_chat(usr, "The [recipe.title] won't fit here!") + to_chat(usr, span_warning("The [recipe.title] won't fit here!")) return FALSE if(recipe.one_per_turf && (locate(recipe.result_type) in dest_turf)) - to_chat(usr, "There is another [recipe.title] here!") + to_chat(usr, span_warning("There is another [recipe.title] here!")) return FALSE if(recipe.on_floor) if(!isfloorturf(dest_turf)) - to_chat(usr, "\The [recipe.title] must be constructed on the floor!") + to_chat(usr, span_warning("\The [recipe.title] must be constructed on the floor!")) return FALSE for(var/obj/object in dest_turf) @@ -344,7 +344,7 @@ if(!window_structure.fulltile) continue if(object.density || NO_BUILD & object.obj_flags) - to_chat(usr, "There is \a [object.name] here. You can\'t make \a [recipe.title] here!") + to_chat(usr, span_warning("There is \a [object.name] here. You can\'t make \a [recipe.title] here!")) return FALSE if(recipe.placement_checks) switch(recipe.placement_checks) @@ -353,11 +353,11 @@ for(var/direction in GLOB.cardinals) step = get_step(dest_turf, direction) if(locate(recipe.result_type) in step) - to_chat(usr, "\The [recipe.title] must not be built directly adjacent to another!") + to_chat(usr, span_warning("\The [recipe.title] must not be built directly adjacent to another!")) return FALSE if(STACK_CHECK_ADJACENT) if(locate(recipe.result_type) in range(1, dest_turf)) - to_chat(usr, "\The [recipe.title] must be constructed at least one tile away from others of its type!") + to_chat(usr, span_warning("\The [recipe.title] must be constructed at least one tile away from others of its type!")) return FALSE return TRUE @@ -381,11 +381,11 @@ if(get_amount() < amount) if(singular_name) if(amount > 1) - to_chat(user, "You need at least [amount] [singular_name]\s to do this!") + to_chat(user, span_warning("You need at least [amount] [singular_name]\s to do this!")) else - to_chat(user, "You need at least [amount] [singular_name] to do this!") + to_chat(user, span_warning("You need at least [amount] [singular_name] to do this!")) else - to_chat(user, "You need at least [amount] to do this!") + to_chat(user, span_warning("You need at least [amount] to do this!")) return FALSE @@ -473,7 +473,7 @@ if(stackmaterial == null || stackmaterial <= 0 || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user))) return SECONDARY_ATTACK_CONTINUE_CHAIN split_stack(user, stackmaterial) - to_chat(user, "You take [stackmaterial] sheets out of the stack.") + to_chat(user, span_notice("You take [stackmaterial] sheets out of the stack.")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /** Splits the stack into two stacks. @@ -499,7 +499,7 @@ if(can_merge(W)) var/obj/item/stack/S = W if(merge(S)) - to_chat(user, "Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s.") + to_chat(user, span_notice("Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s.")) else . = ..() diff --git a/code/game/objects/items/stacks/tape.dm b/code/game/objects/items/stacks/tape.dm index ddda8d96fde..3507396f548 100644 --- a/code/game/objects/items/stacks/tape.dm +++ b/code/game/objects/items/stacks/tape.dm @@ -21,32 +21,32 @@ /obj/item/stack/sticky_tape/afterattack(obj/item/I, mob/living/user, proximity) if(!proximity) return - + if(!istype(I)) return if(I.embedding && I.embedding == conferred_embed) - to_chat(user, "[I] is already coated in [src]!") + to_chat(user, span_warning("[I] is already coated in [src]!")) return - user.visible_message("[user] begins wrapping [I] with [src].", "You begin wrapping [I] with [src].") + user.visible_message(span_notice("[user] begins wrapping [I] with [src]."), span_notice("You begin wrapping [I] with [src].")) if(do_after(user, 30, target=I)) use(1) if(istype(I, /obj/item/clothing/gloves/fingerless)) var/obj/item/clothing/gloves/tackler/offbrand/O = new /obj/item/clothing/gloves/tackler/offbrand - to_chat(user, "You turn [I] into [O] with [src].") + to_chat(user, span_notice("You turn [I] into [O] with [src].")) QDEL_NULL(I) user.put_in_hands(O) return if(I.embedding && I.embedding == conferred_embed) - to_chat(user, "[I] is already coated in [src]!") + to_chat(user, span_warning("[I] is already coated in [src]!")) return I.embedding = conferred_embed I.updateEmbedding() - to_chat(user, "You finish wrapping [I] with [src].") + to_chat(user, span_notice("You finish wrapping [I] with [src].")) I.name = "[prefix] [I.name]" if(istype(I, /obj/item/grenade)) diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index d390ec63cd1..6cd26928b03 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -18,7 +18,7 @@ if(hidden_uplink) hidden_uplink.telecrystals += amount use(amount) - to_chat(user, "You press [src] onto yourself and charge your hidden uplink.") + to_chat(user, span_notice("You press [src] onto yourself and charge your hidden uplink.")) else return ..() diff --git a/code/game/objects/items/stacks/tiles/tile_iron.dm b/code/game/objects/items/stacks/tiles/tile_iron.dm index c0765bf4aa1..b2d5026ad20 100644 --- a/code/game/objects/items/stacks/tiles/tile_iron.dm +++ b/code/game/objects/items/stacks/tiles/tile_iron.dm @@ -69,13 +69,13 @@ /obj/item/stack/tile/iron/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_WELDER) if(get_amount() < 4) - to_chat(user, "You need at least four tiles to do this!") + to_chat(user, span_warning("You need at least four tiles to do this!")) return if(W.use_tool(src, user, 0, volume=40)) var/obj/item/stack/sheet/iron/new_item = new(user.loc) - user.visible_message("[user] shaped [src] into [new_item] with [W].", \ - "You shaped [src] into [new_item] with [W].", \ - "You hear welding.") + user.visible_message(span_notice("[user] shaped [src] into [new_item] with [W]."), \ + span_notice("You shaped [src] into [new_item] with [W]."), \ + span_hear("You hear welding.")) var/holding = user.is_holding(src) use(4) if(holding && QDELETED(src)) diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index 93b9d9eb4a1..570cc3ce136 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -5,18 +5,18 @@ /obj/item/stack/tile/mineral/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_WELDER) if(get_amount() < 4) - to_chat(user, "You need at least four tiles to do this!") + to_chat(user, span_warning("You need at least four tiles to do this!")) return if(!mineralType) - to_chat(user, "You can not reform this!") + to_chat(user, span_warning("You can not reform this!")) stack_trace("A mineral tile of type [type] doesn't have its' mineralType set.") return if(W.use_tool(src, user, 0, volume=40)) var/sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineralType]") var/obj/item/stack/sheet/mineral/new_item = new sheet_type(user.loc) - user.visible_message("[user] shaped [src] into [new_item] with [W].", \ - "You shaped [src] into [new_item] with [W].", \ - "You hear welding.") + user.visible_message(span_notice("[user] shaped [src] into [new_item] with [W]."), \ + span_notice("You shaped [src] into [new_item] with [W]."), \ + span_hear("You hear welding.")) var/holding = user.is_holding(src) use(4) if(holding && QDELETED(src)) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index b8c7ea79508..a904d487b46 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -37,7 +37,7 @@ /obj/item/stack/tile/examine(mob/user) . = ..() if(tile_reskin_types || tile_rotate_dirs) - . += "Use while in your hand to change what type of [src] you want." + . += span_notice("Use while in your hand to change what type of [src] you want.") if(throwforce && !is_cyborg) //do not want to divide by zero or show the message to borgs who can't throw var/verb switch(CEILING(MAX_LIVING_HEALTH / throwforce, 1)) //throws to crit a human @@ -53,7 +53,7 @@ verb = "mediocre" if(!verb) return - . += "Those could work as a [verb] throwing weapon." + . += span_notice("Those could work as a [verb] throwing weapon.") /obj/item/stack/tile/proc/place_tile(turf/open/T) diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index ab970e88fc9..8a3cc375eef 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -75,7 +75,7 @@ merge_type = /obj/item/stack/package_wrap /obj/item/stack/package_wrap/suicide_act(mob/living/user) - user.visible_message("[user] begins wrapping [user.p_them()]self in \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins wrapping [user.p_them()]self in \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) if(use(3)) var/obj/structure/big_delivery/P = new /obj/structure/big_delivery(get_turf(user.loc)) P.icon_state = "deliverypackage5" @@ -83,7 +83,7 @@ P.add_fingerprint(user) return OXYLOSS else - to_chat(user, "You need more paper!") + to_chat(user, span_warning("You need more paper!")) return SHAME /obj/item/proc/can_be_package_wrapped() //can the item be wrapped with package wrapper into a delivery package @@ -134,7 +134,7 @@ if(O.opened) return if(!O.delivery_icon) //no delivery icon means unwrappable closet (e.g. body bags) - to_chat(user, "You can't wrap this!") + to_chat(user, span_warning("You can't wrap this!")) return if(use(3)) var/obj/structure/big_delivery/P = new /obj/structure/big_delivery(get_turf(O.loc)) @@ -143,13 +143,13 @@ P.add_fingerprint(user) O.add_fingerprint(user) else - to_chat(user, "You need more paper!") + to_chat(user, span_warning("You need more paper!")) return else - to_chat(user, "The object you are trying to wrap is unsuitable for the sorting machinery!") + to_chat(user, span_warning("The object you are trying to wrap is unsuitable for the sorting machinery!")) return - user.visible_message("[user] wraps [target].") + user.visible_message(span_notice("[user] wraps [target].")) user.log_message("has used [name] on [key_name(target)]", LOG_ATTACK, color="blue") /obj/item/stack/package_wrap/use(used, transfer = FALSE) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 05cccae4d42..c10abd24d54 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -67,7 +67,7 @@ STR.max_combined_w_class = 35 /obj/item/storage/backpack/holding/suicide_act(mob/living/user) - user.visible_message("[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide.") + user.visible_message(span_suicide("[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide.")) user.dropItemToGround(src, TRUE) user.Stun(100, ignore_canstun = TRUE) sleep(20) @@ -92,7 +92,7 @@ STR.max_combined_w_class = 60 /obj/item/storage/backpack/santabag/suicide_act(mob/user) - user.visible_message("[user] places [src] over [user.p_their()] head and pulls it tight! It looks like [user.p_they()] [user.p_are()]n't in the Christmas spirit...") + user.visible_message(span_suicide("[user] places [src] over [user.p_their()] head and pulls it tight! It looks like [user.p_they()] [user.p_are()]n't in the Christmas spirit...")) return (OXYLOSS) /obj/item/storage/backpack/santabag/proc/regenerate_presents() diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 8c4434c0a22..320473272c2 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -51,7 +51,7 @@ STR.set_holdable(null, list(/obj/item/disk/nuclear)) /obj/item/storage/bag/trash/suicide_act(mob/user) - user.visible_message("[user] puts [src] over [user.p_their()] head and starts chomping at the insides! Disgusting!") + user.visible_message(span_suicide("[user] puts [src] over [user.p_their()] head and starts chomping at the insides! Disgusting!")) playsound(loc, 'sound/items/eatfood.ogg', 50, TRUE, -1) return (TOXLOSS) @@ -76,7 +76,7 @@ J.mybag=src J.update_appearance() else - to_chat(user, "You are unable to fit your [name] into the [J.name].") + to_chat(user, span_warning("You are unable to fit your [name] into the [J.name].")) return /obj/item/storage/bag/trash/filled @@ -164,17 +164,17 @@ show_message = TRUE else if(!spam_protection) - to_chat(user, "Your [name] is full and can't hold any more!") + to_chat(user, span_warning("Your [name] is full and can't hold any more!")) spam_protection = TRUE continue if(show_message) playsound(user, "rustle", 50, TRUE) if (box) - user.visible_message("[user] offloads the ores beneath [user.p_them()] into [box].", \ - "You offload the ores beneath you into your [box].") + user.visible_message(span_notice("[user] offloads the ores beneath [user.p_them()] into [box]."), \ + span_notice("You offload the ores beneath you into your [box].")) else - user.visible_message("[user] scoops up the ores beneath [user.p_them()].", \ - "You scoop up the ores beneath you with your [name].") + user.visible_message(span_notice("[user] scoops up the ores beneath [user.p_them()]."), \ + span_notice("You scoop up the ores beneath you with your [name].")) spam_protection = FALSE /obj/item/storage/bag/ore/cyborg diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 0c1c4ef90ce..c0674ef914a 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -15,7 +15,7 @@ var/content_overlays = FALSE //If this is true, the belt will gain overlays based on what it's holding /obj/item/storage/belt/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins belting [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins belting [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/storage/belt/update_overlays() @@ -702,18 +702,18 @@ /obj/item/storage/belt/sabre/examine(mob/user) . = ..() if(length(contents)) - . += "Alt-click it to quickly draw the blade." + . += span_notice("Alt-click it to quickly draw the blade.") /obj/item/storage/belt/sabre/AltClick(mob/user) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) return if(length(contents)) var/obj/item/I = contents[1] - user.visible_message("[user] takes [I] out of [src].", "You take [I] out of [src].") + user.visible_message(span_notice("[user] takes [I] out of [src]."), span_notice("You take [I] out of [src].")) user.put_in_hands(I) update_appearance() else - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) /obj/item/storage/belt/sabre/update_icon_state() icon_state = initial(inhand_icon_state) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 38c5561e738..383d9f5eb17 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -16,7 +16,7 @@ STR.max_items = 1 /obj/item/storage/book/attack_self(mob/user) - to_chat(user, "The pages of [title] have been cut out!") + to_chat(user, span_notice("The pages of [title] have been cut out!")) GLOBAL_LIST_INIT(biblenames, list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon", "Insulationism", "Guru Granth Sahib")) //If you get these two lists not matching in size, there will be runtimes and I will hurt you in ways you couldn't even begin to imagine @@ -48,7 +48,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", AddComponent(/datum/component/anti_magic, FALSE, TRUE) /obj/item/storage/book/bible/suicide_act(mob/user) - user.visible_message("[user] is offering [user.p_them()]self to [deity_name]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is offering [user.p_them()]self to [deity_name]! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) /obj/item/storage/book/bible/attack_self(mob/living/carbon/human/user) @@ -118,7 +118,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", for(var/X in H.bodyparts) var/obj/item/bodypart/BP = X if(BP.status == BODYPART_ROBOTIC) - to_chat(user, "[src.deity_name] refuses to heal this metallic taint!") + to_chat(user, span_warning("[src.deity_name] refuses to heal this metallic taint!")) return 0 var/heal_amt = 10 @@ -129,8 +129,8 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", var/obj/item/bodypart/affecting = X if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC)) H.update_damage_overlays() - H.visible_message("[user] heals [H] with the power of [deity_name]!") - to_chat(H, "May the power of [deity_name] compel you to be healed!") + H.visible_message(span_notice("[user] heals [H] with the power of [deity_name]!")) + to_chat(H, span_boldnotice("May the power of [deity_name] compel you to be healed!")) playsound(src.loc, "punch", 25, TRUE, -1) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) return 1 @@ -138,11 +138,11 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", /obj/item/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE) if (!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return if (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "[src] slips out of your hand and hits your head.") + to_chat(user, span_danger("[src] slips out of your hand and hits your head.")) user.take_bodypart_damage(10) user.Unconscious(400) return @@ -152,7 +152,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", chaplain = 1 if(!chaplain) - to_chat(user, "The book sizzles in your hands.") + to_chat(user, span_danger("The book sizzles in your hands.")) user.take_bodypart_damage(0,10) return @@ -163,7 +163,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", if (M.stat != DEAD) if(chaplain && user == M) - to_chat(user, "You can't heal yourself!") + to_chat(user, span_warning("You can't heal yourself!")) return if(prob(60) && bless(M, user)) @@ -172,16 +172,16 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", var/mob/living/carbon/C = M if(!istype(C.head, /obj/item/clothing/head/helmet)) C.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5, 60) - to_chat(C, "You feel dumber.") + to_chat(C, span_danger("You feel dumber.")) if(smack) - M.visible_message("[user] beats [M] over the head with [src]!", \ - "[user] beats [M] over the head with [src]!") + M.visible_message(span_danger("[user] beats [M] over the head with [src]!"), \ + span_userdanger("[user] beats [M] over the head with [src]!")) playsound(src.loc, "punch", 25, TRUE, -1) log_combat(user, M, "attacked", src) else - M.visible_message("[user] smacks [M]'s lifeless corpse with [src].") + M.visible_message(span_danger("[user] smacks [M]'s lifeless corpse with [src].")) playsound(src.loc, "punch", 25, TRUE, -1) /obj/item/storage/book/bible/afterattack(atom/A, mob/user, proximity) @@ -189,30 +189,30 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", if(!proximity) return if(isfloorturf(A)) - to_chat(user, "You hit the floor with the bible.") + to_chat(user, span_notice("You hit the floor with the bible.")) if(user.mind && (user.mind.holy_role)) for(var/obj/effect/rune/R in orange(2,user)) R.invisibility = 0 if(user?.mind?.holy_role) if(A.reagents && A.reagents.has_reagent(/datum/reagent/water)) // blesses all the water in the holder - to_chat(user, "You bless [A].") + to_chat(user, span_notice("You bless [A].")) var/water2holy = A.reagents.get_reagent_amount(/datum/reagent/water) A.reagents.del_reagent(/datum/reagent/water) A.reagents.add_reagent(/datum/reagent/water/holywater,water2holy) if(A.reagents && A.reagents.has_reagent(/datum/reagent/fuel/unholywater)) // yeah yeah, copy pasted code - sue me - to_chat(user, "You purify [A].") + to_chat(user, span_notice("You purify [A].")) var/unholy2clean = A.reagents.get_reagent_amount(/datum/reagent/fuel/unholywater) A.reagents.del_reagent(/datum/reagent/fuel/unholywater) A.reagents.add_reagent(/datum/reagent/water/holywater,unholy2clean) if(istype(A, /obj/item/storage/book/bible) && !istype(A, /obj/item/storage/book/bible/syndicate)) - to_chat(user, "You purify [A], conforming it to your belief.") + to_chat(user, span_notice("You purify [A], conforming it to your belief.")) var/obj/item/storage/book/bible/B = A B.name = name B.icon_state = icon_state B.inhand_icon_state = inhand_icon_state if(istype(A, /obj/item/cult_bastard) && !IS_CULTIST(user)) var/obj/item/cult_bastard/sword = A - to_chat(user, "You begin to exorcise [sword].") + to_chat(user, span_notice("You begin to exorcise [sword].")) playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE) if(do_after(user, 40, target = sword)) playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE) @@ -229,13 +229,13 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", SS.release_shades(user) qdel(SS) new /obj/item/nullrod/claymore(get_turf(sword)) - user.visible_message("[user] purifies [sword]!") + user.visible_message(span_notice("[user] purifies [sword]!")) qdel(sword) else if(istype(A, /obj/item/soulstone) && !IS_CULTIST(user)) var/obj/item/soulstone/SS = A if(SS.theme == THEME_HOLY) return - to_chat(user, "You begin to exorcise [SS].") + to_chat(user, span_notice("You begin to exorcise [SS].")) playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE) if(do_after(user, 40, target = SS)) playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE) @@ -249,21 +249,21 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", for(var/mob/living/simple_animal/shade/EX in SS) EX.icon_state = "ghost1" EX.name = "Purified [initial(EX.name)]" - user.visible_message("[user] purifies [SS]!") + user.visible_message(span_notice("[user] purifies [SS]!")) else if(istype(A, /obj/item/nullrod/scythe/talking)) var/obj/item/nullrod/scythe/talking/sword = A - to_chat(user, "You begin to exorcise [sword]...") + to_chat(user, span_notice("You begin to exorcise [sword]...")) playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE) if(do_after(user, 40, target = sword)) playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE) for(var/mob/living/simple_animal/shade/S in sword.contents) - to_chat(S, "You were destroyed by the exorcism!") + to_chat(S, span_userdanger("You were destroyed by the exorcism!")) qdel(S) sword.possessed = FALSE //allows the chaplain (or someone else) to reroll a new spirit for their sword sword.name = initial(sword.name) REMOVE_TRAIT(sword, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) //in case the "sword" is a possessed dummy - user.visible_message("[user] exorcises [sword]!", \ - "You successfully exorcise [sword]!") + user.visible_message(span_notice("[user] exorcises [sword]!"), \ + span_notice("You successfully exorcise [sword]!")) /obj/item/storage/book/bible/booze desc = "To be applied to the head repeatedly." @@ -289,12 +289,12 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", if (uses) H.mind.holy_role = HOLY_ROLE_PRIEST uses -= 1 - to_chat(H, "You try to open the book AND IT BITES YOU!") + to_chat(H, span_userdanger("You try to open the book AND IT BITES YOU!")) playsound(src.loc, 'sound/effects/snap.ogg', 50, TRUE) H.apply_damage(5, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - to_chat(H, "Your name appears on the inside cover, in blood.") + to_chat(H, span_notice("Your name appears on the inside cover, in blood.")) var/ownername = H.real_name - desc += "The name [ownername] is written in blood inside the cover." + desc += span_warning("The name [ownername] is written in blood inside the cover.") /obj/item/storage/book/bible/syndicate/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE) if (!user.combat_mode) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 03f844e9dc3..0030a24eeb3 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -41,12 +41,12 @@ /obj/item/storage/box/suicide_act(mob/living/carbon/user) var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) if(myhead) - user.visible_message("[user] puts [user.p_their()] head into \the [src], and begins closing it! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] puts [user.p_their()] head into \the [src], and begins closing it! It looks like [user.p_theyre()] trying to commit suicide!")) myhead.dismember() myhead.forceMove(src)//force your enemies to kill themselves with your head collection box! playsound(user, "desecration-01.ogg", 50, TRUE, -1) return BRUTELOSS - user.visible_message("[user] beating [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] beating [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/storage/box/update_overlays() @@ -60,12 +60,12 @@ if(!foldable || (flags_1 & HOLOGRAM_1)) return if(contents.len) - to_chat(user, "You can't fold this box with items still inside!") + to_chat(user, span_warning("You can't fold this box with items still inside!")) return if(!ispath(foldable)) return - to_chat(user, "You fold [src] flat.") + to_chat(user, span_notice("You fold [src] flat.")) var/obj/item/I = new foldable qdel(src) user.put_in_hands(I) @@ -812,14 +812,14 @@ foldable = null /obj/item/storage/box/hug/suicide_act(mob/user) - user.visible_message("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..") + user.visible_message(span_suicide("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..")) return (BRUTELOSS) /obj/item/storage/box/hug/attack_self(mob/user) ..() user.changeNext_move(CLICK_CD_MELEE) playsound(loc, "rustle", 50, TRUE, -5) - user.visible_message("[user] hugs \the [src].","You hug \the [src].") + user.visible_message(span_notice("[user] hugs \the [src]."),span_notice("You hug \the [src].")) /////clown box & honkbot assembly /obj/item/storage/box/clown @@ -830,12 +830,12 @@ /obj/item/storage/box/clown/attackby(obj/item/I, mob/user, params) if((istype(I, /obj/item/bodypart/l_arm/robot)) || (istype(I, /obj/item/bodypart/r_arm/robot))) if(contents.len) //prevent accidently deleting contents - to_chat(user, "You need to empty [src] out first!") + to_chat(user, span_warning("You need to empty [src] out first!")) return if(!user.temporarilyRemoveItemFromInventory(I)) return qdel(I) - to_chat(user, "You add some wheels to the [src]! You've got a honkbot assembly now! Honk!") + to_chat(user, span_notice("You add some wheels to the [src]! You've got a honkbot assembly now! Honk!")) var/obj/item/bot_assembly/honkbot/A = new qdel(src) user.put_in_hands(A) @@ -970,19 +970,19 @@ desc = "A paper sack with a crude smile etched onto the side." else return FALSE - to_chat(user, "You make some modifications to [src] using your pen.") + to_chat(user, span_notice("You make some modifications to [src] using your pen.")) icon_state = "paperbag_[choice]" inhand_icon_state = "paperbag_[choice]" return FALSE else if(W.get_sharpness()) if(!contents.len) if(inhand_icon_state == "paperbag_None") - user.show_message("You cut eyeholes into [src].", MSG_VISUAL) + user.show_message(span_notice("You cut eyeholes into [src]."), MSG_VISUAL) new /obj/item/clothing/head/papersack(user.loc) qdel(src) return FALSE else if(inhand_icon_state == "paperbag_SmileyFace") - user.show_message("You cut eyeholes into [src] and modify the design.", MSG_VISUAL) + user.show_message(span_notice("You cut eyeholes into [src] and modify the design."), MSG_VISUAL) new /obj/item/clothing/head/papersack/smiley(user.loc) qdel(src) return FALSE @@ -1001,10 +1001,10 @@ if(user.incapacitated()) return FALSE if(contents.len) - to_chat(user, "You can't modify [src] with items still inside!") + to_chat(user, span_warning("You can't modify [src] with items still inside!")) return FALSE if(!P || !user.is_holding(P)) - to_chat(user, "You need a pen to modify [src]!") + to_chat(user, span_warning("You need a pen to modify [src]!")) return FALSE return TRUE diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 872c1f2ee5a..9598813476b 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -53,7 +53,7 @@ if(contents.len) return new fold_result(user.drop_location()) - to_chat(user, "You fold the [src] into [initial(fold_result.name)].") + to_chat(user, span_notice("You fold the [src] into [initial(fold_result.name)].")) user.put_in_active_hand(fold_result) qdel(src) @@ -165,7 +165,7 @@ /obj/item/storage/fancy/candle_box/attack_self(mob/user) if(!contents.len) new fold_result(user.drop_location()) - to_chat(user, "You fold the [src] into [initial(fold_result.name)].") + to_chat(user, span_notice("You fold the [src] into [initial(fold_result.name)].")) user.put_in_active_hand(fold_result) qdel(src) @@ -198,7 +198,7 @@ if(contents.len != 0 || !spawn_coupon) return ..() - to_chat(user, "You rip the back off \the [src] and get a coupon!") + to_chat(user, span_notice("You rip the back off \the [src] and get a coupon!")) var/obj/item/coupon/attached_coupon = new user.put_in_hands(attached_coupon) attached_coupon.generate(rigged_omen) @@ -219,9 +219,9 @@ /obj/item/storage/fancy/cigarettes/examine(mob/user) . = ..() - . += "Alt-click to extract contents." + . += span_notice("Alt-click to extract contents.") if(spawn_coupon) - . += "There's a coupon on the back of the pack! You can tear it off once it's empty." + . += span_notice("There's a coupon on the back of the pack! You can tear it off once it's empty.") /obj/item/storage/fancy/cigarettes/AltClick(mob/user) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) @@ -231,9 +231,9 @@ SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, W, user) user.put_in_hands(W) contents -= W - to_chat(user, "You take \a [W] out of the pack.") + to_chat(user, span_notice("You take \a [W] out of the pack.")) else - to_chat(user, "There are no [contents_tag]s left in the pack.") + to_chat(user, span_notice("There are no [contents_tag]s left in the pack.")) /obj/item/storage/fancy/cigarettes/update_icon_state() . = ..() @@ -269,7 +269,7 @@ 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.") + to_chat(user, span_notice("There are no [contents_tag]s left in the pack.")) return if(target != user || !contents.len || user.wear_mask) return ..() @@ -277,7 +277,7 @@ 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.") + to_chat(user, span_notice("You take \a [cig] out of the pack.")) return diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index d873f15ab18..fca94c4905a 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -24,7 +24,7 @@ desc = "A first aid kit with the ability to heal common types of injuries." /obj/item/storage/firstaid/regular/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins giving [user.p_them()]self aids with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins giving [user.p_them()]self aids with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/storage/firstaid/regular/PopulateContents() @@ -158,7 +158,7 @@ damagetype_healed = BURN /obj/item/storage/firstaid/fire/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins rubbing \the [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to start a fire!") + user.visible_message(span_suicide("[user] begins rubbing \the [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to start a fire!")) return FIRELOSS /obj/item/storage/firstaid/fire/Initialize(mapload) @@ -183,7 +183,7 @@ damagetype_healed = TOX /obj/item/storage/firstaid/toxin/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins licking the lead paint off \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins licking the lead paint off \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS /obj/item/storage/firstaid/toxin/Initialize(mapload) @@ -208,7 +208,7 @@ damagetype_healed = OXY /obj/item/storage/firstaid/o2/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins hitting [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins hitting [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS /obj/item/storage/firstaid/o2/Initialize(mapload) @@ -233,7 +233,7 @@ damagetype_healed = BRUTE /obj/item/storage/firstaid/brute/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins beating [user.p_them()]self over the head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins beating [user.p_them()]self over the head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/storage/firstaid/brute/Initialize(mapload) @@ -298,7 +298,7 @@ //Making a medibot! if(contents.len >= 1) - to_chat(user, "You need to empty [src] out first!") + to_chat(user, span_warning("You need to empty [src] out first!")) return var/obj/item/bot_assembly/medbot/A = new @@ -313,7 +313,7 @@ else if (istype(src, /obj/item/storage/firstaid/advanced)) A.set_skin("advanced") user.put_in_hands(A) - to_chat(user, "You add [S] to [src].") + to_chat(user, span_notice("You add [S] to [src].")) A.robot_arm = S.type A.firstaid = type qdel(S) @@ -341,7 +341,7 @@ STR.set_holdable(list(/obj/item/reagent_containers/pill, /obj/item/dice)) /obj/item/storage/pill_bottle/suicide_act(mob/user) - user.visible_message("[user] is trying to get the cap off [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is trying to get the cap off [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (TOXLOSS) /obj/item/storage/pill_bottle/multiver @@ -622,18 +622,18 @@ var/obj/item/reagent_containers/RC = I var/units = RC.reagents.trans_to(src, RC.amount_per_transfer_from_this, transfered_by = user) if(units) - to_chat(user, "You transfer [units] units of the solution to [src].") + to_chat(user, span_notice("You transfer [units] units of the solution to [src].")) return if(istype(I, /obj/item/plunger)) - to_chat(user, "You start furiously plunging [name].") + to_chat(user, span_notice("You start furiously plunging [name].")) if(do_after(user, 10, target = src)) - to_chat(user, "You finish plunging the [name].") + to_chat(user, span_notice("You finish plunging the [name].")) reagents.clear_reagents() return return ..() /obj/item/storage/organbox/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is putting [user.p_theyre()] head inside the [src], it looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting [user.p_theyre()] head inside the [src], it looks like [user.p_theyre()] trying to commit suicide!")) user.adjust_bodytemperature(-300) user.apply_status_effect(/datum/status_effect/freon) return (OXYLOSS) diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index eebcca2c357..86b54ec9e95 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -25,27 +25,27 @@ var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) if(W.GetID()) if(broken) - to_chat(user, "It appears to be broken.") + to_chat(user, span_danger("It appears to be broken.")) return if(allowed(user)) SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, !locked) locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) if(locked) icon_state = icon_locked - to_chat(user, "You lock the [src.name]!") + to_chat(user, span_danger("You lock the [src.name]!")) SEND_SIGNAL(src, COMSIG_TRY_STORAGE_HIDE_ALL) return else icon_state = icon_closed - to_chat(user, "You unlock the [src.name]!") + to_chat(user, span_danger("You unlock the [src.name]!")) return else - to_chat(user, "Access Denied.") + to_chat(user, span_danger("Access Denied.")) return if(!locked) return ..() else - to_chat(user, "It's locked!") + to_chat(user, span_danger("It's locked!")) /obj/item/storage/lockbox/emag_act(mob/user) if(!broken) @@ -54,7 +54,7 @@ desc += "It appears to be broken." icon_state = src.icon_broken if(user) - visible_message("\The [src] is broken by [user] with an electromagnetic card!") + visible_message(span_warning("\The [src] is broken by [user] with an electromagnetic card!")) return /obj/item/storage/lockbox/Entered() @@ -108,7 +108,7 @@ /obj/item/storage/lockbox/medal/examine(mob/user) . = ..() if(!SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) - . += "Alt-click to [open ? "close":"open"] it." + . += span_notice("Alt-click to [open ? "close":"open"] it.") /obj/item/storage/lockbox/medal/AltClick(mob/user) if(user.canUseTopic(src, BE_CLOSE)) @@ -233,6 +233,6 @@ SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, !privacy_lock) privacy_lock = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) - user.visible_message("[user] [privacy_lock ? "" : "un"]locks [src]'s privacy lock.", - "You [privacy_lock ? "" : "un"]lock [src]'s privacy lock.") + user.visible_message(span_notice("[user] [privacy_lock ? "" : "un"]locks [src]'s privacy lock."), + span_notice("You [privacy_lock ? "" : "un"]lock [src]'s privacy lock.")) diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index 58e06e39f0b..5d588169eb6 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -41,26 +41,26 @@ if (W.tool_behaviour == TOOL_SCREWDRIVER) if (W.use_tool(src, user, 20)) open = !open - to_chat(user, "You [open ? "open" : "close"] the service panel.") + to_chat(user, span_notice("You [open ? "open" : "close"] the service panel.")) return if (W.tool_behaviour == TOOL_WIRECUTTER) - to_chat(user, "[src] is protected from this sort of tampering, yet it appears the internal memory wires can still be pulsed.") + to_chat(user, span_danger("[src] is protected from this sort of tampering, yet it appears the internal memory wires can still be pulsed.")) return if (W.tool_behaviour == TOOL_MULTITOOL) if(l_hacking) - to_chat(user, "This safe is already being hacked.") + to_chat(user, span_danger("This safe is already being hacked.")) return if(open == TRUE) - to_chat(user, "Now attempting to reset internal memory, please hold.") + to_chat(user, span_danger("Now attempting to reset internal memory, please hold.")) l_hacking = TRUE if (W.use_tool(src, user, 400)) - to_chat(user, "Internal memory reset - lock has been disengaged.") + to_chat(user, span_danger("Internal memory reset - lock has been disengaged.")) l_set = FALSE l_hacking = FALSE return - to_chat(user, "You must unscrew the service panel before you can pulse the wiring!") + to_chat(user, span_warning("You must unscrew the service panel before you can pulse the wiring!")) return // -> storage/attackby() what with handle insertion, etc diff --git a/code/game/objects/items/storage/sixpack.dm b/code/game/objects/items/storage/sixpack.dm index 3a1f9b2720c..4190c089807 100644 --- a/code/game/objects/items/storage/sixpack.dm +++ b/code/game/objects/items/storage/sixpack.dm @@ -10,7 +10,7 @@ max_integrity = 500 /obj/item/storage/cans/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins popping open a final cold one with the boys! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins popping open a final cold one with the boys! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/storage/cans/update_icon_state() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 0e8d8dbcd70..1e1ccd58a0f 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -38,7 +38,7 @@ /obj/item/storage/toolbox/suicide_act(mob/user) - user.visible_message("[user] robusts [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] robusts [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) /obj/item/storage/toolbox/emergency @@ -292,7 +292,7 @@ if(!is_type_in_list(src, allowed_toolbox) && (type != /obj/item/storage/toolbox)) return if(contents.len >= 1) - to_chat(user, "They won't fit in, as there is already stuff inside!") + to_chat(user, span_warning("They won't fit in, as there is already stuff inside!")) return if(T.use(10)) var/obj/item/bot_assembly/floorbot/B = new @@ -310,10 +310,10 @@ B.toolbox_color = "s" user.put_in_hands(B) B.update_appearance() - to_chat(user, "You add the tiles into the empty [name]. They protrude from the top.") + to_chat(user, span_notice("You add the tiles into the empty [name]. They protrude from the top.")) qdel(src) else - to_chat(user, "You need 10 floor tiles to start building a floorbot!") + to_chat(user, span_warning("You need 10 floor tiles to start building a floorbot!")) return diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index d38f0fcc7fa..c0e6494f820 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -117,7 +117,7 @@ /obj/item/storage/wallet/examine() . = ..() if(front_id) - . += "Alt-click to remove the id." + . += span_notice("Alt-click to remove the id.") /obj/item/storage/wallet/get_id_examine_strings(mob/user) . = ..() diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index d22f9efec13..c6b74aa0d1e 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -43,18 +43,18 @@ /obj/item/melee/baton/suicide_act(mob/user) if(cell?.charge && turned_on) - user.visible_message("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!")) . = (FIRELOSS) attack(user,user) else - user.visible_message("[user] is shoving the [name] down their throat! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is shoving the [name] down their throat! It looks like [user.p_theyre()] trying to commit suicide!")) . = (OXYLOSS) /obj/item/melee/baton/Initialize() . = ..() // Adding an extra break for the sake of presentation if(stamina_loss_amt != 0) - offensive_notes = "\nVarious interviewed security forces report being able to beat criminals into exhaustion with only [round(100 / stamina_loss_amt, 0.1)] hit\s!" + offensive_notes = "\nVarious interviewed security forces report being able to beat criminals into exhaustion with only [span_warning("[round(100 / stamina_loss_amt, 0.1)] hit\s!")]" if(preload_cell_type) if(!ispath(preload_cell_type,/obj/item/stock_parts/cell)) log_mapping("[src] at [AREACOORD(src)] had an invalid preload_cell_type: [preload_cell_type].") @@ -124,23 +124,23 @@ /obj/item/melee/baton/examine(mob/user) . = ..() if(cell) - . += "\The [src] is [round(cell.percent())]% charged." + . += span_notice("\The [src] is [round(cell.percent())]% charged.") else - . += "\The [src] does not have a power source installed." + . += span_warning("\The [src] does not have a power source installed.") /obj/item/melee/baton/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = W if(cell) - to_chat(user, "[src] already has a cell!") + to_chat(user, span_warning("[src] already has a cell!")) else if(C.maxcharge < cell_hit_cost) - to_chat(user, "[src] requires a higher capacity cell.") + to_chat(user, span_notice("[src] requires a higher capacity cell.")) return if(!user.transferItemToLoc(W, src)) return cell = W - to_chat(user, "You install a cell in [src].") + to_chat(user, span_notice("You install a cell in [src].")) update_appearance() else if(W.tool_behaviour == TOOL_SCREWDRIVER) @@ -153,7 +153,7 @@ cell.update_appearance() cell.forceMove(get_turf(src)) cell = null - to_chat(user, "You remove the cell from [src].") + to_chat(user, span_notice("You remove the cell from [src].")) turned_on = FALSE update_appearance() @@ -163,22 +163,22 @@ /obj/item/melee/baton/proc/toggle_on(mob/user) if(cell && cell.charge >= cell_hit_cost) turned_on = !turned_on - to_chat(user, "[src] is now [turned_on ? "on" : "off"].") + to_chat(user, span_notice("[src] is now [turned_on ? "on" : "off"].")) playsound(src, activate_sound, 75, TRUE, -1) else turned_on = FALSE if(!cell) - to_chat(user, "[src] does not have a power source!") + to_chat(user, span_warning("[src] does not have a power source!")) else - to_chat(user, "[src] is out of charge.") + to_chat(user, span_warning("[src] is out of charge.")) update_appearance() add_fingerprint(user) /obj/item/melee/baton/proc/clumsy_check(mob/living/carbon/human/user) if(turned_on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) playsound(src, stun_sound, 75, TRUE, -1) - user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ - "You accidentally hit yourself with [src]!") + user.visible_message(span_danger("[user] accidentally hits [user.p_them()]self with [src]!"), \ + span_userdanger("You accidentally hit yourself with [src]!")) user.Knockdown(stun_time*3) //should really be an equivalent to attack(user,user) deductcharge(cell_hit_cost) return TRUE @@ -211,18 +211,18 @@ user.do_attack_animation(M) return else - to_chat(user, "The baton is still charging!") + to_chat(user, span_danger("The baton is still charging!")) return else - M.visible_message("[user] prods [M] with [src]. Luckily it was off.", \ - "[user] prods you with [src]. Luckily it was off.") + M.visible_message(span_warning("[user] prods [M] with [src]. Luckily it was off."), \ + span_warning("[user] prods you with [src]. Luckily it was off.")) return /obj/item/melee/baton/proc/baton_effect(mob/living/L, mob/user) if(shields_blocked(L, user)) return FALSE if(HAS_TRAIT_FROM(L, TRAIT_IWASBATONED, user)) //no doublebaton abuse anon! - to_chat(user, "[L] manages to avoid the attack!") + to_chat(user, span_danger("[L] manages to avoid the attack!")) return FALSE if(iscyborg(loc)) var/mob/living/silicon/robot/R = loc @@ -244,8 +244,8 @@ if(user) L.lastattacker = user.real_name L.lastattackerckey = user.ckey - L.visible_message("[user] stuns [L] with [src]!", \ - "[user] stuns you with [src]!") + L.visible_message(span_danger("[user] stuns [L] with [src]!"), \ + span_userdanger("[user] stuns you with [src]!")) log_combat(user, L, "stunned") playsound(src, stun_sound, 50, TRUE, -1) @@ -261,7 +261,7 @@ /obj/item/melee/baton/proc/apply_stun_effect_end(mob/living/target) var/trait_check = HAS_TRAIT(target, TRAIT_STUNRESISTANCE) //var since we check it in out to_chat as well as determine stun duration if(!target.IsKnockdown()) - to_chat(target, "Your muscles seize, making you collapse[trait_check ? ", but your body quickly recovers..." : "!"]") + to_chat(target, span_warning("Your muscles seize, making you collapse[trait_check ? ", but your body quickly recovers..." : "!"]")) if(trait_check) target.Knockdown(stun_time * 0.1) diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index c4ecf3353c5..5a61818c5f0 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -36,7 +36,7 @@ else if(istype(action, /datum/action/item_action/jetpack_stabilization)) if(on) stabilizers = !stabilizers - to_chat(user, "You turn the jetpack stabilization [stabilizers ? "on" : "off"].") + to_chat(user, span_notice("You turn the jetpack stabilization [stabilizers ? "on" : "off"].")) else toggle_internals(user) @@ -47,10 +47,10 @@ if(!on) turn_on(user) - to_chat(user, "You turn the jetpack on.") + to_chat(user, span_notice("You turn the jetpack on.")) else turn_off(user) - to_chat(user, "You turn the jetpack off.") + to_chat(user, span_notice("You turn the jetpack off.")) for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() @@ -118,7 +118,7 @@ if (istype(user, /mob/living/carbon/human/)) var/mob/living/carbon/human/H = user H.say("WHAT THE FUCK IS CARBON DIOXIDE?") - H.visible_message("[user] is suffocating [user.p_them()]self with [src]! It looks like [user.p_they()] didn't read what that jetpack says!") + H.visible_message(span_suicide("[user] is suffocating [user.p_them()]self with [src]! It looks like [user.p_they()] didn't read what that jetpack says!")) return (OXYLOSS) else ..() @@ -136,7 +136,7 @@ /obj/item/tank/jetpack/improvised/allow_thrust(num, mob/living/user) if(rand(0,250) == 0) - to_chat(user, "You feel your jetpack's engines cut out.") + to_chat(user, span_notice("You feel your jetpack's engines cut out.")) turn_off(user) return return ..() @@ -213,12 +213,12 @@ /obj/item/tank/jetpack/suit/cycle(mob/user) if(!istype(loc, /obj/item/clothing/suit/space/hardsuit)) - to_chat(user, "\The [src] must be connected to a hardsuit!") + to_chat(user, span_warning("\The [src] must be connected to a hardsuit!")) return var/mob/living/carbon/human/H = user if(!istype(H.s_store, /obj/item/tank/internals)) - to_chat(user, "You need a tank in your suit storage!") + to_chat(user, span_warning("You need a tank in your suit storage!")) return ..() diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 039fd8e646b..e449579597c 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -48,25 +48,25 @@ return if(H.internal == src) - to_chat(H, "You close [src] valve.") + to_chat(H, span_notice("You close [src] valve.")) H.internal = null H.update_internals_hud_icon(0) else if(!H.getorganslot(ORGAN_SLOT_BREATHING_TUBE)) if(!H.wear_mask) - to_chat(H, "You need a mask!") + to_chat(H, span_warning("You need a mask!")) return var/is_clothing = isclothing(H.wear_mask) if(is_clothing && H.wear_mask.mask_adjusted) H.wear_mask.adjustmask(H) if(!is_clothing || !(H.wear_mask.clothing_flags & MASKINTERNALS)) - to_chat(H, "[H.wear_mask] can't use [src]!") + to_chat(H, span_warning("[H.wear_mask] can't use [src]!")) return if(H.internal) - to_chat(H, "You switch your internals to [src].") + to_chat(H, span_notice("You switch your internals to [src].")) else - to_chat(H, "You open [src] valve.") + to_chat(H, span_notice("You open [src] valve.")) H.internal = src H.update_internals_hud_icon(1) H.update_action_buttons_icon() @@ -104,10 +104,10 @@ icon = src.loc if(!in_range(src, user) && !isobserver(user)) if(icon == src) - . += "If you want any more information you'll need to get closer." + . += span_notice("If you want any more information you'll need to get closer.") return - . += "The pressure gauge reads [round(src.air_contents.return_pressure(),0.01)] kPa." + . += span_notice("The pressure gauge reads [round(src.air_contents.return_pressure(),0.01)] kPa.") var/celsius_temperature = air_contents.temperature-T0C var/descriptive @@ -125,7 +125,7 @@ else descriptive = "furiously hot" - . += "It feels [descriptive]." + . += span_notice("It feels [descriptive].") /obj/item/tank/deconstruct(disassembled = TRUE) var/atom/location = loc @@ -136,14 +136,14 @@ /obj/item/tank/suicide_act(mob/user) var/mob/living/carbon/human/H = user - user.visible_message("[user] is putting [src]'s valve to [user.p_their()] lips! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting [src]'s valve to [user.p_their()] lips! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/effects/spray.ogg', 10, TRUE, -3) if(!QDELETED(H) && air_contents && air_contents.return_pressure() >= 1000) ADD_TRAIT(H, TRAIT_DISFIGURED, TRAIT_GENERIC) H.inflate_gib() return MANUAL_SUICIDE else - to_chat(user, "There isn't enough pressure in [src] to commit suicide with...") + to_chat(user, span_warning("There isn't enough pressure in [src] to commit suicide with...")) return SHAME /obj/item/tank/attackby(obj/item/W, mob/user, params) @@ -303,7 +303,7 @@ if(obj_integrity < 0) // So we don't play the alerts while we are exploding or rupturing. return - visible_message("[src] springs a leak!") + visible_message(span_warning("[src] springs a leak!")) playsound(src, 'sound/effects/spray.ogg', 10, TRUE, -3) /// Handles rupturing and fragmenting diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 401e4e8cd99..631512d7122 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -40,7 +40,7 @@ if(!istype(user)) return if(user.get_item_by_slot(user.getBackSlot()) != src) - to_chat(user, "The watertank must be worn properly to use!") + to_chat(user, span_warning("The watertank must be worn properly to use!")) return if(user.incapacitated()) return @@ -50,7 +50,7 @@ if(noz in src) //Detach the nozzle into the user's hands if(!user.put_in_hands(noz)) - to_chat(user, "You need a free hand to hold the mister!") + to_chat(user, span_warning("You need a free hand to hold the mister!")) return else //Remove from their hands and put back "into" the tank @@ -132,7 +132,7 @@ /obj/item/reagent_containers/spray/mister/doMove(atom/destination) if(destination && (destination != tank.loc || !ismob(destination))) if (loc != tank) - to_chat(tank.loc, "The mister snaps back onto the watertank.") + to_chat(tank.loc, span_notice("The mister snaps back onto the watertank.")) destination = tank ..() @@ -169,7 +169,7 @@ return new /obj/item/reagent_containers/spray/mister/janitor(src) /obj/item/reagent_containers/spray/mister/janitor/mode_change_message(mob/user) - to_chat(user, "You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray.") + to_chat(user, span_notice("You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray.")) //ATMOS FIRE FIGHTING BACKPACK @@ -240,7 +240,7 @@ /obj/item/extinguisher/mini/nozzle/doMove(atom/destination) if(destination && (destination != tank.loc || !ismob(destination))) if(loc != tank) - to_chat(tank.loc, "The nozzle snaps back onto the tank.") + to_chat(tank.loc, span_notice("The nozzle snaps back onto the tank.")) destination = tank ..() @@ -249,17 +249,17 @@ if(EXTINGUISHER) nozzle_mode = RESIN_LAUNCHER tank.icon_state = "waterbackpackatmos_1" - to_chat(user, "Swapped to resin launcher.") + to_chat(user, span_notice("Swapped to resin launcher.")) return if(RESIN_LAUNCHER) nozzle_mode = RESIN_FOAM tank.icon_state = "waterbackpackatmos_2" - to_chat(user, "Swapped to resin foamer.") + to_chat(user, span_notice("Swapped to resin foamer.")) return if(RESIN_FOAM) nozzle_mode = EXTINGUISHER tank.icon_state = "waterbackpackatmos_0" - to_chat(user, "Swapped to water extinguisher.") + to_chat(user, span_notice("Swapped to water extinguisher.")) return return @@ -275,10 +275,10 @@ return //Safety check so you don't blast yourself trying to refill your tank var/datum/reagents/R = reagents if(R.total_volume < 100) - to_chat(user, "You need at least 100 units of water to use the resin launcher!") + to_chat(user, span_warning("You need at least 100 units of water to use the resin launcher!")) return if(resin_cooldown) - to_chat(user, "Resin launcher is still recharging...") + to_chat(user, span_warning("Resin launcher is still recharging...")) return resin_cooldown = TRUE R.remove_any(100) @@ -296,7 +296,7 @@ return for(var/S in target) if(istype(S, /obj/effect/particle_effect/foam/metal/resin) || istype(S, /obj/structure/foamedmetal/resin)) - to_chat(user, "There's already resin here!") + to_chat(user, span_warning("There's already resin here!")) return if(metal_synthesis_cooldown < 5) var/obj/effect/particle_effect/foam/metal/resin/F = new (get_turf(target)) @@ -304,7 +304,7 @@ metal_synthesis_cooldown++ addtimer(CALLBACK(src, .proc/reduce_metal_synth_cooldown), 10 SECONDS) else - to_chat(user, "Resin foam mix is still being synthesized...") + to_chat(user, span_warning("Resin foam mix is still being synthesized...")) return /obj/item/extinguisher/mini/nozzle/proc/reduce_metal_synth_cooldown() @@ -366,7 +366,7 @@ if(!istype(user)) return if (user.get_item_by_slot(ITEM_SLOT_BACK) != src) - to_chat(user, "The chemtank needs to be on your back before you can activate it!") + to_chat(user, span_warning("The chemtank needs to be on your back before you can activate it!")) return if(on) turn_off() @@ -397,13 +397,13 @@ on = TRUE START_PROCESSING(SSobj, src) if(ismob(loc)) - to_chat(loc, "[src] turns on.") + to_chat(loc, span_notice("[src] turns on.")) /obj/item/reagent_containers/chemtank/proc/turn_off() on = FALSE STOP_PROCESSING(SSobj, src) if(ismob(loc)) - to_chat(loc, "[src] turns off.") + to_chat(loc, span_notice("[src] turns off.")) /obj/item/reagent_containers/chemtank/process(delta_time) if(!ishuman(loc)) diff --git a/code/game/objects/items/taster.dm b/code/game/objects/items/taster.dm index 29fa6de03cb..9759eb7a0e2 100644 --- a/code/game/objects/items/taster.dm +++ b/code/game/objects/items/taster.dm @@ -14,9 +14,9 @@ return if(!O.reagents) - to_chat(user, "[src] cannot taste [O], since [O.p_they()] [O.p_have()] have no reagents.") + to_chat(user, span_notice("[src] cannot taste [O], since [O.p_they()] [O.p_have()] have no reagents.")) else if(O.reagents.total_volume == 0) - to_chat(user, "[src] cannot taste [O], since [O.p_they()] [O.p_are()] empty.") + to_chat(user, "[src] cannot taste [O], since [O.p_they()] [O.p_are()] empty.") else var/message = O.reagents.generate_taste_message(user, taste_sensitivity) to_chat(user, "[src] tastes [message] in [O].") diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm index aa8872b7369..078b723db18 100644 --- a/code/game/objects/items/tcg/tcg.dm +++ b/code/game/objects/items/tcg/tcg.dm @@ -137,7 +137,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) if(istype(I, /obj/item/tcgcard_deck)) var/obj/item/tcgcard_deck/old_deck = I if(length(old_deck.contents) >= 30) - to_chat(user, "This pile has too many cards for a regular deck!") + to_chat(user, span_notice("This pile has too many cards for a regular deck!")) return user.transferItemToLoc(src, old_deck) flipped = old_deck.flipped @@ -212,7 +212,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) /obj/item/tcgcard_deck/examine(mob/user) . = ..() - . += "\The [src] has [contents.len] cards inside." + . += span_notice("\The [src] has [contents.len] cards inside.") /obj/item/tcgcard_deck/attack_hand(mob/user, list/modifiers) var/list/choices = list( @@ -253,7 +253,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) . = ..() if(istype(I, /obj/item/tcgcard)) if(contents.len > 30) - to_chat(user, "This pile has too many cards for a regular deck!") + to_chat(user, span_notice("This pile has too many cards for a regular deck!")) return FALSE var/obj/item/tcgcard/new_card = I new_card.flipped = flipped @@ -274,8 +274,8 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) user.put_in_hands(drawn_card) drawn_card.flipped = flipped //If it's a face down deck, it'll be drawn face down, if it's a face up pile you'll draw it face up. drawn_card.update_icon_state() - user.visible_message("[user] draws a card from \the [src]!", \ - "You draw a card from \the [src]!") + user.visible_message(span_notice("[user] draws a card from \the [src]!"), \ + span_notice("You draw a card from \the [src]!")) if(contents.len <= 1) var/obj/item/tcgcard/final_card = contents[1] user.transferItemToLoc(final_card, drop_location()) @@ -294,8 +294,8 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) if(user.active_storage) user.active_storage.close(user) if(visable) - user.visible_message("[user] shuffles \the [src]!", \ - "You shuffle \the [src]!") + user.visible_message(span_notice("[user] shuffles \the [src]!"), \ + span_notice("You shuffle \the [src]!")) /** diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 871a9b10d56..b0ba3ea363f 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -138,7 +138,7 @@ /obj/item/hand_tele/proc/try_dispel_portal(atom/target, mob/user) if(is_parent_of_portal(target)) qdel(target) - to_chat(user, "You dispel [target] with \the [src]!") + to_chat(user, span_notice("You dispel [target] with \the [src]!")) return TRUE return FALSE @@ -154,7 +154,7 @@ portal_location = last_portal_location_ref.resolve() if (isnull(portal_location)) - to_chat(user, "[src] flashes briefly. No target is locked in.") + to_chat(user, span_warning("[src] flashes briefly. No target is locked in.")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN try_create_portal_to(user, portal_location) @@ -204,7 +204,7 @@ /// Takes either PORTAL_LOCATION_DANGEROUS or an /obj/machinery/computer/teleport/computer. /obj/item/hand_tele/proc/try_create_portal_to(mob/user, teleport_location) if (active_portal_pairs.len >= max_portal_pairs) - user.show_message("[src] is recharging!") + user.show_message(span_notice("[src] is recharging!")) return var/teleport_turf @@ -227,12 +227,12 @@ teleport_turf = computer.target if (teleport_turf == null) - to_chat(user, "[src] vibrates, then stops. Maybe you should try something else.") + to_chat(user, span_notice("[src] vibrates, then stops. Maybe you should try something else.")) return var/area/teleport_area = get_area(teleport_turf) if (teleport_area.area_flags & NOTELEPORT) - to_chat(user, "[src] is malfunctioning.") + to_chat(user, span_notice("[src] is malfunctioning.")) return if (!can_teleport_notifies(user)) @@ -254,7 +254,7 @@ investigate_log("was used by [key_name(user)] at [AREACOORD(user)] to create a portal pair with destinations [AREACOORD(portal1)] and [AREACOORD(portal2)].", INVESTIGATE_PORTAL) add_fingerprint(user) - user.show_message("Locked in.", MSG_AUDIBLE) + user.show_message(span_notice("Locked in."), MSG_AUDIBLE) return TRUE @@ -262,7 +262,7 @@ var/turf/current_location = get_turf(user) var/area/current_area = current_location.loc if (!current_location || (current_area.area_flags & NOTELEPORT) || is_away_level(current_location.z) || !isturf(user.loc)) - to_chat(user, "[src] is malfunctioning.") + to_chat(user, span_notice("[src] is malfunctioning.")) return FALSE return TRUE @@ -291,16 +291,16 @@ /obj/item/hand_tele/suicide_act(mob/user) if(iscarbon(user)) - user.visible_message("[user] is creating a weak portal and sticking [user.p_their()] head through! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is creating a weak portal and sticking [user.p_their()] head through! It looks like [user.p_theyre()] trying to commit suicide!")) var/mob/living/carbon/itemUser = user var/obj/item/bodypart/head/head = itemUser.get_bodypart(BODY_ZONE_HEAD) if(head) head.drop_limb() var/list/safeLevels = SSmapping.levels_by_any_trait(list(ZTRAIT_SPACE_RUINS, ZTRAIT_LAVA_RUINS, ZTRAIT_STATION, ZTRAIT_MINING)) head.forceMove(locate(rand(1, world.maxx), rand(1, world.maxy), pick(safeLevels))) - itemUser.visible_message("The portal snaps closed taking [user]'s head with it!") + itemUser.visible_message(span_suicide("The portal snaps closed taking [user]'s head with it!")) else - itemUser.visible_message("[user] looks even further depressed as they realize they do not have a head...and suddenly dies of shame!") + itemUser.visible_message(span_suicide("[user] looks even further depressed as they realize they do not have a head...and suddenly dies of shame!")) return (BRUTELOSS) #undef PORTAL_LOCATION_DANGEROUS diff --git a/code/game/objects/items/teleprod.dm b/code/game/objects/items/teleprod.dm index 1a0f3142b98..2e2eee5f678 100644 --- a/code/game/objects/items/teleprod.dm +++ b/code/game/objects/items/teleprod.dm @@ -9,8 +9,8 @@ /obj/item/melee/baton/cattleprod/teleprod/attack(mob/living/carbon/M, mob/living/carbon/user)//handles making things teleport when hit ..() if(turned_on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ - "You accidentally hit yourself with [src]!") + user.visible_message(span_danger("[user] accidentally hits [user.p_them()]self with [src]!"), \ + span_userdanger("You accidentally hit yourself with [src]!")) if(do_teleport(user, get_turf(user), 50, channel = TELEPORT_CHANNEL_BLUESPACE))//honk honk SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) user.Paralyze(stun_time*3) @@ -37,8 +37,8 @@ qdel(src) BSC.use(1) user.put_in_hands(S) - to_chat(user, "You place the bluespace crystal firmly into the igniter.") + to_chat(user, span_notice("You place the bluespace crystal firmly into the igniter.")) else - user.visible_message("You can't put the crystal onto the stunprod while it has a power cell installed!") + user.visible_message(span_warning("You can't put the crystal onto the stunprod while it has a power cell installed!")) else return ..() diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 5a88d94e77c..697b233ae4d 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -36,7 +36,7 @@ radiation_pulse(src, 400, 2) /obj/item/nuke_core/suicide_act(mob/user) - user.visible_message("[user] is rubbing [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is rubbing [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!")) return (TOXLOSS) //nuke core box, for carrying the core @@ -60,7 +60,7 @@ ncore.forceMove(src) core = ncore icon_state = "core_container_loaded" - to_chat(user, "Container is sealing...") + to_chat(user, span_warning("Container is sealing...")) addtimer(CALLBACK(src, .proc/seal), 50) return TRUE @@ -70,12 +70,12 @@ icon_state = "core_container_sealed" playsound(src, 'sound/items/deconstruct.ogg', 60, TRUE) if(ismob(loc)) - to_chat(loc, "[src] is permanently sealed, [core]'s radiation is contained.") + to_chat(loc, span_warning("[src] is permanently sealed, [core]'s radiation is contained.")) /obj/item/nuke_core_container/attackby(obj/item/nuke_core/core, mob/user) if(istype(core)) if(!user.temporarilyRemoveItemFromInventory(core)) - to_chat(user, "The [core] is stuck to your hand!") + to_chat(user, span_warning("The [core] is stuck to your hand!")) return else load(core, user) @@ -139,16 +139,16 @@ if(istype(W, /obj/item/hemostat/supermatter)) var/obj/item/hemostat/supermatter/tongs = W if (tongs.sliver) - to_chat(user, "\The [tongs] is already holding a supermatter sliver!") + to_chat(user, span_warning("\The [tongs] is already holding a supermatter sliver!")) return FALSE forceMove(tongs) tongs.sliver = src tongs.update_appearance() - to_chat(user, "You carefully pick up [src] with [tongs].") + to_chat(user, span_notice("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 else - to_chat(user, "As it touches \the [src], both \the [src] and \the [W] burst into dust!") + to_chat(user, span_notice("As it touches \the [src], both \the [src] and \the [W] burst into dust!")) radiation_pulse(user, 100) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) qdel(W) @@ -168,9 +168,9 @@ else message_admins("[src] has consumed [key_name_admin(victim)] [ADMIN_JMP(src)] via throw impact.") investigate_log("has consumed [key_name(victim)] via throw impact.", INVESTIGATE_SUPERMATTER) - victim.visible_message("As [victim] is hit by [src], both flash into dust and silence fills the room...",\ - "You're hit by [src] and everything suddenly goes silent.\n[src] flashes into dust, and soon as you can register this, you do as well.",\ - "Everything suddenly goes silent.") + victim.visible_message(span_danger("As [victim] is hit by [src], both flash into dust and silence fills the room..."),\ + span_userdanger("You're hit by [src] and everything suddenly goes silent.\n[src] flashes into dust, and soon as you can register this, you do as well."),\ + span_hear("Everything suddenly goes silent.")) victim.dust() radiation_pulse(src, 500, 2) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) @@ -180,9 +180,9 @@ ..() if(!isliving(user) || user.status_flags & GODMODE) //try to keep this in sync with supermatter's consume fail conditions return FALSE - user.visible_message("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!",\ - "You reach for [src] with your hands. That was dumb.",\ - "Everything suddenly goes silent.") + user.visible_message(span_danger("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!"),\ + span_userdanger("You reach for [src] with your hands. That was dumb."),\ + span_hear("Everything suddenly goes silent.")) radiation_pulse(user, 500, 2) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) user.dust() @@ -204,7 +204,7 @@ T.sliver = null T.icon_state = "supermatter_tongs" icon_state = "core_container_loaded" - to_chat(user, "Container is sealing...") + to_chat(user, span_warning("Container is sealing...")) addtimer(CALLBACK(src, .proc/seal), 50) return TRUE @@ -214,7 +214,7 @@ icon_state = "core_container_sealed" playsound(src, 'sound/items/Deconstruct.ogg', 60, TRUE) if(ismob(loc)) - to_chat(loc, "[src] is permanently sealed, [sliver] is safely contained.") + to_chat(loc, span_warning("[src] is permanently sealed, [sliver] is safely contained.")) /obj/item/nuke_core_container/supermatter/attackby(obj/item/hemostat/supermatter/tongs, mob/user) if(istype(tongs)) @@ -268,7 +268,7 @@ /obj/item/hemostat/supermatter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) // no instakill supermatter javelins if(sliver) sliver.forceMove(loc) - visible_message("\The [sliver] falls out of \the [src] as it hits the ground.") + visible_message(span_notice("\The [sliver] falls out of \the [src] as it hits the ground.")) sliver = null update_appearance() return ..() @@ -290,9 +290,9 @@ qdel(AM) if (user) log_combat(user, AM, "consumed", sliver, "via [src]") - user.visible_message("As [user] touches [AM] with \the [src], both flash into dust and silence fills the room...",\ - "You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well.",\ - "Everything suddenly goes silent.") + user.visible_message(span_danger("As [user] touches [AM] with \the [src], both flash into dust and silence fills the room..."),\ + span_userdanger("You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well."),\ + span_hear("Everything suddenly goes silent.")) user.dust() radiation_pulse(src, 500, 2) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 60a4782e288..f5bb13bc8d3 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -23,7 +23,7 @@ var/force_opens = FALSE /obj/item/crowbar/suicide_act(mob/user) - user.visible_message("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/genhit.ogg', 50, TRUE, -1) return (BRUTELOSS) @@ -86,10 +86,10 @@ /obj/item/crowbar/power/suicide_act(mob/user) if(tool_behaviour == TOOL_CROWBAR) - user.visible_message("[user] is putting [user.p_their()] head in [src], it looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting [user.p_their()] head in [src], it looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/jaws_pry.ogg', 50, TRUE, -1) else - user.visible_message("[user] is wrapping \the [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!") + user.visible_message(span_suicide("[user] is wrapping \the [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!")) playsound(loc, 'sound/items/jaws_cut.ogg', 50, TRUE, -1) if(iscarbon(user)) var/mob/living/carbon/C = user @@ -103,13 +103,13 @@ playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, TRUE) if(tool_behaviour == TOOL_CROWBAR) tool_behaviour = TOOL_WIRECUTTER - to_chat(user, "You attach the cutting jaws to [src].") + to_chat(user, span_notice("You attach the cutting jaws to [src].")) usesound = 'sound/items/jaws_cut.ogg' update_appearance() else tool_behaviour = TOOL_CROWBAR - to_chat(user, "You attach the prying jaws to [src].") + to_chat(user, span_notice("You attach the prying jaws to [src].")) usesound = 'sound/items/jaws_pry.ogg' update_appearance() @@ -129,13 +129,13 @@ /obj/item/crowbar/power/attack(mob/living/carbon/C, mob/user) if(istype(C) && C.handcuffed && tool_behaviour == TOOL_WIRECUTTER) - user.visible_message("[user] cuts [C]'s restraints with [src]!") + user.visible_message(span_notice("[user] cuts [C]'s restraints with [src]!")) qdel(C.handcuffed) return else if(istype(C) && C.has_status_effect(STATUS_EFFECT_CHOKINGSTRAND) && tool_behaviour == TOOL_WIRECUTTER) - user.visible_message("[user] attempts to cut the durathread strand from around [C]'s neck.") + user.visible_message(span_notice("[user] attempts to cut the durathread strand from around [C]'s neck.")) if(do_after(user, 1.5 SECONDS, C)) - user.visible_message("[user] succesfully cuts the durathread strand from around [C]'s neck.") + user.visible_message(span_notice("[user] succesfully cuts the durathread strand from around [C]'s neck.")) C.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND) playsound(loc, usesound, 50, TRUE, -1) return diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 721befbd6f4..289991c9116 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -44,7 +44,7 @@ ) /obj/item/screwdriver/suicide_act(mob/user) - user.visible_message("[user] is stabbing [src] into [user.p_their()] [pick("temple", "heart")]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is stabbing [src] into [user.p_their()] [pick("temple", "heart")]! It looks like [user.p_theyre()] trying to commit suicide!")) return(BRUTELOSS) /obj/item/screwdriver/Initialize() @@ -98,9 +98,9 @@ /obj/item/screwdriver/power/suicide_act(mob/user) if(tool_behaviour == TOOL_SCREWDRIVER) - user.visible_message("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!")) else - user.visible_message("[user] is pressing [src] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is pressing [src] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/drill_use.ogg', 50, TRUE, -1) return(BRUTELOSS) @@ -108,11 +108,11 @@ playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, TRUE) if(tool_behaviour == TOOL_SCREWDRIVER) tool_behaviour = TOOL_WRENCH - to_chat(user, "You attach the bolt bit to [src].") + to_chat(user, span_notice("You attach the bolt bit to [src].")) icon_state = "drill_bolt" else tool_behaviour = TOOL_SCREWDRIVER - to_chat(user, "You attach the screw bit to [src].") + to_chat(user, span_notice("You attach the screw bit to [src].")) icon_state = "drill_screw" /obj/item/screwdriver/cyborg diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 859667391ca..d63721d9dad 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -95,7 +95,7 @@ /obj/item/weldingtool/suicide_act(mob/user) - user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!")) return (FIRELOSS) @@ -122,8 +122,8 @@ if(affecting && affecting.status == BODYPART_ROBOTIC && !user.combat_mode) if(src.use_tool(H, user, 0, volume=50, amount=1)) if(user == H) - user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.name].", - "You start fixing some of the dents on [H == user ? "your" : "[H]'s"] [affecting.name].") + user.visible_message(span_notice("[user] starts to fix some of the dents on [H]'s [affecting.name]."), + span_notice("You start fixing some of the dents on [H == user ? "your" : "[H]'s"] [affecting.name].")) if(!do_mob(user, H, 50)) return item_heal_robotic(H, user, 15, 0) @@ -146,7 +146,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].") + to_chat(user, span_notice("You empty [src]'s fuel tank into [O].")) update_appearance() /obj/item/weldingtool/attack_qdeleted(atom/O, mob/user, proximity) @@ -221,12 +221,12 @@ //Switches the welder on /obj/item/weldingtool/proc/switched_on(mob/user) if(!status) - to_chat(user, "[src] can't be turned on while unsecured!") + to_chat(user, span_warning("[src] can't be turned on while unsecured!")) return set_welding(!welding) if(welding) if(get_fuel() >= 1) - to_chat(user, "You switch [src] on.") + to_chat(user, span_notice("You switch [src] on.")) playsound(loc, acti_sound, 50, TRUE) force = 15 damtype = BURN @@ -234,10 +234,10 @@ update_appearance() START_PROCESSING(SSobj, src) else - to_chat(user, "You need more fuel!") + to_chat(user, span_warning("You need more fuel!")) switched_off(user) else - to_chat(user, "You switch [src] off.") + to_chat(user, span_notice("You switch [src] off.")) playsound(loc, deac_sound, 50, TRUE) switched_off(user) @@ -265,26 +265,26 @@ // If welding tool ran out of fuel during a construction task, construction fails. /obj/item/weldingtool/tool_use_check(mob/living/user, amount) if(!isOn() || !check_fuel()) - to_chat(user, "[src] has to be on to complete this task!") + to_chat(user, span_warning("[src] has to be on to complete this task!")) return FALSE if(get_fuel() >= amount) return TRUE else - to_chat(user, "You need more welding fuel to complete this task!") + to_chat(user, span_warning("You need more welding fuel to complete this task!")) return FALSE /obj/item/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user) if(welding) - to_chat(user, "Turn it off first!") + to_chat(user, span_warning("Turn it off first!")) return status = !status if(status) - to_chat(user, "You resecure [src] and close the fuel tank.") + to_chat(user, span_notice("You resecure [src] and close the fuel tank.")) reagents.flags &= ~(OPENCONTAINER) else - to_chat(user, "[src] can now be attached, modified, and refuelled.") + to_chat(user, span_notice("[src] can now be attached, modified, and refuelled.")) reagents.flags |= OPENCONTAINER add_fingerprint(user) @@ -297,14 +297,14 @@ user.transferItemToLoc(src, F, TRUE) F.weldtool = src add_fingerprint(user) - to_chat(user, "You add a rod to a welder, starting to build a flamethrower.") + to_chat(user, span_notice("You add a rod to a welder, starting to build a flamethrower.")) user.put_in_hands(F) else - to_chat(user, "You need one rod to start building a flamethrower!") + to_chat(user, span_warning("You need one rod to start building a flamethrower!")) /obj/item/weldingtool/ignition_effect(atom/A, mob/user) if(use_tool(A, user, 0, amount=1)) - return "[user] casually lights [A] with [src], what a badass." + return span_notice("[user] casually lights [A] with [src], what a badass.") else return "" diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index ee5ea27b49d..c7d73ee92f2 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -46,13 +46,13 @@ /obj/item/wirecutters/attack(mob/living/carbon/C, mob/user) if(istype(C) && C.handcuffed && istype(C.handcuffed, /obj/item/restraints/handcuffs/cable)) - user.visible_message("[user] cuts [C]'s restraints with [src]!") + user.visible_message(span_notice("[user] cuts [C]'s restraints with [src]!")) qdel(C.handcuffed) return else if(istype(C) && C.has_status_effect(STATUS_EFFECT_CHOKINGSTRAND)) - user.visible_message("[user] attempts to cut the durathread strand from around [C]'s neck.") + user.visible_message(span_notice("[user] attempts to cut the durathread strand from around [C]'s neck.")) if(do_after(user, 1.5 SECONDS, C)) - user.visible_message("[user] succesfully cuts the durathread strand from around [C]'s neck.") + user.visible_message(span_notice("[user] succesfully cuts the durathread strand from around [C]'s neck.")) C.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND) playsound(loc, usesound, 50, TRUE, -1) return @@ -60,7 +60,7 @@ ..() /obj/item/wirecutters/suicide_act(mob/user) - user.visible_message("[user] is cutting at [user.p_their()] arteries with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is cutting at [user.p_their()] arteries with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, usesound, 50, TRUE, -1) return (BRUTELOSS) diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index bdfd188095e..259f261dc45 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -23,7 +23,7 @@ armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) /obj/item/wrench/suicide_act(mob/user) - user.visible_message("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/genhit.ogg', 50, TRUE, -1) return (BRUTELOSS) @@ -50,10 +50,10 @@ /obj/item/wrench/medical/examine(mob/user) . = ..() if(suicider) - . += "For some reason, it reminds you of [suicider]." + . += span_notice("For some reason, it reminds you of [suicider].") /obj/item/wrench/medical/suicide_act(mob/living/user) - user.visible_message("[user] is praying to the medical wrench to take [user.p_their()] soul. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is praying to the medical wrench to take [user.p_their()] soul. It looks like [user.p_theyre()] trying to commit suicide!")) user.Stun(100, ignore_canstun = TRUE)// Stun stops them from wandering off user.set_light_color(COLOR_VERY_SOFT_YELLOW) user.set_light(2) @@ -102,7 +102,7 @@ tool_behaviour = initial(tool_behaviour) toolspeed = initial(toolspeed) playsound(user, 'sound/weapons/saberoff.ogg', 5, TRUE) - to_chat(user, "[src] can now be kept at bay.") + to_chat(user, span_warning("[src] can now be kept at bay.")) else on = TRUE force = 6 @@ -111,7 +111,7 @@ tool_behaviour = TOOL_WRENCH toolspeed = 1 playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) - to_chat(user, "[src] is now active. Woe onto your enemies!") + to_chat(user, span_warning("[src] is now active. Woe onto your enemies!")) update_appearance() /obj/item/wrench/combat/update_icon_state() diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index 5f9d1e9177f..f7ae99edc81 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -86,12 +86,12 @@ if(!attacker) //if there's no attacker, then attacker_controller IS the attacker if(!in_range(src, attacker_controller)) - attacker_controller.visible_message("[attacker_controller] is running from [src]! The coward!") + attacker_controller.visible_message(span_suicide("[attacker_controller] is running from [src]! The coward!")) return FALSE else // if there's an attacker, we can procede as normal if(!in_range(src, attacker)) //and the two toys aren't next to each other, the battle ends - attacker_controller.visible_message(" [attacker] and [src] separate, ending the battle. ", \ - " [attacker] and [src] separate, ending the battle. ") + attacker_controller.visible_message(span_notice(" [attacker] and [src] separate, ending the battle. "), \ + span_notice(" [attacker] and [src] separate, ending the battle. ")) return FALSE //dead men tell no tales, incapacitated men fight no fights @@ -99,8 +99,8 @@ return FALSE //if the attacker_controller isn't next to the attacking toy (and doesn't have telekinesis), the battle ends if(!in_range(attacker, attacker_controller) && !(attacker_controller.dna.check_mutation(TK))) - attacker_controller.visible_message(" [attacker_controller.name] seperates from [attacker], ending the battle.", \ - " You separate from [attacker], ending the battle. ") + attacker_controller.visible_message(span_notice(" [attacker_controller.name] seperates from [attacker], ending the battle."), \ + span_notice(" You separate from [attacker], ending the battle. ")) return FALSE //if it's PVP and the opponent is not next to the defending(src) toy (and doesn't have telekinesis), the battle ends @@ -108,14 +108,14 @@ if(opponent.incapacitated()) return FALSE if(!in_range(src, opponent) && !(opponent.dna.check_mutation(TK))) - opponent.visible_message(" [opponent.name] seperates from [src], ending the battle.", \ - " You separate from [src], ending the battle. ") + opponent.visible_message(span_notice(" [opponent.name] seperates from [src], ending the battle."), \ + span_notice(" You separate from [src], ending the battle. ")) return FALSE //if it's not PVP and the attacker_controller isn't next to the defending toy (and doesn't have telekinesis), the battle ends else if (!in_range(src, attacker_controller) && !(attacker_controller.dna.check_mutation(TK))) - attacker_controller.visible_message(" [attacker_controller.name] seperates from [src] and [attacker], ending the battle.", \ - " You separate [attacker] and [src], ending the battle. ") + attacker_controller.visible_message(span_notice(" [attacker_controller.name] seperates from [src] and [attacker], ending the battle."), \ + span_notice(" You separate [attacker] and [src], ending the battle. ")) return FALSE //if all that is good, then we can sleep peacefully @@ -125,7 +125,7 @@ //all credit to skasi for toy mech fun ideas /obj/item/toy/prize/attack_self(mob/user) if(timer < world.time) - to_chat(user, "You play with [src].") + to_chat(user, span_notice("You play with [src].")) timer = world.time + cooldown if(!quiet) playsound(user, 'sound/mecha/mechstep.ogg', 20, TRUE) @@ -154,11 +154,11 @@ */ /obj/item/toy/prize/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) if(target == user) - to_chat(user, "Target another toy mech if you want to start a battle with yourself.") + to_chat(user, span_notice("Target another toy mech if you want to start a battle with yourself.")) return else if(!user.combat_mode) if(wants_to_battle) //prevent spamming someone with offers - to_chat(user, "You already are offering battle to someone!") + to_chat(user, span_notice("You already are offering battle to someone!")) return if(!check_battle_start(user)) //if the user's mech isn't ready, don't bother checking return @@ -176,8 +176,8 @@ return //extend the offer of battle to the other mech - to_chat(user, "You offer battle to [target.name]!") - to_chat(target, "[user.name] wants to battle with [user.p_their()] [name]! Attack them with a toy mech to initiate combat.") + to_chat(user, span_notice("You offer battle to [target.name]!")) + to_chat(target, span_notice("[user.name] wants to battle with [user.p_their()] [name]! Attack them with a toy mech to initiate combat.")) wants_to_battle = TRUE addtimer(CALLBACK(src, .proc/withdraw_offer, user), 6 SECONDS) return @@ -189,7 +189,7 @@ */ /obj/item/toy/prize/attack_tk(mob/user) if(timer < world.time) - to_chat(user, "You telekinetically play with [src].") + to_chat(user, span_notice("You telekinetically play with [src].")) timer = world.time + cooldown if(!quiet) playsound(user, 'sound/mecha/mechstep.ogg', 20, TRUE) @@ -206,16 +206,16 @@ /obj/item/toy/prize/proc/withdraw_offer(mob/living/carbon/user) if(wants_to_battle) wants_to_battle = FALSE - to_chat(user, "You get the feeling they don't want to battle.") + to_chat(user, span_notice("You get the feeling they don't want to battle.")) /** * Starts a battle, toy mech vs player. Player... doesn't win. */ /obj/item/toy/prize/suicide_act(mob/living/carbon/user) if(in_combat) - to_chat(user, "[src] is in battle, let it finish first.") + to_chat(user, span_notice("[src] is in battle, let it finish first.")) return - user.visible_message("[user] begins a fight [user.p_they()] can't win with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins a fight [user.p_they()] can't win with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) in_combat = TRUE sleep(1.5 SECONDS) @@ -253,15 +253,15 @@ /obj/item/toy/prize/examine() . = ..() - . += "This toy's special attack is [special_attack_cry], [special_attack_type_message] " + . += span_notice("This toy's special attack is [special_attack_cry], [special_attack_type_message] ") if(in_combat) - . += "This toy has a maximum health of [max_combat_health]. Currently, it's [combat_health]." - . += "Its special move light is [special_attack_cooldown? "flashing red." : "green and is ready!"]" + . += span_notice("This toy has a maximum health of [max_combat_health]. Currently, it's [combat_health].") + . += span_notice("Its special move light is [special_attack_cooldown? "flashing red." : "green and is ready!"]") else - . += "This toy has a maximum health of [max_combat_health]." + . += span_notice("This toy has a maximum health of [max_combat_health].") if(wins || losses) - . += "This toy has [wins] wins, and [losses] losses." + . += span_notice("This toy has [wins] wins, and [losses] losses.") /** * Override the say proc if they're mute @@ -285,9 +285,9 @@ */ /obj/item/toy/prize/proc/mecha_brawl(obj/item/toy/prize/attacker, mob/living/carbon/attacker_controller, mob/living/carbon/opponent) //A GOOD DAY FOR A SWELL BATTLE! - attacker_controller.visible_message(" [attacker_controller.name] collides [attacker] with [src]! Looks like they're preparing for a brawl! ", \ - " You collide [attacker] into [src], sparking a fierce battle! ", \ - " You hear hard plastic smacking into hard plastic.", COMBAT_MESSAGE_RANGE) + attacker_controller.visible_message(span_danger(" [attacker_controller.name] collides [attacker] with [src]! Looks like they're preparing for a brawl! "), \ + span_danger(" You collide [attacker] into [src], sparking a fierce battle! "), \ + span_hear(" You hear hard plastic smacking into hard plastic."), COMBAT_MESSAGE_RANGE) /// Who's in control of the defender (src)? var/mob/living/carbon/src_controller = (opponent)? opponent : attacker_controller @@ -309,13 +309,13 @@ //before we do anything - deal with charged attacks if(special_attack_charged) - src_controller.visible_message(" [src] unleashes its special attack!! ", \ - " You unleash [src]'s special attack! ") + src_controller.visible_message(span_danger(" [src] unleashes its special attack!! "), \ + span_danger(" You unleash [src]'s special attack! ")) special_attack_move(attacker) else if(attacker.special_attack_charged) - attacker_controller.visible_message(" [attacker] unleashes its special attack!! ", \ - " You unleash [attacker]'s special attack! ") + attacker_controller.visible_message(span_danger(" [attacker] unleashes its special attack!! "), \ + span_danger(" You unleash [attacker]'s special attack! ")) attacker.special_attack_move(src) else //process the cooldowns @@ -329,20 +329,20 @@ if(1 to 3) //attacker wins if(attacker.special_attack_cooldown == 0 && attacker.combat_health <= round(attacker.max_combat_health/3)) //if health is less than 1/3 and special off CD, use it attacker.special_attack_charged = TRUE - attacker_controller.visible_message(" [attacker] begins charging its special attack!! ", \ - " You begin charging [attacker]'s special attack! ") + attacker_controller.visible_message(span_danger(" [attacker] begins charging its special attack!! "), \ + span_danger(" You begin charging [attacker]'s special attack! ")) else //just attack attacker.SpinAnimation(5, 0) playsound(attacker, 'sound/mecha/mechstep.ogg', 30, TRUE) combat_health-- - attacker_controller.visible_message(" [attacker] devastates [src]! ", \ - " You ram [attacker] into [src]! ", \ - " You hear hard plastic smacking hard plastic.", COMBAT_MESSAGE_RANGE) + attacker_controller.visible_message(span_danger(" [attacker] devastates [src]! "), \ + span_danger(" You ram [attacker] into [src]! "), \ + span_hear(" You hear hard plastic smacking hard plastic."), COMBAT_MESSAGE_RANGE) if(prob(5)) combat_health-- playsound(src, 'sound/effects/meteorimpact.ogg', 20, TRUE) - attacker_controller.visible_message(" ...and lands a CRIPPLING BLOW! ", \ - " ...and you land a CRIPPLING blow on [src]! ", null, COMBAT_MESSAGE_RANGE) + attacker_controller.visible_message(span_boldwarning(" ...and lands a CRIPPLING BLOW! "), \ + span_boldwarning(" ...and you land a CRIPPLING blow on [src]! "), null, COMBAT_MESSAGE_RANGE) if(4) //both lose attacker.SpinAnimation(5, 0) @@ -352,44 +352,44 @@ do_sparks(2, FALSE, src) do_sparks(2, FALSE, attacker) if(prob(50)) - attacker_controller.visible_message(" [attacker] and [src] clash dramatically, causing sparks to fly! ", \ - " [attacker] and [src] clash dramatically, causing sparks to fly! ", \ - " You hear hard plastic rubbing against hard plastic.", COMBAT_MESSAGE_RANGE) + attacker_controller.visible_message(span_danger(" [attacker] and [src] clash dramatically, causing sparks to fly! "), \ + span_danger(" [attacker] and [src] clash dramatically, causing sparks to fly! "), \ + span_hear(" You hear hard plastic rubbing against hard plastic."), COMBAT_MESSAGE_RANGE) else - src_controller.visible_message(" [src] and [attacker] clash dramatically, causing sparks to fly! ", \ - " [src] and [attacker] clash dramatically, causing sparks to fly! ", \ - " You hear hard plastic rubbing against hard plastic.", COMBAT_MESSAGE_RANGE) + src_controller.visible_message(span_danger(" [src] and [attacker] clash dramatically, causing sparks to fly! "), \ + span_danger(" [src] and [attacker] clash dramatically, causing sparks to fly! "), \ + span_hear(" You hear hard plastic rubbing against hard plastic."), COMBAT_MESSAGE_RANGE) if(5) //both win playsound(attacker, 'sound/weapons/parry.ogg', 20, TRUE) if(prob(50)) - attacker_controller.visible_message(" [src]'s attack deflects off of [attacker]. ", \ - " [src]'s attack deflects off of [attacker]. ", \ - " You hear hard plastic bouncing off hard plastic.", COMBAT_MESSAGE_RANGE) + attacker_controller.visible_message(span_danger(" [src]'s attack deflects off of [attacker]. "), \ + span_danger(" [src]'s attack deflects off of [attacker]. "), \ + span_hear(" You hear hard plastic bouncing off hard plastic."), COMBAT_MESSAGE_RANGE) else - src_controller.visible_message(" [attacker]'s attack deflects off of [src]. ", \ - " [attacker]'s attack deflects off of [src]. ", \ - " You hear hard plastic bouncing off hard plastic.", COMBAT_MESSAGE_RANGE) + src_controller.visible_message(span_danger(" [attacker]'s attack deflects off of [src]. "), \ + span_danger(" [attacker]'s attack deflects off of [src]. "), \ + span_hear(" You hear hard plastic bouncing off hard plastic."), COMBAT_MESSAGE_RANGE) if(6 to 8) //defender wins if(special_attack_cooldown == 0 && combat_health <= round(max_combat_health/3)) //if health is less than 1/3 and special off CD, use it special_attack_charged = TRUE - src_controller.visible_message(" [src] begins charging its special attack!! ", \ - " You begin charging [src]'s special attack! ") + src_controller.visible_message(span_danger(" [src] begins charging its special attack!! "), \ + span_danger(" You begin charging [src]'s special attack! ")) else //just attack SpinAnimation(5, 0) playsound(src, 'sound/mecha/mechstep.ogg', 30, TRUE) attacker.combat_health-- - src_controller.visible_message(" [src] smashes [attacker]! ", \ - " You smash [src] into [attacker]! ", \ - " You hear hard plastic smashing hard plastic.", COMBAT_MESSAGE_RANGE) + src_controller.visible_message(span_danger(" [src] smashes [attacker]! "), \ + span_danger(" You smash [src] into [attacker]! "), \ + span_hear(" You hear hard plastic smashing hard plastic."), COMBAT_MESSAGE_RANGE) if(prob(5)) attacker.combat_health-- playsound(attacker, 'sound/effects/meteorimpact.ogg', 20, TRUE) - src_controller.visible_message(" ...and lands a CRIPPLING BLOW! ", \ - " ...and you land a CRIPPLING blow on [attacker]! ", null, COMBAT_MESSAGE_RANGE) + src_controller.visible_message(span_boldwarning(" ...and lands a CRIPPLING BLOW! "), \ + span_boldwarning(" ...and you land a CRIPPLING blow on [attacker]! "), null, COMBAT_MESSAGE_RANGE) else - attacker_controller.visible_message(" [src] and [attacker] stand around awkwardly.", \ - " You don't know what to do next.") + attacker_controller.visible_message(span_notice(" [src] and [attacker] stand around awkwardly."), \ + span_notice(" You don't know what to do next.")) battle_length++ sleep(0.5 SECONDS) @@ -399,26 +399,26 @@ if(attacker.combat_health <= 0 && combat_health <= 0) //both lose playsound(src, 'sound/machines/warning-buzzer.ogg', 20, TRUE) - attacker_controller.visible_message(" MUTUALLY ASSURED DESTRUCTION!! [src] and [attacker] both end up destroyed!", \ - " Both [src] and [attacker] are destroyed!") + attacker_controller.visible_message(span_boldnotice(" MUTUALLY ASSURED DESTRUCTION!! [src] and [attacker] both end up destroyed!"), \ + span_boldnotice(" Both [src] and [attacker] are destroyed!")) else if(attacker.combat_health <= 0) //src wins wins++ attacker.losses++ playsound(attacker, 'sound/effects/light_flicker.ogg', 20, TRUE) - attacker_controller.visible_message(" [attacker] falls apart!", \ - " [attacker] falls apart!", null, COMBAT_MESSAGE_RANGE) + attacker_controller.visible_message(span_notice(" [attacker] falls apart!"), \ + span_notice(" [attacker] falls apart!"), null, COMBAT_MESSAGE_RANGE) say("[pick(winlines)]") - src_controller.visible_message(" [src] destroys [attacker] and walks away victorious!", \ - " You raise up [src] victoriously over [attacker]!") + src_controller.visible_message(span_notice(" [src] destroys [attacker] and walks away victorious!"), \ + span_notice(" You raise up [src] victoriously over [attacker]!")) else if (combat_health <= 0) //attacker wins attacker.wins++ losses++ playsound(src, 'sound/effects/light_flicker.ogg', 20, TRUE) - src_controller.visible_message(" [src] collapses!", \ - " [src] collapses!", null, COMBAT_MESSAGE_RANGE) + src_controller.visible_message(span_notice(" [src] collapses!"), \ + span_notice(" [src] collapses!"), null, COMBAT_MESSAGE_RANGE) attacker.say("[pick(winlines)]") - attacker_controller.visible_message(" [attacker] demolishes [src] and walks away victorious!", \ - " You raise up [attacker] proudly over [src]!") + attacker_controller.visible_message(span_notice(" [attacker] demolishes [src] and walks away victorious!"), \ + "[span_notice(" You raise up [attacker] proudly over [src]")]!") else //both win? say("NEXT TIME.") //don't want to make this a one sided conversation @@ -445,20 +445,20 @@ */ /obj/item/toy/prize/proc/check_battle_start(mob/living/carbon/user, obj/item/toy/prize/attacker, mob/living/carbon/target) if(attacker?.in_combat) - to_chat(user, "[target?target.p_their() : "Your" ] [attacker.name] is in combat.") - to_chat(target, "Your [attacker.name] is in combat.") + to_chat(user, span_notice("[target?target.p_their() : "Your" ] [attacker.name] is in combat.")) + to_chat(target, span_notice("Your [attacker.name] is in combat.")) return FALSE if(in_combat) - to_chat(user, "Your [name] is in combat.") - to_chat(target, "[user.p_their()] [name] is in combat.") + to_chat(user, span_notice("Your [name] is in combat.")) + to_chat(target, span_notice("[user.p_their()] [name] is in combat.")) return FALSE if(attacker && attacker.timer > world.time) - to_chat(user, "[target?target.p_their() : "Your" ] [attacker.name] isn't ready for battle.") - to_chat(target, "Your [attacker.name] isn't ready for battle.") + to_chat(user, span_notice("[target?target.p_their() : "Your" ] [attacker.name] isn't ready for battle.")) + to_chat(target, span_notice("Your [attacker.name] isn't ready for battle.")) return FALSE if(timer > world.time) - to_chat(user, "Your [name] isn't ready for battle.") - to_chat(target, "[user.p_their()] [name] isn't ready for battle.") + to_chat(user, span_notice("Your [name] isn't ready for battle.")) + to_chat(target, span_notice("[user.p_their()] [name] isn't ready for battle.")) return FALSE return TRUE @@ -500,7 +500,7 @@ * * victim - the toy being hit by the super special move (doesn't necessarily need to be used) */ /obj/item/toy/prize/proc/super_special_attack(obj/item/toy/prize/victim) - visible_message(" [src] does a cool flip.") + visible_message(span_notice(" [src] does a cool flip.")) /obj/item/toy/prize/ripley name = "toy Ripley" diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 8ed9758b4ed..ad53ae1cb7d 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -64,12 +64,12 @@ if (istype(A, /obj/structure/reagent_dispensers)) var/obj/structure/reagent_dispensers/RD = A if(RD.reagents.total_volume <= 0) - to_chat(user, "[RD] is empty.") + to_chat(user, span_warning("[RD] is empty.")) else if(reagents.total_volume >= 10) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) else A.reagents.trans_to(src, 10, transfered_by = user) - to_chat(user, "You fill the balloon with the contents of [A].") + to_chat(user, span_notice("You fill the balloon with the contents of [A].")) desc = "A translucent balloon with some form of liquid sloshing around in it." update_appearance() @@ -77,12 +77,12 @@ if(istype(I, /obj/item/reagent_containers/glass)) if(I.reagents) if(I.reagents.total_volume <= 0) - to_chat(user, "[I] is empty.") + to_chat(user, span_warning("[I] is empty.")) else if(reagents.total_volume >= 10) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) else 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].") + to_chat(user, span_notice("You fill the balloon with the contents of [I].")) I.reagents.trans_to(src, 10, transfered_by = user) update_appearance() else if(I.get_sharpness()) @@ -101,7 +101,7 @@ T = get_turf(AT) else T = get_turf(src) - T.visible_message("[src] bursts!","You hear a pop and a splash.") + T.visible_message(span_danger("[src] bursts!"),span_hear("You hear a pop and a splash.")) reagents.expose(T) for(var/atom/A in T) reagents.expose(A) @@ -196,9 +196,9 @@ /obj/item/toy/spinningtoy/suicide_act(mob/living/carbon/human/user) var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) if(!myhead) - user.visible_message("[user] tries consuming [src]... but [user.p_they()] [user.p_have()] no mouth!") // and i must scream + user.visible_message(span_suicide("[user] tries consuming [src]... but [user.p_they()] [user.p_have()] no mouth!")) // and i must scream return SHAME - user.visible_message("[user] consumes [src]! It looks like [user.p_theyre()] trying to commit suicicide!") + user.visible_message(span_suicide("[user] consumes [src]! It looks like [user.p_theyre()] trying to commit suicicide!")) playsound(user, 'sound/items/eatfood.ogg', 50, TRUE) user.adjust_nutrition(50) // mmmm delicious addtimer(CALLBACK(src, .proc/manual_suicide, user), (3SECONDS)) @@ -217,14 +217,14 @@ if(!user) return if(!user.is_holding(src)) // Half digestion? Start choking to death - user.visible_message("[user] panics and starts choking [user.p_them()]self to death!") + user.visible_message(span_suicide("[user] panics and starts choking [user.p_them()]self to death!")) user.adjustOxyLoss(200) user.death(FALSE) // unfortunately you have to handle the suiciding yourself with a manual suicide user.ghostize(FALSE) // get the fuck out of our body return var/obj/item/bodypart/chest/CH = user.get_bodypart(BODY_ZONE_CHEST) if(CH.cavity_item) // if he's (un)bright enough to have a round and full belly... - user.visible_message("[user] regurgitates [src]!") // I swear i dont have a fetish + user.visible_message(span_danger("[user] regurgitates [src]!")) // I swear i dont have a fetish user.vomit(100, TRUE, distance = 0) user.adjustOxyLoss(120) user.dropItemToGround(src) // incase the crit state doesn't drop the singulo to the floor @@ -266,17 +266,17 @@ if(istype(A, /obj/item/toy/ammo/gun)) if (src.bullets >= 7) - to_chat(user, "It's already fully loaded!") + to_chat(user, span_warning("It's already fully loaded!")) return 1 if (A.amount_left <= 0) - to_chat(user, "There are no more caps!") + to_chat(user, span_warning("There are no more caps!")) return 1 if (A.amount_left < (7 - src.bullets)) src.bullets += A.amount_left - to_chat(user, text("You reload [] cap\s.", A.amount_left)) + to_chat(user, span_notice("You reload [A.amount_left] cap\s.")) A.amount_left = 0 else - to_chat(user, text("You reload [] cap\s.", 7 - src.bullets)) + to_chat(user, span_notice("You reload [7 - src.bullets] cap\s.")) A.amount_left -= 7 - src.bullets src.bullets = 7 A.update_appearance() @@ -289,18 +289,18 @@ if (flag) return if (!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return src.add_fingerprint(user) if (src.bullets < 1) - user.show_message("*click*", MSG_AUDIBLE) + user.show_message(span_warning("*click*"), MSG_AUDIBLE) playsound(src, 'sound/weapons/gun/revolver/dry_fire.ogg', 30, TRUE) return playsound(user, 'sound/weapons/gun/revolver/shot.ogg', 100, TRUE) src.bullets-- - user.visible_message("[user] fires [src] at [target]!", \ - "You fire [src] at [target]!", \ - "You hear a gunshot!") + user.visible_message(span_danger("[user] fires [src] at [target]!"), \ + span_danger("You fire [src] at [target]!"), \ + span_hear("You hear a gunshot!")) /obj/item/toy/ammo/gun name = "capgun ammo" @@ -340,7 +340,7 @@ /obj/item/toy/sword/attack_self(mob/user) active = !( active ) if (active) - to_chat(user, "You extend the plastic blade with a quick flick of your wrist.") + to_chat(user, span_notice("You extend the plastic blade with a quick flick of your wrist.")) playsound(user, 'sound/weapons/saberon.ogg', 20, TRUE) if(hacked) icon_state = "swordrainbow" @@ -350,7 +350,7 @@ inhand_icon_state = "swordblue" w_class = WEIGHT_CLASS_BULKY else - to_chat(user, "You push the plastic blade back down into the handle.") + to_chat(user, span_notice("You push the plastic blade back down into the handle.")) playsound(user, 'sound/weapons/saberoff.ogg', 20, TRUE) icon_state = "sword0" inhand_icon_state = "sword0" @@ -361,10 +361,10 @@ /obj/item/toy/sword/attackby(obj/item/W, mob/living/user, params) if(istype(W, /obj/item/toy/sword)) if(HAS_TRAIT(W, TRAIT_NODROP) || HAS_TRAIT(src, TRAIT_NODROP)) - to_chat(user, "\the [HAS_TRAIT(src, TRAIT_NODROP) ? src : W] is stuck to your hand, you can't attach it to \the [HAS_TRAIT(src, TRAIT_NODROP) ? W : src]!") + to_chat(user, span_warning("\the [HAS_TRAIT(src, TRAIT_NODROP) ? src : W] is stuck to your hand, you can't attach it to \the [HAS_TRAIT(src, TRAIT_NODROP) ? W : src]!")) return else - to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.") + to_chat(user, span_notice("You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.")) var/obj/item/dualsaber/toy/newSaber = new /obj/item/dualsaber/toy(user.loc) if(hacked) // That's right, we'll only check the "original" "sword". newSaber.hacked = TRUE @@ -375,13 +375,13 @@ if(!hacked) hacked = TRUE saber_color = "rainbow" - to_chat(user, "RNBW_ENGAGE") + to_chat(user, span_warning("RNBW_ENGAGE")) if(active) icon_state = "swordrainbow" user.update_inv_hands() else - to_chat(user, "It's already fabulous!") + to_chat(user, span_warning("It's already fabulous!")) else return ..() @@ -430,14 +430,14 @@ /obj/item/toy/windup_toolbox/attack_self(mob/user) if(!active) - to_chat(user, "You wind up [src], it begins to rumble.") + to_chat(user, span_notice("You wind up [src], it begins to rumble.")) active = TRUE update_appearance() playsound(src, 'sound/effects/pope_entry.ogg', 100) Rumble() addtimer(CALLBACK(src, .proc/stopRumble), 600) else - to_chat(user, "[src] is already active!") + to_chat(user, span_warning("[src] is already active!")) /obj/item/toy/windup_toolbox/proc/Rumble() var/static/list/transforms @@ -459,7 +459,7 @@ /obj/item/toy/windup_toolbox/proc/stopRumble() active = FALSE update_appearance() - visible_message("[src] slowly stops rattling and falls still, its latch snapping shut.") //subtle difference + visible_message(span_warning("[src] slowly stops rattling and falls still, its latch snapping shut.")) //subtle difference playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE) animate(src, transform = matrix()) @@ -484,7 +484,7 @@ return 0 /obj/item/dualsaber/toy/impale(mob/living/user)//Stops Toy Dualsabers from injuring clowns - to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].") + to_chat(user, span_warning("You twirl around a bit before losing your balance and impaling yourself on [src].")) user.adjustStaminaLoss(25) /obj/item/toy/katana @@ -522,8 +522,8 @@ s.set_up(n, c, src) s.start() new ash_type(loc) - visible_message("[src] explodes!", - "You hear a snap!") + visible_message(span_warning("[src] explodes!"), + span_hear("You hear a snap!")) playsound(src, 'sound/effects/snap.ogg', 50, TRUE) qdel(src) @@ -546,7 +546,7 @@ if(ishuman(H) || issilicon(H)) //i guess carp and shit shouldn't set them off var/mob/living/carbon/M = H if(issilicon(H) || M.m_intent == MOVE_INTENT_RUN) - to_chat(M, "You step on the snap pop!") + to_chat(M, span_danger("You step on the snap pop!")) pop_burst(2, 0) /obj/item/toy/snappop/phoenix @@ -597,9 +597,9 @@ /obj/item/toy/talking/proc/activation_message(mob/user) user.visible_message( - "[user] pulls the string on \the [src].", - "You pull the string on \the [src].", - "You hear a string being pulled.") + span_notice("[user] pulls the string on \the [src]."), + span_notice("You pull the string on \the [src]."), + span_notice("You hear a string being pulled.")) /obj/item/toy/talking/proc/generate_messages() return list(pick(messages)) @@ -639,9 +639,9 @@ /obj/item/toy/talking/codex_gigas/activation_message(mob/user) user.visible_message( - "[user] presses the button on \the [src].", - "You press the button on \the [src].", - "You hear a soft click.") + span_notice("[user] presses the button on \the [src]."), + span_notice("You press the button on \the [src]."), + span_notice("You hear a soft click.")) /obj/item/toy/talking/owl name = "owl action figure" @@ -690,7 +690,7 @@ /obj/item/toy/cards/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is slitting [user.p_their()] wrists with \the [src]! It looks like [user.p_they()] [user.p_have()] a crummy hand!") + user.visible_message(span_suicide("[user] is slitting [user.p_their()] wrists with \the [src]! It looks like [user.p_they()] [user.p_have()] a crummy hand!")) playsound(src, 'sound/items/cardshuffle.ogg', 50, TRUE) return BRUTELOSS @@ -735,7 +735,7 @@ return var/choice = null if(cards.len == 0) - to_chat(user, "There are no more cards to draw!") + to_chat(user, span_warning("There are no more cards to draw!")) return var/obj/item/toy/cards/singlecard/H = new/obj/item/toy/cards/singlecard(user.loc) if(holo) @@ -748,7 +748,7 @@ popleft(cards) 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.") + user.visible_message(span_notice("[user] draws a card from the deck."), span_notice("You draw a card from the deck.")) update_appearance() return H @@ -768,7 +768,7 @@ if(cooldown < world.time - 50) cards = shuffle(cards) playsound(src, 'sound/items/cardshuffle.ogg', 50, TRUE) - user.visible_message("[user] shuffles the deck.", "You shuffle the deck.") + user.visible_message(span_notice("[user] shuffles the deck."), span_notice("You shuffle the deck.")) cooldown = world.time /obj/item/toy/cards/deck/attackby(obj/item/I, mob/living/user, params) @@ -776,25 +776,25 @@ var/obj/item/toy/cards/singlecard/SC = I if(SC.parentdeck == src) if(!user.temporarilyRemoveItemFromInventory(SC)) - to_chat(user, "The card is stuck to your hand, you can't add it to the deck!") + to_chat(user, span_warning("The card is stuck to your hand, you can't add it to the deck!")) return cards += SC.cardname - user.visible_message("[user] adds a card to the bottom of the deck.","You add the card to the bottom of the deck.") + user.visible_message(span_notice("[user] adds a card to the bottom of the deck."),span_notice("You add the card to the bottom of the deck.")) qdel(SC) else - to_chat(user, "You can't mix cards from other decks!") + to_chat(user, span_warning("You can't mix cards from other decks!")) update_appearance() else if(istype(I, /obj/item/toy/cards/cardhand)) var/obj/item/toy/cards/cardhand/CH = I if(CH.parentdeck == src) if(!user.temporarilyRemoveItemFromInventory(CH)) - to_chat(user, "The hand of cards is stuck to your hand, you can't add it to the deck!") + to_chat(user, span_warning("The hand of cards is stuck to your hand, you can't add it to the deck!")) return cards += CH.currenthand - user.visible_message("[user] puts [user.p_their()] hand of cards in the deck.", "You put the hand of cards in the deck.") + user.visible_message(span_notice("[user] puts [user.p_their()] hand of cards in the deck."), span_notice("You put the hand of cards in the deck.")) qdel(CH) else - to_chat(user, "You can't mix cards from other decks!") + to_chat(user, span_warning("You can't mix cards from other decks!")) update_appearance() else return ..() @@ -807,15 +807,15 @@ if(Adjacent(usr)) if(over_object == M && loc != M) M.put_in_hands(src) - to_chat(usr, "You pick up the deck.") + to_chat(usr, span_notice("You pick up the deck.")) else if(istype(over_object, /atom/movable/screen/inventory/hand)) var/atom/movable/screen/inventory/hand/H = over_object if(M.putItemFromInventoryInHandIfPossible(src, H.held_index)) - to_chat(usr, "You pick up the deck.") + to_chat(usr, span_notice("You pick up the deck.")) else - to_chat(usr, "You can't reach it from here!") + to_chat(usr, span_warning("You can't reach it from here!")) @@ -852,7 +852,7 @@ C.apply_card_vars(C,O) C.pickup(cardUser) cardUser.put_in_hands(C) - cardUser.visible_message("[cardUser] draws a card from [cardUser.p_their()] hand.", "You take the [C.cardname] from your hand.") + cardUser.visible_message(span_notice("[cardUser] draws a card from [cardUser.p_their()] hand."), span_notice("You take the [C.cardname] from your hand.")) interact(cardUser) update_sprite() @@ -864,18 +864,18 @@ qdel(src) N.pickup(cardUser) cardUser.put_in_hands(N) - to_chat(cardUser, "You also take [currenthand[1]] and hold it.") + to_chat(cardUser, span_notice("You also take [currenthand[1]] and hold it.")) /obj/item/toy/cards/cardhand/attackby(obj/item/toy/cards/singlecard/C, mob/living/user, params) if(istype(C)) if(C.parentdeck == src.parentdeck) src.currenthand += C.cardname - user.visible_message("[user] adds a card to [user.p_their()] hand.", "You add the [C.cardname] to your hand.") + user.visible_message(span_notice("[user] adds a card to [user.p_their()] hand."), span_notice("You add the [C.cardname] to your hand.")) qdel(C) interact(user) update_sprite(src) else - to_chat(user, "You can't mix cards from other decks!") + to_chat(user, span_warning("You can't mix cards from other decks!")) else return ..() @@ -933,9 +933,9 @@ if(ishuman(user)) var/mob/living/carbon/human/cardUser = user if(cardUser.is_holding(src)) - cardUser.visible_message("[cardUser] checks [cardUser.p_their()] card.", "The card reads: [cardname].") + cardUser.visible_message(span_notice("[cardUser] checks [cardUser.p_their()] card."), span_notice("The card reads: [cardname].")) else - . += "You need to have the card in your hand to check it!" + . += span_warning("You need to have the card in your hand to check it!") /obj/item/toy/cards/singlecard/verb/Flip() @@ -968,24 +968,24 @@ H.currenthand += src.cardname H.parentdeck = C.parentdeck H.apply_card_vars(H,C) - to_chat(user, "You combine the [C.cardname] and the [src.cardname] into a hand.") + to_chat(user, span_notice("You combine the [C.cardname] and the [src.cardname] into a hand.")) qdel(C) qdel(src) H.pickup(user) user.put_in_active_hand(H) else - to_chat(user, "You can't mix cards from other decks!") + to_chat(user, span_warning("You can't mix cards from other decks!")) if(istype(I, /obj/item/toy/cards/cardhand/)) var/obj/item/toy/cards/cardhand/H = I if(H.parentdeck == parentdeck) H.currenthand += cardname - user.visible_message("[user] adds a card to [user.p_their()] hand.", "You add the [cardname] to your hand.") + user.visible_message(span_notice("[user] adds a card to [user.p_their()] hand."), span_notice("You add the [cardname] to your hand.")) qdel(src) H.interact(user) H.update_sprite() else - to_chat(user, "You can't mix cards from other decks!") + to_chat(user, span_warning("You can't mix cards from other decks!")) else return ..() @@ -1044,16 +1044,16 @@ /obj/item/toy/nuke/attack_self(mob/user) if (obj_flags & EMAGGED && cooldown < world.time) cooldown = world.time + 600 - user.visible_message("You hear the click of a button.", "You activate [src], it plays a loud noise!") + user.visible_message(span_hear("You hear the click of a button."), span_notice("You activate [src], it plays a loud noise!")) sleep(5) playsound(src, 'sound/machines/alarm.ogg', 20, FALSE) sleep(140) - user.visible_message("[src] violently explodes!") + user.visible_message(span_alert("[src] violently explodes!")) explosion(src, light_impact_range = 1) qdel(src) else if (cooldown < world.time) cooldown = world.time + 600 //1 minute - user.visible_message("[user] presses a button on [src].", "You activate [src], it plays a loud noise!", "You hear the click of a button.") + user.visible_message(span_warning("[user] presses a button on [src]."), span_notice("You activate [src], it plays a loud noise!"), span_hear("You hear the click of a button.")) sleep(5) icon_state = "nuketoy" playsound(src, 'sound/machines/alarm.ogg', 20, FALSE) @@ -1063,7 +1063,7 @@ icon_state = "nuketoyidle" else var/timeleft = (cooldown - world.time) - to_chat(user, "Nothing happens, and '[round(timeleft/10)]' appears on the small display.") + to_chat(user, span_alert("Nothing happens, and '[round(timeleft/10)]' appears on the small display.")) sleep(5) @@ -1116,7 +1116,7 @@ /obj/item/toy/redbutton/attack_self(mob/user) if (cooldown < world.time) cooldown = (world.time + 300) // Sets cooldown at 30 seconds - user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.") + user.visible_message(span_warning("[user] presses the big red button."), span_notice("You press the button, it plays a loud noise!"), span_hear("The button clicks loudly.")) playsound(src, 'sound/effects/explosionfar.ogg', 50, FALSE) for(var/mob/M in urange(10, src)) // Checks range if(!M.stat && !isAI(M)) // Checks to make sure whoever's getting shaken is alive/not the AI @@ -1125,7 +1125,7 @@ addtimer(CALLBACK(GLOBAL_PROC, .proc/shake_camera, M, 2, 1), 0.8 SECONDS) else - to_chat(user, "Nothing happens.") + to_chat(user, span_alert("Nothing happens.")) /* * Snowballs @@ -1180,14 +1180,14 @@ /obj/item/toy/clockwork_watch/attack_self(mob/user) if (cooldown < world.time) cooldown = world.time + 1800 //3 minutes - user.visible_message("[user] rotates a cogwheel on [src].", "You rotate a cogwheel on [src], it plays a loud noise!", "You hear cogwheels turning.") + user.visible_message(span_warning("[user] rotates a cogwheel on [src]."), span_notice("You rotate a cogwheel on [src], it plays a loud noise!"), span_hear("You hear cogwheels turning.")) playsound(src, 'sound/magic/clockwork/ark_activation.ogg', 50, FALSE) else - to_chat(user, "The cogwheels are already turning!") + to_chat(user, span_alert("The cogwheels are already turning!")) /obj/item/toy/clockwork_watch/examine(mob/user) . = ..() - . += "Station Time: [station_time_timestamp()]" + . += span_info("Station Time: [station_time_timestamp()]") /* * Toy Dagger @@ -1218,16 +1218,16 @@ /obj/item/toy/toy_xeno/attack_self(mob/user) if(cooldown <= world.time) cooldown = (world.time + 50) //5 second cooldown - user.visible_message("[user] pulls back the string on [src].") + user.visible_message(span_notice("[user] pulls back the string on [src].")) icon_state = "[initial(icon_state)]_used" sleep(5) - audible_message("[icon2html(src, viewers(src))] Hiss!") + audible_message(span_danger("[icon2html(src, viewers(src))] Hiss!")) var/list/possible_sounds = list('sound/voice/hiss1.ogg', 'sound/voice/hiss2.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss4.ogg') var/chosen_sound = pick(possible_sounds) playsound(get_turf(src), chosen_sound, 50, TRUE) addtimer(VARSET_CALLBACK(src, icon_state, "[initial(icon_state)]"), 4.5 SECONDS) else - to_chat(user, "The string on [src] hasn't rewound all the way!") + to_chat(user, span_warning("The string on [src] hasn't rewound all the way!")) return // TOY MOUSEYS :3 :3 :3 @@ -1263,7 +1263,7 @@ /obj/item/toy/figure/attack_self(mob/user as mob) if(cooldown <= world.time) cooldown = world.time + 50 - to_chat(user, "[src] says \"[toysay]\"") + to_chat(user, span_notice("[src] says \"[toysay]\"")) playsound(user, toysound, 20, TRUE) /obj/item/toy/figure/cmo @@ -1474,7 +1474,7 @@ if(!new_name) return doll_name = new_name - to_chat(user, "You name the dummy as \"[doll_name]\".") + to_chat(user, span_notice("You name the dummy as \"[doll_name]\".")) name = "[initial(name)] - [doll_name]" /obj/item/toy/dummy/talk_into(atom/movable/A, message, channel, list/spans, datum/language/language, list/message_mods) @@ -1514,10 +1514,10 @@ /obj/item/toy/brokenradio/attack_self(mob/user) if(cooldown <= world.time) cooldown = (world.time + 300) - user.visible_message("[user] adjusts the dial on [src].") + user.visible_message(span_notice("[user] adjusts the dial on [src].")) addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/items/radiostatic.ogg', 50, FALSE), 0.5 SECONDS) else - to_chat(user, "The dial on [src] jams up") + to_chat(user, span_warning("The dial on [src] jams up")) return /obj/item/toy/braintoy @@ -1768,7 +1768,7 @@ if(user && loc == user && obj_flags & EMAGGED) ADD_TRAIT(src, TRAIT_NODROP, type) - to_chat(user, "Bad mistake.") + to_chat(user, span_userdanger("Bad mistake.")) state = STATE_RETALIATION next_process = world.time @@ -1786,16 +1786,16 @@ render(intent) switch(intent) if(HELP) - to_chat(victim, "[src] hugs you to make you feel better!") + to_chat(victim, span_danger("[src] hugs you to make you feel better!")) SEND_SIGNAL(victim, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/hug) if(DISARM) - to_chat(victim, "You're knocked down from a shove by [src]!") + to_chat(victim, span_danger("You're knocked down from a shove by [src]!")) victim.Knockdown(2 SECONDS) if(GRAB) - to_chat(victim, "[src] grabs you aggressively!") + to_chat(victim, span_danger("[src] grabs you aggressively!")) victim.Stun(2 SECONDS) if(HARM) - to_chat(victim, "You're punched by [src]!") + to_chat(victim, span_danger("You're punched by [src]!")) victim.apply_damage(rand(20, 30), BRUTE) index += 1 @@ -1822,7 +1822,7 @@ if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - to_chat(user, "You short-circuit [src], activating the negative feedback loop.") + to_chat(user, span_notice("You short-circuit [src], activating the negative feedback loop.")) /obj/item/toy/intento/Destroy() STOP_PROCESSING(SSfastprocess, src) diff --git a/code/game/objects/items/wayfinding.dm b/code/game/objects/items/wayfinding.dm index c799266fd27..36302cd6b51 100644 --- a/code/game/objects/items/wayfinding.dm +++ b/code/game/objects/items/wayfinding.dm @@ -107,14 +107,14 @@ if(world.time < user_interact_cooldowns[user.real_name]) set_expression("veryhappy", 2 SECONDS) - to_chat(user, "It just grins at you. Maybe you should give it a bit?") //telling instead of showing but I'm lazy + to_chat(user, span_notice("It just grins at you. Maybe you should give it a bit?")) //telling instead of showing but I'm lazy return user_interact_cooldowns[user.real_name] = world.time + COOLDOWN_INTERACT for(var/obj/item/pinpointer/wayfinding/held_pinpointer in user.GetAllContents()) set_expression("veryhappy", 2 SECONDS) - say("You already have a pinpointer!") + say(span_robot("You already have a pinpointer!")) return var/msg @@ -126,7 +126,7 @@ if(pnpts_found) set_expression("veryhappy", 2 SECONDS) - say("[pnpts_found == 1 ? "There's a pinpointer" : "There are pinpointers"] there!") + say(span_robot("[pnpts_found == 1 ? "There's a pinpointer" : "There are pinpointers"] there!")) return if(world.time < user_spawn_cooldowns[user.real_name]) @@ -148,10 +148,10 @@ if(!dispense) set_expression("sad", 2 SECONDS) - say("Sorry, [user.first_name()]! You'll need [msg]!") + say(span_robot("Sorry, [user.first_name()]! You'll need [msg]!")) else set_expression("veryhappy", 2 SECONDS) - say("Here's your pinpointer!") + say(span_robot("Here's your pinpointer!")) var/obj/item/pinpointer/wayfinding/P = new /obj/item/pinpointer/wayfinding(get_turf(src)) user_spawn_cooldowns[user.real_name] = world.time + COOLDOWN_SPAWN user.put_in_hands(P) @@ -192,11 +192,11 @@ if(!itsmypinpointer) the_pinpointer = "that pinpointer" - to_chat(user, "You put [attacking_pinpointer] in the return slot.") + to_chat(user, span_notice("You put [attacking_pinpointer] in the return slot.")) qdel(attacking_pinpointer) set_expression("veryhappy", 2 SECONDS) - say("Thank you for [recycling] [the_pinpointer]! Here [is_a_thing]") + say(span_robot("Thank you for [recycling] [the_pinpointer]! Here [is_a_thing]")) return else if(istype(I, /obj/item/pinpointer)) @@ -206,7 +206,7 @@ //Any other type of pinpointer can make it throw up. if(COOLDOWN_FINISHED(src, next_spew_tick)) I.forceMove(loc) - visible_message("[src] smartly rejects [I].") + visible_message(span_warning("[src] smartly rejects [I].")) say("BLEURRRRGH!") I.throw_at(user, 2, 3) COOLDOWN_START(src, next_spew_tick, COOLDOWN_SPEW) @@ -231,7 +231,7 @@ /obj/machinery/pinpointer_dispenser/point_at(A) . = ..() - visible_message("[src] points at [A]. [prob(funnyprob) ? "How'd it do that?" : ""]") + visible_message("[span_name("[src]")] points at [A]. [prob(funnyprob) ? "How'd it do that?" : ""]") //Pinpointer itself /obj/item/pinpointer/wayfinding //Help players new to a station find their way around @@ -246,7 +246,7 @@ /obj/item/pinpointer/wayfinding/attack_self(mob/living/user) if(active) toggle_on() - to_chat(user, "You deactivate your pinpointer.") + to_chat(user, span_notice("You deactivate your pinpointer.")) return if (!owner) @@ -258,7 +258,7 @@ beacons[B.codes["wayfinding"]] = B if(!beacons.len) - to_chat(user, "Your pinpointer fails to detect a signal.") + to_chat(user, span_notice("Your pinpointer fails to detect a signal.")) return var/A = input(user, "", "Pinpoint") as null|anything in sortList(beacons) @@ -267,7 +267,7 @@ target = beacons[A] toggle_on() - to_chat(user, "You activate your pinpointer.") + to_chat(user, span_notice("You activate your pinpointer.")) /obj/item/pinpointer/wayfinding/examine(mob/user) . = ..() diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 71f45d843ac..63988b0a442 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -20,7 +20,7 @@ AddElement(/datum/element/kneejerk) /obj/item/banhammer/suicide_act(mob/user) - user.visible_message("[user] is hitting [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to ban [user.p_them()]self from life.") + user.visible_message(span_suicide("[user] is hitting [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to ban [user.p_them()]self from life.")) return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS) /* oranges says: This is a meme relating to the english translation of the ss13 russian wiki page on lurkmore. @@ -29,9 +29,9 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 */ /obj/item/banhammer/attack(mob/M, mob/living/user) if(user.zone_selected == BODY_ZONE_HEAD) - M.visible_message("[user] are stroking the head of [M] with a bangammer.", "[user] are stroking your head with a bangammer.", "You hear a bangammer stroking a head.") // see above comment + M.visible_message(span_danger("[user] are stroking the head of [M] with a bangammer."), span_userdanger("[user] are stroking your head with a bangammer."), span_hear("You hear a bangammer stroking a head.")) // see above comment else - M.visible_message("[M] has been banned FOR NO REISIN by [user]!", "You have been banned FOR NO REISIN by [user]!", "You hear a banhammer banning someone.") + M.visible_message(span_danger("[M] has been banned FOR NO REISIN by [user]!"), span_userdanger("You have been banned FOR NO REISIN by [user]!"), span_hear("You hear a banhammer banning someone.")) playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much if(user.combat_mode) return ..(M, user) @@ -52,8 +52,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") /obj/item/sord/suicide_act(mob/user) - user.visible_message("[user] is trying to impale [user.p_them()]self with [src]! It might be a suicide attempt if it weren't so shitty.", \ - "You try to impale yourself with [src], but it's USELESS...") + user.visible_message(span_suicide("[user] is trying to impale [user.p_them()]self with [src]! It might be a suicide attempt if it weren't so shitty."), \ + span_suicide("You try to impale yourself with [src], but it's USELESS...")) return SHAME /obj/item/claymore @@ -82,7 +82,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 AddComponent(/datum/component/butchering, 40, 105) /obj/item/claymore/suicide_act(mob/user) - user.visible_message("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return(BRUTELOSS) //statistically similar to e-cutlasses @@ -119,7 +119,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/claymore/highlander/Destroy() if(nuke_disk) nuke_disk.forceMove(get_turf(src)) - nuke_disk.visible_message("The nuke disk is vulnerable!") + nuke_disk.visible_message(span_warning("The nuke disk is vulnerable!")) nuke_disk = null STOP_PROCESSING(SSobj, src) return ..() @@ -136,7 +136,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/claymore/highlander/pickup(mob/living/user) . = ..() - to_chat(user, "The power of Scotland protects you! You are shielded from all stuns and knockdowns.") + to_chat(user, span_notice("The power of Scotland protects you! You are shielded from all stuns and knockdowns.")) user.add_stun_absorption("highlander", INFINITY, 1, " is protected by the power of Scotland!", "The power of Scotland absorbs the stun!", " is protected by the power of Scotland!") user.ignore_slowdown(HIGHLANDER) @@ -148,14 +148,14 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 . = ..() . += "It has [!notches ? "nothing" : "[notches] notches"] scratched into the blade." if(nuke_disk) - . += "It's holding the nuke disk!" + . += span_boldwarning("It's holding the nuke disk!") /obj/item/claymore/highlander/attack(mob/living/target, mob/living/user) . = ..() if(!QDELETED(target) && target.stat == DEAD && target.mind && target.mind.special_role == "highlander") user.fully_heal(admin_revive = FALSE) //STEAL THE LIFE OF OUR FALLEN FOES add_notch(user) - target.visible_message("[target] crumbles to dust beneath [user]'s blows!", "As you fall, your body crumbles to dust!") + target.visible_message(span_warning("[target] crumbles to dust beneath [user]'s blows!"), span_userdanger("As you fall, your body crumbles to dust!")) target.dust() /obj/item/claymore/highlander/attack_self(mob/living/user) @@ -169,9 +169,9 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 closest_victim = siliscot if(!closest_victim) - to_chat(user, "[src] thrums for a moment and falls dark. Perhaps there's nobody nearby.") + to_chat(user, span_warning("[src] thrums for a moment and falls dark. Perhaps there's nobody nearby.")) return - to_chat(user, "[src] thrums and points to the [dir2text(get_dir(user, closest_victim))].") + to_chat(user, span_danger("[src] thrums and points to the [dir2text(get_dir(user, closest_victim))].")) /obj/item/claymore/highlander/IsReflect() return 1 //YOU THINK YOUR PUNY LASERS CAN STOP ME? @@ -182,44 +182,44 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/new_name = name switch(notches) if(1) - to_chat(user, "Your first kill - hopefully one of many. You scratch a notch into [src]'s blade.") - to_chat(user, "You feel your fallen foe's soul entering your blade, restoring your wounds!") + to_chat(user, span_notice("Your first kill - hopefully one of many. You scratch a notch into [src]'s blade.")) + to_chat(user, span_warning("You feel your fallen foe's soul entering your blade, restoring your wounds!")) new_name = "notched claymore" if(2) - to_chat(user, "Another falls before you. Another soul fuses with your own. Another notch in the blade.") + to_chat(user, span_notice("Another falls before you. Another soul fuses with your own. Another notch in the blade.")) new_name = "double-notched claymore" add_atom_colour(rgb(255, 235, 235), ADMIN_COLOUR_PRIORITY) if(3) - to_chat(user, "You're beginning to relish the thrill of battle.") + to_chat(user, span_notice("You're beginning to relish the thrill of battle.")) new_name = "triple-notched claymore" add_atom_colour(rgb(255, 215, 215), ADMIN_COLOUR_PRIORITY) if(4) - to_chat(user, "You've lost count of how many you've killed.") + to_chat(user, span_notice("You've lost count of how many you've killed.")) new_name = "many-notched claymore" add_atom_colour(rgb(255, 195, 195), ADMIN_COLOUR_PRIORITY) if(5) - to_chat(user, "Five voices now echo in your mind, cheering the slaughter.") + to_chat(user, span_boldannounce("Five voices now echo in your mind, cheering the slaughter.")) new_name = "battle-tested claymore" add_atom_colour(rgb(255, 175, 175), ADMIN_COLOUR_PRIORITY) if(6) - to_chat(user, "Is this what the vikings felt like? Visions of glory fill your head as you slay your sixth foe.") + to_chat(user, span_boldannounce("Is this what the vikings felt like? Visions of glory fill your head as you slay your sixth foe.")) new_name = "battle-scarred claymore" add_atom_colour(rgb(255, 155, 155), ADMIN_COLOUR_PRIORITY) if(7) - to_chat(user, "Kill. Butcher. Conquer.") + to_chat(user, span_boldannounce("Kill. Butcher. Conquer.")) new_name = "vicious claymore" add_atom_colour(rgb(255, 135, 135), ADMIN_COLOUR_PRIORITY) if(8) - to_chat(user, "IT NEVER GETS OLD. THE SCREAMING. THE BLOOD AS IT SPRAYS ACROSS YOUR FACE.") + to_chat(user, span_userdanger("IT NEVER GETS OLD. THE SCREAMING. THE BLOOD AS IT SPRAYS ACROSS YOUR FACE.")) new_name = "bloodthirsty claymore" add_atom_colour(rgb(255, 115, 115), ADMIN_COLOUR_PRIORITY) if(9) - to_chat(user, "ANOTHER ONE FALLS TO YOUR BLOWS. ANOTHER WEAKLING UNFIT TO LIVE.") + to_chat(user, span_userdanger("ANOTHER ONE FALLS TO YOUR BLOWS. ANOTHER WEAKLING UNFIT TO LIVE.")) new_name = "gore-stained claymore" add_atom_colour(rgb(255, 95, 95), ADMIN_COLOUR_PRIORITY) if(10) - user.visible_message("[user]'s eyes light up with a vengeful fire!", \ - "YOU FEEL THE POWER OF VALHALLA FLOWING THROUGH YOU! THERE CAN BE ONLY ONE!!!") + user.visible_message(span_warning("[user]'s eyes light up with a vengeful fire!"), \ + span_userdanger("YOU FEEL THE POWER OF VALHALLA FLOWING THROUGH YOU! THERE CAN BE ONLY ONE!!!")) user.update_icons() new_name = "GORE-DRENCHED CLAYMORE OF [pick("THE WHIMSICAL SLAUGHTER", "A THOUSAND SLAUGHTERED CATTLE", "GLORY AND VALHALLA", "ANNIHILATION", "OBLITERATION")]" icon_state = "claymore_gold" @@ -267,7 +267,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 resistance_flags = FIRE_PROOF /obj/item/katana/suicide_act(mob/user) - user.visible_message("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!") + user.visible_message(span_suicide("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!")) return(BRUTELOSS) /obj/item/katana/cursed @@ -308,14 +308,14 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 qdel(src) user.put_in_hands(S) - to_chat(user, "You fasten the glass shard to the top of the rod with the cable.") + to_chat(user, span_notice("You fasten the glass shard to the top of the rod with the cable.")) else if(istype(I, /obj/item/assembly/igniter) && !(HAS_TRAIT(I, TRAIT_NODROP))) var/obj/item/melee/baton/cattleprod/P = new /obj/item/melee/baton/cattleprod remove_item_from_storage(user) - to_chat(user, "You fasten [I] to the top of the rod with the cable.") + to_chat(user, span_notice("You fasten [I] to the top of the rod with the cable.")) qdel(I) qdel(src) @@ -406,7 +406,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 sharpness = NONE /obj/item/switchblade/suicide_act(mob/user) - user.visible_message("[user] is slitting [user.p_their()] own throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is slitting [user.p_their()] own throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) /obj/item/switchblade/extended @@ -428,9 +428,9 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/phone/suicide_act(mob/user) if(locate(/obj/structure/chair/stool) in user.loc) - user.visible_message("[user] begins to tie a noose with [src]'s cord! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to tie a noose with [src]'s cord! It looks like [user.p_theyre()] trying to commit suicide!")) else - user.visible_message("[user] is strangling [user.p_them()]self with [src]'s cord! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]'s cord! It looks like [user.p_theyre()] trying to commit suicide!")) return(OXYLOSS) /obj/item/cane @@ -494,7 +494,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 icon_state = "ectoplasm" /obj/item/ectoplasm/suicide_act(mob/user) - user.visible_message("[user] is inhaling [src]! It looks like [user.p_theyre()] trying to visit the astral plane!") + user.visible_message(span_suicide("[user] is inhaling [src]! It looks like [user.p_theyre()] trying to visit the astral plane!")) return (OXYLOSS) /obj/item/ectoplasm/angelic @@ -671,13 +671,13 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 ..() return if(homerun_ready) - to_chat(user, "You're already ready to do a home run!") + to_chat(user, span_warning("You're already ready to do a home run!")) ..() return - to_chat(user, "You begin gathering strength...") + to_chat(user, span_warning("You begin gathering strength...")) playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, TRUE) if(do_after(user, 90, target = src)) - to_chat(user, "You gather power! Time for a home run!") + to_chat(user, span_userdanger("You gather power! Time for a home run!")) homerun_ready = 1 ..() @@ -687,7 +687,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 return var/atom/throw_target = get_edge_target_turf(target, user.dir) if(homerun_ready) - user.visible_message("It's a home run!") + user.visible_message(span_userdanger("It's a home run!")) target.throw_at(throw_target, rand(8,10), 14, user) SSexplosions.medturf += throw_target playsound(get_turf(src), 'sound/weapons/homerun.ogg', 100, TRUE) @@ -748,7 +748,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 if(is_type_in_typecache(target, strong_against)) if(!HAS_TRAIT(user, TRAIT_PACIFISM)) new /obj/effect/decal/cleanable/insectguts(target.drop_location()) - to_chat(user, "You easily splat [target].") + to_chat(user, span_warning("You easily splat [target].")) if(isliving(target)) var/mob/living/bug = target bug.gib() @@ -780,7 +780,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/extendohand/attack(atom/M, mob/living/carbon/human/user, params) var/dist = get_dist(M, user) if(dist < min_reach) - to_chat(user, "[M] is too close to use [src] on.") + to_chat(user, span_warning("[M] is too close to use [src] on.")) return var/list/modifiers = params2list(params) M.attack_hand(user, modifiers) @@ -852,11 +852,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 if(wielded || attack_type != PROJECTILE_ATTACK) if(prob(final_block_chance)) if(attack_type == PROJECTILE_ATTACK) - owner.visible_message("[owner] deflects [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] deflects [attack_text] with [src]!")) playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) return TRUE else - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] parries [attack_text] with [src]!")) return TRUE return FALSE diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 13dc1400c2a..619321e1274 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -108,7 +108,7 @@ if(!QDELETED(src) && !take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armour_penetration)) //Bullet on_hit effect might have already destroyed this object no_damage = TRUE if(P.suppressed != SUPPRESSED_VERY) - visible_message("[src] is hit by \a [P][no_damage ? ", which doesn't leave a mark" : ""]!", null, null, COMBAT_MESSAGE_RANGE) + visible_message(span_danger("[src] is hit by \a [P][no_damage ? ", which doesn't leave a mark" : ""]!"), null, null, COMBAT_MESSAGE_RANGE) ///Called to get the damage that hulks will deal to the obj. /obj/proc/hulk_damage() @@ -116,7 +116,7 @@ /obj/attack_hulk(mob/living/carbon/human/user) ..() - user.visible_message("[user] smashes [src]!", "You smash [src]!", null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] smashes [src]!"), span_danger("You smash [src]!"), null, COMBAT_MESSAGE_RANGE) if(density) playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) else diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 504e7a78bdb..0fba31192a3 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -100,7 +100,7 @@ /obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, gentle = FALSE, quickstart = TRUE) . = ..() if(obj_flags & FROZEN) - visible_message("[src] shatters into a million pieces!") + visible_message(span_danger("[src] shatters into a million pieces!")) qdel(src) @@ -277,7 +277,7 @@ fire = text2num(result["values"][FIRE]),\ acid = text2num(result["values"][ACID])) log_admin("[key_name(usr)] modified the armor on [src] ([type]) to melee: [armor.melee], bullet: [armor.bullet], laser: [armor.laser], energy: [armor.energy], bomb: [armor.bomb], bio: [armor.bio], rad: [armor.rad], fire: [armor.fire], acid: [armor.acid]") - message_admins("[key_name_admin(usr)] modified the armor on [src] ([type]) to melee: [armor.melee], bullet: [armor.bullet], laser: [armor.laser], energy: [armor.energy], bomb: [armor.bomb], bio: [armor.bio], rad: [armor.rad], fire: [armor.fire], acid: [armor.acid]") + message_admins(span_notice("[key_name_admin(usr)] modified the armor on [src] ([type]) to melee: [armor.melee], bullet: [armor.bullet], laser: [armor.laser], energy: [armor.energy], bomb: [armor.bomb], bio: [armor.bio], rad: [armor.rad], fire: [armor.fire], acid: [armor.acid]")) if(href_list[VV_HK_MASS_DEL_TYPE]) if(check_rights(R_DEBUG|R_SERVER)) var/action_type = tgui_alert(usr, "Strict type ([type]) or type and all subtypes?",,list("Strict type","Type and subtypes","Cancel")) @@ -303,7 +303,7 @@ to_chat(usr, "No objects of this type exist") return log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ") - message_admins("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ") + message_admins(span_notice("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")) if("Type and subtypes") var/i = 0 for(var/obj/Obj in world) @@ -315,14 +315,14 @@ to_chat(usr, "No objects of this type exist") return log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ") - message_admins("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ") + message_admins(span_notice("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")) /obj/examine(mob/user) . = ..() if(obj_flags & UNIQUE_RENAME) - . += "Use a pen on it to rename it or change its description." + . += span_notice("Use a pen on it to rename it or change its description.") if(unique_reskin && !current_skin) - . += "Alt-click it to reskin it." + . += span_notice("Alt-click it to reskin it.") /obj/AltClick(mob/user) . = ..() diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index b6930dae312..7d4d7c83e64 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -36,9 +36,9 @@ . = ..() if(!(resistance_flags & INDESTRUCTIBLE)) if(resistance_flags & ON_FIRE) - . += "It's on fire!" + . += span_warning("It's on fire!") if(broken) - . += "It appears to be broken." + . += span_notice("It appears to be broken.") var/examine_status = examine_status(user) if(examine_status) . += examine_status @@ -52,7 +52,7 @@ return "It appears heavily damaged." if(0 to 25) if(!broken) - return "It's falling apart!" + return span_warning("It's falling apart!") /obj/structure/rust_heretic_act() take_damage(500, BRUTE, "melee", 1) diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index b21a6832884..e510e1aaa3d 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -67,7 +67,7 @@ /obj/structure/ai_core/latejoin_inactive/examine(mob/user) . = ..() . += "Its transmitter seems to be [active? "on" : "off"]." - . += "You could [active? "deactivate" : "activate"] it with a multitool." + . += span_notice("You could [active? "deactivate" : "activate"] it with a multitool.") /obj/structure/ai_core/latejoin_inactive/proc/is_available() //If people still manage to use this feature to spawn-kill AI latejoins ahelp them. if(!available) @@ -91,7 +91,7 @@ /obj/structure/ai_core/latejoin_inactive/attackby(obj/item/P, mob/user, params) if(P.tool_behaviour == TOOL_MULTITOOL) active = !active - to_chat(user, "You [active? "activate" : "deactivate"] \the [src]'s transmitters.") + to_chat(user, span_notice("You [active? "activate" : "deactivate"] \the [src]'s transmitters.")) return return ..() @@ -101,15 +101,15 @@ if(!anchored) if(P.tool_behaviour == TOOL_WELDER && can_deconstruct) if(state != EMPTY_CORE) - to_chat(user, "The core must be empty to deconstruct it!") + to_chat(user, span_warning("The core must be empty to deconstruct it!")) return if(!P.tool_start_check(user, amount=0)) return - to_chat(user, "You start to deconstruct the frame...") + to_chat(user, span_notice("You start to deconstruct the frame...")) if(P.use_tool(src, user, 20, volume=50) && state == EMPTY_CORE) - to_chat(user, "You deconstruct the frame.") + to_chat(user, span_notice("You deconstruct the frame.")) deconstruct(TRUE) return else @@ -119,7 +119,7 @@ if(!user.transferItemToLoc(P, src)) return playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You place the circuit board inside the frame.") + to_chat(user, span_notice("You place the circuit board inside the frame.")) update_appearance() state = CIRCUIT_CORE circuit = P @@ -127,13 +127,13 @@ if(CIRCUIT_CORE) if(P.tool_behaviour == TOOL_SCREWDRIVER) P.play_tool_sound(src) - to_chat(user, "You screw the circuit board into place.") + to_chat(user, span_notice("You screw the circuit board into place.")) state = SCREWED_CORE update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) - to_chat(user, "You remove the circuit board.") + to_chat(user, span_notice("You remove the circuit board.")) state = EMPTY_CORE update_appearance() circuit.forceMove(loc) @@ -142,7 +142,7 @@ if(SCREWED_CORE) if(P.tool_behaviour == TOOL_SCREWDRIVER && circuit) P.play_tool_sound(src) - to_chat(user, "You unfasten the circuit board.") + to_chat(user, span_notice("You unfasten the circuit board.")) state = CIRCUIT_CORE update_appearance() return @@ -150,21 +150,21 @@ var/obj/item/stack/cable_coil/C = P if(C.get_amount() >= 5) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You start to add cables to the frame...") + to_chat(user, span_notice("You start to add cables to the frame...")) if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5)) - to_chat(user, "You add cables to the frame.") + to_chat(user, span_notice("You add cables to the frame.")) state = CABLED_CORE update_appearance() else - to_chat(user, "You need five lengths of cable to wire the AI core!") + to_chat(user, span_warning("You need five lengths of cable to wire the AI core!")) return if(CABLED_CORE) if(P.tool_behaviour == TOOL_WIRECUTTER) if(brain) - to_chat(user, "Get that [brain.name] out of there first!") + to_chat(user, span_warning("Get that [brain.name] out of there first!")) else P.play_tool_sound(src) - to_chat(user, "You remove the cables.") + to_chat(user, span_notice("You remove the cables.")) state = SCREWED_CORE update_appearance() new /obj/item/stack/cable_coil(drop_location(), 5) @@ -174,18 +174,18 @@ var/obj/item/stack/sheet/rglass/G = P if(G.get_amount() >= 2) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You start to put in the glass panel...") + to_chat(user, span_notice("You start to put in the glass panel...")) if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2)) - to_chat(user, "You put in the glass panel.") + to_chat(user, span_notice("You put in the glass panel.")) state = GLASS_CORE update_appearance() else - to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!") + to_chat(user, span_warning("You need two sheets of reinforced glass to insert them into the AI core!")) return if(istype(P, /obj/item/ai_module)) if(brain && brain.laws.id != DEFAULT_AI_LAWID) - to_chat(user, "The installed [brain.name] already has set laws!") + to_chat(user, span_warning("The installed [brain.name] already has set laws!")) return var/obj/item/ai_module/module = P module.install(laws, user) @@ -199,19 +199,19 @@ var/mob/living/brain/B = M.brainmob if(!CONFIG_GET(flag/allow_ai) || (is_banned_from(B.ckey, "AI") && !QDELETED(src) && !QDELETED(user) && !QDELETED(M) && !QDELETED(user) && Adjacent(user))) if(!QDELETED(M)) - to_chat(user, "This [M.name] does not seem to fit!") + to_chat(user, span_warning("This [M.name] does not seem to fit!")) return if(!user.transferItemToLoc(M,src)) return brain = M - to_chat(user, "You add [M.name] to the frame.") + to_chat(user, span_notice("You add [M.name] to the frame.")) update_appearance() return if(P.tool_behaviour == TOOL_CROWBAR && brain) P.play_tool_sound(src) - to_chat(user, "You remove the brain.") + to_chat(user, span_notice("You remove the brain.")) brain.forceMove(loc) brain = null update_appearance() @@ -220,7 +220,7 @@ if(GLASS_CORE) if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) - to_chat(user, "You remove the glass panel.") + to_chat(user, span_notice("You remove the glass panel.")) state = CABLED_CORE update_appearance() new /obj/item/stack/sheet/rglass(loc, 2) @@ -228,7 +228,7 @@ if(P.tool_behaviour == TOOL_SCREWDRIVER) P.play_tool_sound(src) - to_chat(user, "You connect the monitor.") + to_chat(user, span_notice("You connect the monitor.")) if(brain) var/mob/living/brain/B = brain.brainmob B.mind?.remove_antags_for_borging() @@ -245,7 +245,7 @@ if(brain.force_replace_ai_name) A.fully_replace_character_name(A.name, brain.replacement_ai_name()) SSblackbox.record_feedback("amount", "ais_created", 1) - deadchat_broadcast(" has been brought online at [get_area_name(A, TRUE)].", "[A]", follow_target=A, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" has been brought online at [get_area_name(A, TRUE)].", span_name("[A]"), follow_target=A, message_type=DEADCHAT_ANNOUNCEMENT) qdel(src) else state = AI_READY_CORE @@ -258,7 +258,7 @@ if(P.tool_behaviour == TOOL_SCREWDRIVER) P.play_tool_sound(src) - to_chat(user, "You disconnect the monitor.") + to_chat(user, span_notice("You disconnect the monitor.")) state = GLASS_CORE update_appearance() return @@ -305,7 +305,7 @@ That prevents a few funky behaviors. /atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(istype(card)) if(card.flush) - to_chat(user, "ERROR: AI flush is in progress, cannot execute transfer protocol.") + to_chat(user, span_alert("ERROR: AI flush is in progress, cannot execute transfer protocol.")) return FALSE return TRUE @@ -317,13 +317,13 @@ That prevents a few funky behaviors. AI.control_disabled = FALSE AI.radio_enabled = TRUE AI.forceMove(loc) // to replace the terminal. - to_chat(AI, "You have been uploaded to a stationary terminal. Remote device connection restored.") - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") + to_chat(AI, span_notice("You have been uploaded to a stationary terminal. Remote device connection restored.")) + to_chat(user, "[span_boldnotice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") card.AI = null AI.battery = circuit.battery qdel(src) else //If for some reason you use an empty card on an empty AI terminal. - to_chat(user, "There is no AI loaded on this terminal.") + to_chat(user, span_alert("There is no AI loaded on this terminal.")) /obj/item/circuitboard/aicore name = "AI core (AI Core Board)" //Well, duh, but best to be consistent diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index b21c0a2f0a1..ff6f30e5d3a 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -312,19 +312,19 @@ if(user.getorgan(/obj/item/organ/alien/plasmavessel)) switch(status) if(BURST) - to_chat(user, "You clear the hatched egg.") + to_chat(user, span_notice("You clear the hatched egg.")) playsound(loc, 'sound/effects/attackblob.ogg', 100, TRUE) qdel(src) return if(GROWING) - to_chat(user, "The child is not developed yet.") + to_chat(user, span_notice("The child is not developed yet.")) return if(GROWN) - to_chat(user, "You retrieve the child.") + to_chat(user, span_notice("You retrieve the child.")) Burst(kill=FALSE) return else - to_chat(user, "It feels slimy.") + to_chat(user, span_notice("It feels slimy.")) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index 11c566b5a6f..9e85f13aa07 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -21,7 +21,7 @@ painting = canvas canvas.forceMove(get_turf(src)) canvas.layer = layer+0.1 - user.visible_message("[user] puts \the [canvas] on \the [src].","You place \the [canvas] on \the [src].") + user.visible_message(span_notice("[user] puts \the [canvas] on \the [src]."),span_notice("You place \the [canvas] on \the [src].")) else return ..() @@ -278,17 +278,17 @@ /obj/structure/sign/painting/examine(mob/user) . = ..() if(persistence_id) - . += "Any painting placed here will be archived at the end of the shift." + . += span_notice("Any painting placed here will be archived at the end of the shift.") if(current_canvas) current_canvas.ui_interact(user) - . += "Use wirecutters to remove the painting." + . += span_notice("Use wirecutters to remove the painting.") /obj/structure/sign/painting/wirecutter_act(mob/living/user, obj/item/I) . = ..() if(current_canvas) current_canvas.forceMove(drop_location()) current_canvas = null - to_chat(user, "You remove the painting from the frame.") + to_chat(user, span_notice("You remove the painting from the frame.")) update_appearance() return TRUE @@ -297,7 +297,7 @@ current_canvas = new_canvas if(!current_canvas.finalized) current_canvas.finalize(user) - to_chat(user,"You frame [current_canvas].") + to_chat(user,span_notice("You frame [current_canvas].")) update_appearance() /obj/structure/sign/painting/proc/try_rename(mob/user) @@ -433,7 +433,7 @@ return var/mob/user = usr if(!persistence_id || !current_canvas) - to_chat(user,"This is not a persistent painting.") + to_chat(user,span_warning("This is not a persistent painting.")) return var/md5 = md5(lowertext(current_canvas.get_data_string())) var/author = current_canvas.author_ckey @@ -449,4 +449,4 @@ QDEL_NULL(P.current_canvas) P.update_appearance() log_admin("[key_name(user)] has deleted a persistent painting made by [author].") - message_admins("[key_name_admin(user)] has deleted persistent painting made by [author].") + message_admins(span_notice("[key_name_admin(user)] has deleted persistent painting made by [author].")) diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index 40762f2d1c6..338b8989cc1 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -67,21 +67,21 @@ if(.) return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_info("Access denied.")) return if(broken) - to_chat(user, "The controls seem unresponsive.") + to_chat(user, span_danger("The controls seem unresponsive.")) return pick_sign(user) /obj/structure/sign/barsign/attackby(obj/item/I, mob/user) if(I.tool_behaviour == TOOL_SCREWDRIVER) if(!panel_open) - to_chat(user, "You open the maintenance panel.") + to_chat(user, span_notice("You open the maintenance panel.")) set_sign(new /datum/barsign/hiddensigns/signoff) panel_open = TRUE else - to_chat(user, "You close the maintenance panel.") + to_chat(user, span_notice("You close the maintenance panel.")) if(!broken) if(!chosen_sign) set_sign(new /datum/barsign/hiddensigns/signoff) @@ -94,14 +94,14 @@ else if(istype(I, /obj/item/stack/cable_coil) && panel_open) var/obj/item/stack/cable_coil/C = I if(!broken) - to_chat(user, "This sign is functioning properly!") + to_chat(user, span_warning("This sign is functioning properly!")) return if(C.use(2)) - to_chat(user, "You replace the burnt wiring.") + to_chat(user, span_notice("You replace the burnt wiring.")) broken = FALSE else - to_chat(user, "You need at least two lengths of cable!") + to_chat(user, span_warning("You need at least two lengths of cable!")) else return ..() @@ -115,9 +115,9 @@ /obj/structure/sign/barsign/emag_act(mob/user) if(broken) - to_chat(user, "Nothing interesting happens!") + to_chat(user, span_warning("Nothing interesting happens!")) return - to_chat(user, "You load an illegal barsign into the memory buffer...") + to_chat(user, span_notice("You load an illegal barsign into the memory buffer...")) sleep(10 SECONDS) chosen_sign = set_sign(new /datum/barsign/hiddensigns/syndibarsign) diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm index f7501e4cb89..7f798850a5f 100644 --- a/code/game/objects/structures/beds_chairs/alien_nest.dm +++ b/code/game/objects/structures/beds_chairs/alien_nest.dm @@ -27,22 +27,22 @@ return if(M != user) - M.visible_message("[user.name] pulls [M.name] free from the sticky nest!",\ - "[user.name] pulls you free from the gelatinous resin.",\ - "You hear squelching...") + M.visible_message(span_notice("[user.name] pulls [M.name] free from the sticky nest!"),\ + span_notice("[user.name] pulls you free from the gelatinous resin."),\ + span_hear("You hear squelching...")) else - M.visible_message("[M.name] struggles to break free from the gelatinous resin!",\ - "You struggle to break free from the gelatinous resin... (Stay still for two minutes.)",\ - "You hear squelching...") + M.visible_message(span_warning("[M.name] struggles to break free from the gelatinous resin!"),\ + span_notice("You struggle to break free from the gelatinous resin... (Stay still for two minutes.)"),\ + span_hear("You hear squelching...")) if(!do_after(M, 1200, target = src)) if(M?.buckled) - to_chat(M, "You fail to unbuckle yourself!") + to_chat(M, span_warning("You fail to unbuckle yourself!")) return if(!M.buckled) return - M.visible_message("[M.name] breaks free from the gelatinous resin!",\ - "You break free from the gelatinous resin!",\ - "You hear squelching...") + M.visible_message(span_warning("[M.name] breaks free from the gelatinous resin!"),\ + span_notice("You break free from the gelatinous resin!"),\ + span_hear("You hear squelching...")) unbuckle_mob(M) add_fingerprint(user) @@ -60,9 +60,9 @@ unbuckle_all_mobs() if(buckle_mob(M)) - M.visible_message("[user.name] secretes a thick vile goo, securing [M.name] into [src]!",\ - "[user.name] drenches you in a foul-smelling resin, trapping you in [src]!",\ - "You hear squelching...") + M.visible_message(span_notice("[user.name] secretes a thick vile goo, securing [M.name] into [src]!"),\ + span_danger("[user.name] drenches you in a foul-smelling resin, trapping you in [src]!"),\ + span_hear("You hear squelching...")) /obj/structure/bed/nest/post_buckle_mob(mob/living/M) ADD_TRAIT(M, TRAIT_RESTRAINED, type) diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 585a4586504..f41e0c92389 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -25,7 +25,7 @@ /obj/structure/bed/examine(mob/user) . = ..() if(bolts) - . += "It's held together by a couple of bolts." + . += span_notice("It's held together by a couple of bolts.") /obj/structure/bed/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) @@ -58,19 +58,19 @@ if(istype(W, /obj/item/roller/robo)) var/obj/item/roller/robo/R = W if(R.loaded) - to_chat(user, "You already have a roller bed docked!") + to_chat(user, span_warning("You already have a roller bed docked!")) return if(has_buckled_mobs()) if(buckled_mobs.len > 1) unbuckle_all_mobs() - user.visible_message("[user] unbuckles all creatures from [src].") + user.visible_message(span_notice("[user] unbuckles all creatures from [src].")) else user_unbuckle_mob(buckled_mobs[1],user) else R.loaded = src forceMove(R) - user.visible_message("[user] collects [src].", "You collect [src].") + user.visible_message(span_notice("[user] collects [src]."), span_notice("You collect [src].")) return 1 else return ..() @@ -82,7 +82,7 @@ return FALSE if(has_buckled_mobs()) return FALSE - usr.visible_message("[usr] collapses \the [src.name].", "You collapse \the [src.name].") + usr.visible_message(span_notice("[usr] collapses \the [src.name]."), span_notice("You collapse \the [src.name].")) var/obj/structure/bed/roller/B = new foldabletype(get_turf(src)) usr.put_in_hands(B) qdel(src) @@ -117,9 +117,9 @@ if(istype(I, /obj/item/roller/robo)) var/obj/item/roller/robo/R = I if(R.loaded) - to_chat(user, "[R] already has a roller bed loaded!") + to_chat(user, span_warning("[R] already has a roller bed loaded!")) return - user.visible_message("[user] loads [src].", "You load [src] into [R].") + user.visible_message(span_notice("[user] loads [src]."), span_notice("You load [src] into [R].")) R.loaded = new/obj/structure/bed/roller(R) qdel(src) //"Load" return @@ -157,10 +157,10 @@ /obj/item/roller/robo/deploy_roller(mob/user, atom/location) if(loaded) loaded.forceMove(location) - user.visible_message("[user] deploys [loaded].", "You deploy [loaded].") + user.visible_message(span_notice("[user] deploys [loaded]."), span_notice("You deploy [loaded].")) loaded = null else - to_chat(user, "The dock is empty!") + to_chat(user, span_warning("The dock is empty!")) //Dog bed diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 8bccb470cd0..880f201dff8 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -18,9 +18,9 @@ /obj/structure/chair/examine(mob/user) . = ..() - . += "It's held together by a couple of bolts." + . += span_notice("It's held together by a couple of bolts.") if(!has_buckled_mobs() && can_buckle) - . += "While standing on [src], drag and drop your sprite onto [src] to buckle to it." + . += span_notice("While standing on [src], drag and drop your sprite onto [src] to buckle to it.") /obj/structure/chair/Initialize() . = ..() @@ -94,7 +94,7 @@ AddComponent(/datum/component/electrified_buckle, (SHOCK_REQUIREMENT_ITEM | SHOCK_REQUIREMENT_LIVE_CABLE | SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE), input_shock_kit, overlays_from_child_procs, FALSE) if(HAS_TRAIT(src, TRAIT_ELECTRIFIED_BUCKLE)) - to_chat(user, "You connect the shock kit to the [name], electrifying it ") + to_chat(user, span_notice("You connect the shock kit to the [name], electrifying it ")) else user.put_in_active_hand(input_shock_kit) to_chat(user, " You cannot fit the shock kit onto the [name]!") @@ -284,7 +284,7 @@ return if(!usr.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) return - usr.visible_message("[usr] grabs \the [src.name].", "You grab \the [src.name].") + usr.visible_message(span_notice("[usr] grabs \the [src.name]."), span_notice("You grab \the [src.name].")) var/obj/item/C = new item_chair(loc) C.set_custom_materials(custom_materials) TransferComponents(C) @@ -331,7 +331,7 @@ var/obj/structure/chair/origin_type = /obj/structure/chair /obj/item/chair/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins hitting [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins hitting [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src,hitsound,50,TRUE) return BRUTELOSS @@ -346,17 +346,17 @@ /obj/item/chair/proc/plant(mob/user) var/turf/T = get_turf(loc) if(!isfloorturf(T)) - to_chat(user, "You need ground to plant this on!") + to_chat(user, span_warning("You need ground to plant this on!")) return for(var/obj/A in T) if(istype(A, /obj/structure/chair)) - to_chat(user, "There is already a chair here!") + to_chat(user, span_warning("There is already a chair here!")) return if(A.density && !(A.flags_1 & ON_BORDER_1)) - to_chat(user, "There is already something here!") + to_chat(user, span_warning("There is already something here!")) return - user.visible_message("[user] rights \the [src.name].", "You right \the [name].") + user.visible_message(span_notice("[user] rights \the [src.name]."), span_notice("You right \the [name].")) var/obj/structure/chair/C = new origin_type(get_turf(loc)) C.set_custom_materials(custom_materials) TransferComponents(C) @@ -381,7 +381,7 @@ /obj/item/chair/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(attack_type == UNARMED_ATTACK && prob(hit_reaction_chance)) - owner.visible_message("[owner] fends off [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] fends off [attack_text] with [src]!")) return TRUE return FALSE @@ -390,7 +390,7 @@ if(!proximity) return if(prob(break_chance)) - user.visible_message("[user] smashes \the [src] to pieces against \the [target]") + user.visible_message(span_danger("[user] smashes \the [src] to pieces against \the [target]")) if(iscarbon(target)) var/mob/living/carbon/C = target if(C.health < C.maxHealth*0.5) @@ -472,12 +472,12 @@ if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user))) return if(!(datum_flags & DF_ISPROCESSING)) - user.visible_message("[user] spins [src] around, and the last vestiges of Ratvarian technology keeps it spinning FOREVER.", \ - "Automated spinny chairs. The pinnacle of ancient Ratvarian technology.") + user.visible_message(span_notice("[user] spins [src] around, and the last vestiges of Ratvarian technology keeps it spinning FOREVER."), \ + span_notice("Automated spinny chairs. The pinnacle of ancient Ratvarian technology.")) START_PROCESSING(SSfastprocess, src) else - user.visible_message("[user] stops [src]'s uncontrollable spinning.", \ - "You grab [src] and stop its wild spinning.") + user.visible_message(span_notice("[user] stops [src]'s uncontrollable spinning."), \ + span_notice("You grab [src] and stop its wild spinning.")) STOP_PROCESSING(SSfastprocess, src) /obj/structure/chair/mime @@ -519,9 +519,9 @@ /obj/structure/chair/plastic/proc/snap_check(mob/living/carbon/Mob) if (Mob.nutrition >= NUTRITION_LEVEL_FAT) - to_chat(Mob, "The chair begins to pop and crack, you're too heavy!") + to_chat(Mob, span_warning("The chair begins to pop and crack, you're too heavy!")) if(do_after(Mob, 6 SECONDS, progress = FALSE)) - Mob.visible_message("The plastic chair snaps under [Mob]'s weight!") + Mob.visible_message(span_notice("The plastic chair snaps under [Mob]'s weight!")) new /obj/effect/decal/cleanable/plastic(loc) qdel(src) diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 6d100d850f6..0cbbd3d1d95 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -36,12 +36,12 @@ LINEN BINS return if(layer == initial(layer)) layer = ABOVE_MOB_LAYER - to_chat(user, "You cover yourself with [src].") + to_chat(user, span_notice("You cover yourself with [src].")) pixel_x = 0 pixel_y = 0 else layer = initial(layer) - to_chat(user, "You smooth [src] out beneath you.") + to_chat(user, span_notice("You smooth [src] out beneath you.")) add_fingerprint(user) return @@ -53,7 +53,7 @@ LINEN BINS transfer_fingerprints_to(shreds) shreds.add_fingerprint(user) qdel(src) - to_chat(user, "You tear [src] up.") + to_chat(user, span_notice("You tear [src] up.")) else return ..() @@ -340,7 +340,7 @@ LINEN BINS return sheets.Add(I) amount++ - to_chat(user, "You put [I] in [src].") + to_chat(user, span_notice("You put [I] in [src].")) update_appearance() else if(default_unfasten_wrench(user, I, 5)) @@ -359,10 +359,10 @@ LINEN BINS else if(amount && !hidden && I.w_class < WEIGHT_CLASS_BULKY) //make sure there's sheets to hide it among, make sure nothing else is hidden in there. if(!user.transferItemToLoc(I, src)) - to_chat(user, "\The [I] is stuck to your hand, you cannot hide it among the sheets!") + to_chat(user, span_warning("\The [I] is stuck to your hand, you cannot hide it among the sheets!")) return hidden = I - to_chat(user, "You hide [I] among the sheets.") + to_chat(user, span_notice("You hide [I] among the sheets.")) /obj/structure/bedsheetbin/attack_paw(mob/user, list/modifiers) @@ -389,12 +389,12 @@ LINEN BINS B.forceMove(drop_location()) user.put_in_hands(B) - to_chat(user, "You take [B] out of [src].") + to_chat(user, span_notice("You take [B] out of [src].")) update_appearance() if(hidden) hidden.forceMove(drop_location()) - to_chat(user, "[hidden] falls out of [B]!") + to_chat(user, span_notice("[hidden] falls out of [B]!")) hidden = null add_fingerprint(user) @@ -413,7 +413,7 @@ LINEN BINS B = new /obj/item/bedsheet(loc) B.forceMove(drop_location()) - to_chat(user, "You telekinetically remove [B] from [src].") + to_chat(user, span_notice("You telekinetically remove [B] from [src].")) update_appearance() if(hidden) diff --git a/code/game/objects/structures/cannon.dm b/code/game/objects/structures/cannon.dm index b9a9b9596da..ce8b1807b82 100644 --- a/code/game/objects/structures/cannon.dm +++ b/code/game/objects/structures/cannon.dm @@ -32,24 +32,24 @@ /obj/structure/cannon/attackby(obj/item/W, mob/user, params) if(charge_ignited) - to_chat(user, "[src] is about to fire!") + to_chat(user, span_danger("[src] is about to fire!")) return var/ignition_message = W.ignition_effect(src, user) if(istype(W, /obj/item/stack/cannonball)) if(loaded_cannonball) - to_chat(user, "[src] is already loaded!") + to_chat(user, span_warning("[src] is already loaded!")) else var/obj/item/stack/cannonball/cannoneers_balls = W loaded_cannonball = new cannoneers_balls.type(src, 1) loaded_cannonball.copy_evidences(cannoneers_balls) - to_chat(user, "You load a [cannoneers_balls.singular_name] into [src].") + to_chat(user, span_notice("You load a [cannoneers_balls.singular_name] into [src].")) cannoneers_balls.use(1, transfer = TRUE) return else if(ignition_message) if(!reagents.has_reagent(/datum/reagent/gunpowder,15)) - to_chat(user, "[src] needs at least 15u of gunpowder to fire!") + to_chat(user, span_warning("[src] needs at least 15u of gunpowder to fire!")) return visible_message(ignition_message) log_game("Cannon fired by [key_name(user)] in [AREACOORD(src)]") @@ -65,16 +65,16 @@ return ..() if(!powder_keg.reagents.total_volume) - to_chat(user, "[powder_keg] is empty!") + to_chat(user, span_warning("[powder_keg] is empty!")) return else if(!powder_keg.reagents.has_reagent(/datum/reagent/gunpowder, charge_size)) - to_chat(user, "[powder_keg] doesn't have at least 15u of gunpowder to fill [src]!") + to_chat(user, span_warning("[powder_keg] doesn't have at least 15u of gunpowder to fill [src]!")) return if(reagents.has_reagent(/datum/reagent/gunpowder, charge_size)) - to_chat(user, "[src] already contains a full charge of powder! It would be unwise to add more.") + to_chat(user, span_warning("[src] already contains a full charge of powder! It would be unwise to add more.")) return powder_keg.reagents.trans_id_to(src, /datum/reagent/gunpowder, amount = charge_size) - to_chat(user, "You load [src] with a charge of powder from [powder_keg].") + to_chat(user, span_notice("You load [src] with a charge of powder from [powder_keg].")) return if(W.tool_behaviour == TOOL_WRENCH) if(default_unfasten_wrench(user, W, time = 2 SECONDS)) diff --git a/code/game/objects/structures/chess.dm b/code/game/objects/structures/chess.dm index 8f904219db0..5dcd7e910de 100644 --- a/code/game/objects/structures/chess.dm +++ b/code/game/objects/structures/chess.dm @@ -8,7 +8,7 @@ max_integrity = 100 /obj/structure/chess/wrench_act(mob/user, obj/item/tool) - to_chat(user, "You start to take apart the chess piece.") + to_chat(user, span_notice("You start to take apart the chess piece.")) if(!do_after(user, 0.5 SECONDS, target = src)) return TRUE var/obj/item/stack/sheet/iron/metal_sheets = new (drop_location(), 2) diff --git a/code/game/objects/structures/construction_console/construction_actions.dm b/code/game/objects/structures/construction_console/construction_actions.dm index 16d795b40b8..2c392b75085 100644 --- a/code/game/objects/structures/construction_console/construction_actions.dm +++ b/code/game/objects/structures/construction_console/construction_actions.dm @@ -32,10 +32,10 @@ if (!area_constraint) return TRUE if(!istype(build_area, area_constraint)) - to_chat(owner, "You can only build within [area_constraint]!") + to_chat(owner, span_warning("You can only build within [area_constraint]!")) return FALSE if(only_station_z && !is_station_level(build_target.z)) - to_chat(owner, "[area_constraint] has launched and can no longer be modified.") + to_chat(owner, span_warning("[area_constraint] has launched and can no longer be modified.")) return FALSE return TRUE @@ -104,17 +104,17 @@ return var/turf/place_turf = get_turf(remote_eye) if(!base_console.structures[structure_name]) - to_chat(owner, "[base_console] is out of [structure_name]!") + to_chat(owner, span_warning("[base_console] is out of [structure_name]!")) return if(!check_spot()) return //Can't place inside a closed turf if(place_turf.density) - to_chat(owner, "[structure_name] may only be placed on a floor.") + to_chat(owner, span_warning("[structure_name] may only be placed on a floor.")) return //Can't place two dense objects inside eachother if(initial(structure_path.density) && place_turf.is_blocked_turf()) - to_chat(owner, "Location is obstructed by something. Please clear the location and try again.") + to_chat(owner, span_warning("Location is obstructed by something. Please clear the location and try again.")) return var/obj/placed_structure = new structure_path(place_turf) base_console.structures[structure_name]-- @@ -134,7 +134,7 @@ place_sound = 'sound/machines/click.ogg' /datum/action/innate/construction/place_structure/turret/after_place(obj/placed_structure, remaining) - to_chat(owner, "Tiny fan placed. [remaining] fans remaining.") + to_chat(owner, span_notice("Tiny fan placed. [remaining] fans remaining.")) /datum/action/innate/construction/place_structure/turret name = "Install Plasma Anti-Wildlife Turret" @@ -146,7 +146,7 @@ /datum/action/innate/construction/place_structure/turret/after_place(obj/placed_structure, remaining) var/obj/machinery/computer/auxiliary_base/turret_controller = locate() in get_area(placed_structure) if(!turret_controller) - to_chat(owner, "Warning: Aux base controller not found. Turrets might not work properly.") + to_chat(owner, span_notice("Warning: Aux base controller not found. Turrets might not work properly.")) return turret_controller.turrets += placed_structure - to_chat(owner, "You've constructed an additional turret. [remaining] turrets remaining.") + to_chat(owner, span_notice("You've constructed an additional turret. [remaining] turrets remaining.")) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 60ab6b9f87b..07a7eaedd67 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -100,16 +100,16 @@ /obj/structure/closet/examine(mob/user) . = ..() if(welded) - . += "It's welded shut." + . += span_notice("It's welded shut.") if(anchored) - . += "It is bolted to the ground." + . += span_notice("It is bolted to the ground.") if(opened) - . += "The parts are welded together." + . += span_notice("The parts are welded together.") else if(secure && !opened) - . += "Right-click to [locked ? "unlock" : "lock"]." + . += span_notice("Right-click to [locked ? "unlock" : "lock"].") if(HAS_TRAIT(user, TRAIT_SKITTISH) && divable) - . += "If you bump into [p_them()] while running, you will jump inside." + . += span_notice("If you bump into [p_them()] while running, you will jump inside.") /obj/structure/closet/CanAllowThrough(atom/movable/mover, turf/target) . = ..() @@ -122,13 +122,13 @@ if(welded || locked) return FALSE if(strong_grab) - to_chat(user, "[pulledby] has an incredibly strong grip on [src], preventing it from opening.") + to_chat(user, span_danger("[pulledby] has an incredibly strong grip on [src], preventing it from opening.")) return FALSE var/turf/T = get_turf(src) for(var/mob/living/L in T) if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density) if(user) - to_chat(user, "There's something large on top of [src], preventing it from opening.") + to_chat(user, span_danger("There's something large on top of [src], preventing it from opening.")) return FALSE return TRUE @@ -140,7 +140,7 @@ for(var/mob/living/L in T) if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density) if(user) - to_chat(user, "There's something too large in [src], preventing it from closing.") + to_chat(user, span_danger("There's something too large in [src], preventing it from closing.")) return FALSE return TRUE @@ -272,18 +272,18 @@ if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You begin cutting \the [src] apart...") + to_chat(user, span_notice("You begin cutting \the [src] apart...")) if(W.use_tool(src, user, 40, volume=50)) if(!opened) return - user.visible_message("[user] slices apart \the [src].", - "You cut \the [src] apart with \the [W].", - "You hear welding.") + user.visible_message(span_notice("[user] slices apart \the [src]."), + span_notice("You cut \the [src] apart with \the [W]."), + span_hear("You hear welding.")) deconstruct(TRUE) return else // for example cardboard box is cut with wirecutters - user.visible_message("[user] cut apart \the [src].", \ - "You cut \the [src] apart with \the [W].") + user.visible_message(span_notice("[user] cut apart \the [src]."), \ + span_notice("You cut \the [src] apart with \the [W].")) deconstruct(TRUE) return if(user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too @@ -292,15 +292,15 @@ if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You begin [welded ? "unwelding":"welding"] \the [src]...") + to_chat(user, span_notice("You begin [welded ? "unwelding":"welding"] \the [src]...")) if(W.use_tool(src, user, 40, volume=50)) if(opened) return welded = !welded after_weld(welded) - user.visible_message("[user] [welded ? "welds shut" : "unwelded"] \the [src].", - "You [welded ? "weld" : "unwelded"] \the [src] with \the [W].", - "You hear welding.") + user.visible_message(span_notice("[user] [welded ? "welds shut" : "unwelded"] \the [src]."), + span_notice("You [welded ? "weld" : "unwelded"] \the [src] with \the [W]."), + span_hear("You hear welding.")) log_game("[key_name(user)] [welded ? "welded":"unwelded"] closet [src] with [W] at [AREACOORD(src)]") update_appearance() else if(W.tool_behaviour == TOOL_WRENCH && anchorable) @@ -308,9 +308,9 @@ return set_anchored(!anchored) W.play_tool_sound(src, 75) - user.visible_message("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ - "You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ - "You hear a ratchet.") + user.visible_message(span_notice("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground."), \ + span_notice("You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground."), \ + span_hear("You hear a ratchet.")) else if(!user.combat_mode) var/item_is_id = W.GetID() if(!item_is_id) @@ -345,14 +345,14 @@ var/turf/T = get_turf(src) var/list/targets = list(O, src) add_fingerprint(user) - user.visible_message("[user] [actuallyismob ? "tries to ":""]stuff [O] into [src].", \ - "You [actuallyismob ? "try to ":""]stuff [O] into [src].", \ - "You hear clanging.") + user.visible_message(span_warning("[user] [actuallyismob ? "tries to ":""]stuff [O] into [src]."), \ + span_warning("You [actuallyismob ? "try to ":""]stuff [O] into [src]."), \ + span_hear("You hear clanging.")) if(actuallyismob) if(do_after_mob(user, targets, 40)) - user.visible_message("[user] stuffs [O] into [src].", \ - "You stuff [O] into [src].", \ - "You hear a loud metal bang.") + user.visible_message(span_notice("[user] stuffs [O] into [src]."), \ + span_notice("You stuff [O] into [src]."), \ + span_hear("You hear a loud metal bang.")) var/mob/living/L = O if(!issilicon(L)) L.Paralyze(40) @@ -371,7 +371,7 @@ if(locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) return container_resist_act(user) @@ -410,7 +410,7 @@ if(iscarbon(usr) || issilicon(usr) || isdrone(usr)) return toggle(usr) else - to_chat(usr, "This mob type can't use this verb.") + to_chat(usr, span_warning("This mob type can't use this verb.")) // Objects that try to exit a locker by stepping were doing so successfully, // and due to an oversight in turf/Enter() were going through walls. That @@ -437,19 +437,19 @@ //okay, so the closet is either welded or locked... resist!!! user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("[src] begins to shake violently!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear banging from [src].") + user.visible_message(span_warning("[src] begins to shake violently!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear banging from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded) ) return //we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting - user.visible_message("[user] successfully broke out of [src]!", - "You successfully break out of [src]!") + user.visible_message(span_danger("[user] successfully broke out of [src]!"), + span_notice("You successfully break out of [src]!")) bust_open() else if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. - to_chat(user, "You fail to break out of [src]!") + to_chat(user, span_warning("You fail to break out of [src]!")) /obj/structure/closet/proc/bust_open() SIGNAL_HANDLER @@ -471,20 +471,20 @@ if(iscarbon(user)) add_fingerprint(user) locked = !locked - user.visible_message("[user] [locked ? null : "un"]locks [src].", - "You [locked ? null : "un"]lock [src].") + user.visible_message(span_notice("[user] [locked ? null : "un"]locks [src]."), + span_notice("You [locked ? null : "un"]lock [src].")) update_appearance() else if(!silent) - to_chat(user, "Access Denied.") + to_chat(user, span_alert("Access Denied.")) else if(secure && broken) - to_chat(user, "\The [src] is broken!") + to_chat(user, span_warning("\The [src] is broken!")) /obj/structure/closet/emag_act(mob/user) if(secure && !broken) if(user) - user.visible_message("Sparks fly from [src]!", - "You scramble [src]'s lock, breaking it open!", - "You hear a faint electrical spark.") + user.visible_message(span_warning("Sparks fly from [src]!"), + span_warning("You scramble [src]'s lock, breaking it open!"), + span_hear("You hear a faint electrical spark.")) playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) broken = TRUE locked = FALSE diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 906ba9ddf99..a738699b026 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -29,7 +29,7 @@ /obj/structure/closet/body_bag/attackby(obj/item/I, mob/user, params) if (istype(I, /obj/item/pen) || istype(I, /obj/item/toy/crayon)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") + to_chat(user, span_notice("You scribble illegibly on [src]!")) return var/t = stripped_input(user, "What would you like the label to be?", name, null, 53) if(user.get_active_held_item() != I) @@ -44,7 +44,7 @@ name = initial(name) return else if(I.tool_behaviour == TOOL_WIRECUTTER) - to_chat(user, "You cut the tag off [src].") + to_chat(user, span_notice("You cut the tag off [src].")) name = "body bag" tagged = FALSE update_appearance() @@ -84,10 +84,10 @@ if(!istype(the_folder)) return if(opened) - to_chat(the_folder, "You wrestle with [src], but it won't fold while unzipped.") + to_chat(the_folder, span_warning("You wrestle with [src], but it won't fold while unzipped.")) return if(contents.len) - to_chat(the_folder, "There are too many things inside of [src] to fold it up!") + to_chat(the_folder, span_warning("There are too many things inside of [src] to fold it up!")) return // toto we made it! return TRUE @@ -99,7 +99,7 @@ * * the_folder - over_object of MouseDrop aka usr */ /obj/structure/closet/body_bag/proc/perform_fold(mob/living/carbon/human/the_folder) - visible_message("[usr] folds up [src].") + visible_message(span_notice("[usr] folds up [src].")) var/obj/item/bodybag/B = foldedbag_instance || new foldedbag_path the_folder.put_in_hands(B) @@ -118,26 +118,26 @@ if(!istype(the_folder)) return if(opened) - to_chat(the_folder, "You wrestle with [src], but it won't fold while unzipped.") + to_chat(the_folder, span_warning("You wrestle with [src], but it won't fold while unzipped.")) return //end copypaste zone if(contents.len >= mob_storage_capacity / 2) - to_chat(usr, "There are too many things inside of [src] to fold it up!") + to_chat(usr, span_warning("There are too many things inside of [src] to fold it up!")) return for(var/obj/item/bodybag/bluespace/B in src) - to_chat(usr, "You can't recursively fold bluespace body bags!" ) + to_chat(usr, span_warning("You can't recursively fold bluespace body bags!") ) return return TRUE /obj/structure/closet/body_bag/bluespace/perform_fold(mob/living/carbon/human/the_folder) - visible_message("[usr] folds up [src].") + visible_message(span_notice("[usr] folds up [src].")) var/obj/item/bodybag/B = foldedbag_instance || new foldedbag_path var/max_weight_of_contents = initial(B.w_class) for(var/am in contents) var/atom/movable/content = am content.forceMove(B) if(isliving(content)) - to_chat(content, "You're suddenly forced into a tiny, compressed space!") + to_chat(content, span_userdanger("You're suddenly forced into a tiny, compressed space!")) if(!isitem(content)) max_weight_of_contents = max(WEIGHT_CLASS_BULKY, max_weight_of_contents) continue diff --git a/code/game/objects/structures/crates_lockers/closets/infinite.dm b/code/game/objects/structures/crates_lockers/closets/infinite.dm index ef471d66db7..7ed564adf48 100644 --- a/code/game/objects/structures/crates_lockers/closets/infinite.dm +++ b/code/game/objects/structures/crates_lockers/closets/infinite.dm @@ -30,4 +30,4 @@ /obj/structure/closet/infinite/proc/close_on_my_own() if(close()) - visible_message("\The [src] closes on its own.") + visible_message(span_notice("\The [src] closes on its own.")) 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 dd104f2c960..ea7762d9294 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -39,7 +39,7 @@ var/obj/item/card/id/I = W.GetID() if(istype(I)) if(broken) - to_chat(user, "It appears to be broken.") + to_chat(user, span_danger("It appears to be broken.")) return if(!I || !I.registered_name) return @@ -52,6 +52,6 @@ registered_name = I.registered_name desc = "Owned by [I.registered_name]." else - to_chat(user, "Access Denied.") + to_chat(user, span_danger("Access Denied.")) else return ..() diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index feb3ee693ab..98be77facf3 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -67,14 +67,14 @@ /obj/structure/closet/crate/open(mob/living/user, force = FALSE) . = ..() if(. && manifest) - to_chat(user, "The manifest is torn off [src].") + to_chat(user, span_notice("The manifest is torn off [src].")) playsound(src, 'sound/items/poster_ripped.ogg', 75, TRUE) manifest.forceMove(get_turf(src)) manifest = null update_appearance() /obj/structure/closet/crate/proc/tear_manifest(mob/user) - to_chat(user, "You tear the manifest off of [src].") + to_chat(user, span_notice("You tear the manifest off of [src].")) playsound(src, 'sound/items/poster_ripped.ogg', 75, TRUE) manifest.forceMove(loc) diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm index 26335320c2b..afbdb3c505f 100644 --- a/code/game/objects/structures/crates_lockers/crates/bins.dm +++ b/code/game/objects/structures/crates_lockers/crates/bins.dm @@ -25,7 +25,7 @@ /obj/structure/closet/crate/bin/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/storage/bag/trash)) var/obj/item/storage/bag/trash/T = W - to_chat(user, "You fill the bag.") + to_chat(user, span_notice("You fill the bag.")) for(var/obj/item/O in src) SEND_SIGNAL(T, COMSIG_TRY_STORAGE_INSERT, O, user, TRUE) T.update_appearance() diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm index 84d9e6d27fd..ae347e5a4e2 100644 --- a/code/game/objects/structures/crates_lockers/crates/large.dm +++ b/code/game/objects/structures/crates_lockers/crates/large.dm @@ -20,16 +20,16 @@ if(manifest) tear_manifest(user) else - to_chat(user, "You need a crowbar to pry this open!") + to_chat(user, span_warning("You need a crowbar to pry this open!")) /obj/structure/closet/crate/large/attackby(obj/item/W, mob/living/user, params) if(W.tool_behaviour == TOOL_CROWBAR) if(manifest) tear_manifest(user) - user.visible_message("[user] pries \the [src] open.", \ - "You pry open \the [src].", \ - "You hear splitting wood.") + user.visible_message(span_notice("[user] pries \the [src] open."), \ + span_notice("You pry open \the [src]."), \ + span_hear("You hear splitting wood.")) playsound(src.loc, 'sound/weapons/slashmiss.ogg', 75, TRUE) var/turf/T = get_turf(src) @@ -45,6 +45,6 @@ return ..() //Stops it from opening and turning invisible when items are used on it. else - to_chat(user, "You need a crowbar to pry this open!") + to_chat(user, span_warning("You need a crowbar to pry this open!")) return FALSE //Just stop. Do nothing. Don't turn into an invisible sprite. Don't open like a locker. //The large crate has no non-attack interactions other than the crowbar, anyway. diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index e08ec573f5e..0ba87efa46b 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -28,7 +28,7 @@ /obj/structure/closet/crate/secure/proc/boom(mob/user) if(user) - to_chat(user, "The crate's anti-tamper system activates!") + to_chat(user, span_danger("The crate's anti-tamper system activates!")) log_bomber(user, "has detonated a", src) for(var/atom/movable/AM in src) qdel(AM) @@ -95,7 +95,7 @@ /obj/structure/closet/crate/secure/owned/examine(mob/user) . = ..() - . += "It's locked with a privacy lock, and can only be unlocked by the buyer's ID." + . += span_notice("It's locked with a privacy lock, and can only be unlocked by the buyer's ID.") /obj/structure/closet/crate/secure/owned/Initialize(mapload, datum/bank_account/_buyer_account) . = ..() @@ -114,16 +114,16 @@ if(iscarbon(user)) add_fingerprint(user) locked = !locked - user.visible_message("[user] unlocks [src]'s privacy lock.", - "You unlock [src]'s privacy lock.") + user.visible_message(span_notice("[user] unlocks [src]'s privacy lock."), + span_notice("You unlock [src]'s privacy lock.")) privacy_lock = FALSE update_appearance() else if(!silent) - to_chat(user, "Bank account does not match with buyer!") + to_chat(user, span_notice("Bank account does not match with buyer!")) else if(!silent) - to_chat(user, "No linked bank account detected!") + to_chat(user, span_notice("No linked bank account detected!")) else if(!silent) - to_chat(user, "No ID detected!") + to_chat(user, span_notice("No ID detected!")) else if(!silent) - to_chat(user, "[src] is broken!") + to_chat(user, span_warning("[src] is broken!")) else ..() diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index e45e831e99a..1ccf2dddbfa 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -54,9 +54,9 @@ /obj/structure/displaycase/examine(mob/user) . = ..() if(alert) - . += "Hooked up with an anti-theft system." + . += span_notice("Hooked up with an anti-theft system.") if(showpiece) - . += "There's \a [showpiece] inside." + . += span_notice("There's \a [showpiece] inside.") if(trophy_message) . += "The plaque reads:\n [trophy_message]" @@ -119,43 +119,43 @@ /obj/structure/displaycase/attackby(obj/item/W, mob/living/user, params) if(W.GetID() && !broken && openable) if(allowed(user)) - to_chat(user, "You [open ? "close":"open"] [src].") + to_chat(user, span_notice("You [open ? "close":"open"] [src].")) toggle_lock(user) else - to_chat(user, "Access denied.") + to_chat(user, span_alert("Access denied.")) else if(W.tool_behaviour == TOOL_WELDER && !user.combat_mode && !broken) if(obj_integrity < max_integrity) if(!W.tool_start_check(user, amount=5)) return - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) if(W.use_tool(src, user, 40, amount=5, volume=50)) obj_integrity = max_integrity update_appearance() - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) else - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return else if(!alert && W.tool_behaviour == TOOL_CROWBAR && openable) //Only applies to the lab cage and player made display cases if(broken) if(showpiece) - to_chat(user, "Remove the displayed object first!") + to_chat(user, span_warning("Remove the displayed object first!")) else - to_chat(user, "You remove the destroyed case.") + to_chat(user, span_notice("You remove the destroyed case.")) qdel(src) else - to_chat(user, "You start to [open ? "close":"open"] [src]...") + to_chat(user, span_notice("You start to [open ? "close":"open"] [src]...")) if(W.use_tool(src, user, 20)) - to_chat(user, "You [open ? "close":"open"] [src].") + to_chat(user, span_notice("You [open ? "close":"open"] [src].")) toggle_lock(user) else if(open && !showpiece) insert_showpiece(W, user) 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) - to_chat(user, "You need two glass sheets to fix the case!") + to_chat(user, span_warning("You need two glass sheets to fix the case!")) return - to_chat(user, "You start fixing [src]...") + to_chat(user, span_notice("You start fixing [src]...")) if(do_after(user, 20, target = src)) G.use(2) broken = FALSE @@ -166,11 +166,11 @@ /obj/structure/displaycase/proc/insert_showpiece(obj/item/wack, mob/user) if(showpiece_type && !istype(wack, showpiece_type)) - to_chat(user, "This doesn't belong in this kind of display.") + to_chat(user, span_notice("This doesn't belong in this kind of display.")) return TRUE if(user.transferItemToLoc(wack, src)) showpiece = wack - to_chat(user, "You put [wack] on display.") + to_chat(user, span_notice("You put [wack] on display.")) update_appearance() /obj/structure/displaycase/proc/toggle_lock(mob/user) @@ -186,7 +186,7 @@ return user.changeNext_move(CLICK_CD_MELEE) if (showpiece && (broken || open)) - to_chat(user, "You deactivate the hover field built into the case.") + to_chat(user, span_notice("You deactivate the hover field built into the case.")) log_combat(user, src, "deactivates the hover field of") dump() add_fingerprint(user) @@ -199,7 +199,7 @@ if(!user.is_blind()) user.examinate(src) return - user.visible_message("[user] kicks the display case.", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] kicks the display case."), null, null, COMBAT_MESSAGE_RANGE) log_combat(user, src, "kicks") user.do_attack_animation(src, ATTACK_EFFECT_KICK) take_damage(2) @@ -216,7 +216,7 @@ /obj/structure/displaycase_chassis/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH) //The player can only deconstruct the wooden frame - to_chat(user, "You start disassembling [src]...") + to_chat(user, span_notice("You start disassembling [src]...")) I.play_tool_sound(src) if(I.use_tool(src, user, 30)) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) @@ -224,15 +224,15 @@ qdel(src) else if(istype(I, /obj/item/electronics/airlock)) - to_chat(user, "You start installing the electronics into [src]...") + to_chat(user, span_notice("You start installing the electronics into [src]...")) I.play_tool_sound(src) if(do_after(user, 30, target = src) && user.transferItemToLoc(I,src)) electronics = I - to_chat(user, "You install the airlock electronics.") + to_chat(user, span_notice("You install the airlock electronics.")) else if(istype(I, /obj/item/stock_parts/card_reader)) var/obj/item/stock_parts/card_reader/C = I - to_chat(user, "You start adding [C] to [src]...") + to_chat(user, span_notice("You start adding [C] to [src]...")) if(do_after(user, 20, target = src)) var/obj/structure/displaycase/forsale/sale = new(src.loc) if(electronics) @@ -248,9 +248,9 @@ else if(istype(I, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/G = I if(G.get_amount() < 10) - to_chat(user, "You need ten glass sheets to do this!") + to_chat(user, span_warning("You need ten glass sheets to do this!")) return - to_chat(user, "You start adding [G] to [src]...") + to_chat(user, span_notice("You start adding [G] to [src]...")) if(do_after(user, 20, target = src)) G.use(10) var/obj/structure/displaycase/noalert/display = new(src.loc) @@ -308,35 +308,35 @@ if(user.is_holding_item_of_type(/obj/item/key/displaycase)) if(added_roundstart) is_locked = !is_locked - to_chat(user, "You [!is_locked ? "un" : ""]lock the case.") + to_chat(user, span_notice("You [!is_locked ? "un" : ""]lock the case.")) else - to_chat(user, "The lock is stuck shut!") + to_chat(user, span_warning("The lock is stuck shut!")) return if(is_locked) - to_chat(user, "The case is shut tight with an old-fashioned physical lock. Maybe you should ask the curator for the key?") + to_chat(user, span_warning("The case is shut tight with an old-fashioned physical lock. Maybe you should ask the curator for the key?")) return if(!added_roundstart) - to_chat(user, "You've already put something new in this case!") + to_chat(user, span_warning("You've already put something new in this case!")) return if(is_type_in_typecache(W, GLOB.blacklisted_cargo_types)) - to_chat(user, "The case rejects the [W]!") + to_chat(user, span_warning("The case rejects the [W]!")) return for(var/a in W.GetAllContents()) if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types)) - to_chat(user, "The case rejects the [W]!") + to_chat(user, span_warning("The case rejects the [W]!")) return if(user.transferItemToLoc(W, src)) if(showpiece) - to_chat(user, "You press a button, and [showpiece] descends into the floor of the case.") + to_chat(user, span_notice("You press a button, and [showpiece] descends into the floor of the case.")) QDEL_NULL(showpiece) - to_chat(user, "You insert [W] into the case.") + to_chat(user, span_notice("You insert [W] into the case.")) showpiece = W added_roundstart = FALSE update_appearance() @@ -349,22 +349,22 @@ if(chosen_plaque) if(user.Adjacent(src)) trophy_message = chosen_plaque - to_chat(user, "You set the plaque's text.") + to_chat(user, span_notice("You set the plaque's text.")) else - to_chat(user, "You are too far to set the plaque's text!") + to_chat(user, span_warning("You are too far to set the plaque's text!")) SSpersistence.SaveTrophy(src) return TRUE else - to_chat(user, "\The [W] is stuck to your hand, you can't put it in the [src.name]!") + to_chat(user, span_warning("\The [W] is stuck to your hand, you can't put it in the [src.name]!")) return /obj/structure/displaycase/trophy/dump() if (showpiece) if(added_roundstart) - visible_message("The [showpiece] crumbles to dust!") + visible_message(span_danger("The [showpiece] crumbles to dust!")) new /obj/effect/decal/cleanable/ash(loc) QDEL_NULL(showpiece) else @@ -442,32 +442,32 @@ switch(action) if("Buy") if(!showpiece) - to_chat(usr, "There's nothing for sale.") + to_chat(usr, span_notice("There's nothing for sale.")) return TRUE if(broken) - to_chat(usr, "[src] appears to be broken.") + to_chat(usr, span_notice("[src] appears to be broken.")) return TRUE if(!payments_acc) - to_chat(usr, "[src] hasn't been registered yet.") + to_chat(usr, span_notice("[src] hasn't been registered yet.")) return TRUE if(!usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return TRUE if(!potential_acc) - to_chat(usr, "No ID card detected.") + to_chat(usr, span_notice("No ID card detected.")) return var/datum/bank_account/account = potential_acc.registered_account if(!account) - to_chat(usr, "[potential_acc] has no account registered!") + to_chat(usr, span_notice("[potential_acc] has no account registered!")) return if(!account.has_money(sale_price)) - to_chat(usr, "You do not possess the funds to purchase this.") + to_chat(usr, span_notice("You do not possess the funds to purchase this.")) return TRUE else account.adjust_money(-sale_price) if(payments_acc) payments_acc.adjust_money(sale_price) usr.put_in_hands(showpiece) - to_chat(usr, "You purchase [showpiece] for [sale_price] credits.") + to_chat(usr, span_notice("You purchase [showpiece] for [sale_price] credits.")) playsound(src, 'sound/effects/cashregister.ogg', 40, TRUE) flick("[initial(icon_state)]_vend", src) showpiece = null @@ -476,7 +476,7 @@ return TRUE if("Open") if(!payments_acc) - to_chat(usr, "[src] hasn't been registered yet.") + to_chat(usr, span_notice("[src] hasn't been registered yet.")) return TRUE if(!potential_acc || !potential_acc.registered_account) return @@ -502,14 +502,14 @@ var/new_price_input = input(usr,"Set the sale price for this vend-a-tray.","new price",0) as num|null if(isnull(new_price_input) || (payments_acc != potential_acc.registered_account)) - to_chat(usr, "[src] rejects your new price.") + to_chat(usr, span_warning("[src] rejects your new price.")) return if(!usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) ) - to_chat(usr, "You need to get closer!") + to_chat(usr, span_warning("You need to get closer!")) return new_price_input = clamp(round(new_price_input, 1), 10, 1000) sale_price = new_price_input - to_chat(usr, "The cost is now set to [sale_price].") + to_chat(usr, span_notice("The cost is now set to [sale_price].")) SStgui.update_uis(src) return TRUE . = TRUE @@ -518,7 +518,7 @@ //Card Registration var/obj/item/card/id/potential_acc = I if(!potential_acc.registered_account) - to_chat(user, "This ID card has no account registered!") + to_chat(user, span_warning("This ID card has no account registered!")) return if(payments_acc == potential_acc.registered_account) playsound(src, 'sound/machines/click.ogg', 20, TRUE) @@ -533,7 +533,7 @@ /obj/structure/displaycase/forsale/multitool_act(mob/living/user, obj/item/I) . = ..() if(obj_integrity <= (integrity_failure * max_integrity)) - to_chat(user, "You start recalibrating [src]'s hover field...") + to_chat(user, span_notice("You start recalibrating [src]'s hover field...")) if(do_after(user, 20, target = src)) broken = FALSE obj_integrity = max_integrity @@ -544,34 +544,34 @@ . = ..() if(open && !user.combat_mode) if(anchored) - to_chat(user, "You start unsecuring [src]...") + to_chat(user, span_notice("You start unsecuring [src]...")) else - to_chat(user, "You start securing [src]...") + to_chat(user, span_notice("You start securing [src]...")) if(I.use_tool(src, user, 16, volume=50)) if(QDELETED(I)) return if(anchored) - to_chat(user, "You unsecure [src].") + to_chat(user, span_notice("You unsecure [src].")) else - to_chat(user, "You secure [src].") + to_chat(user, span_notice("You secure [src].")) set_anchored(!anchored) return TRUE else if(!open && !user.combat_mode) - to_chat(user, "[src] must be open to move it.") + to_chat(user, span_notice("[src] must be open to move it.")) return /obj/structure/displaycase/forsale/emag_act(mob/user) . = ..() payments_acc = null req_access = list() - to_chat(user, "[src]'s card reader fizzles and smokes, and the account owner is reset.") + to_chat(user, span_warning("[src]'s card reader fizzles and smokes, and the account owner is reset.")) /obj/structure/displaycase/forsale/examine(mob/user) . = ..() if(showpiece && !open) - . += "[showpiece] is for sale for [sale_price] credits." + . += span_notice("[showpiece] is for sale for [sale_price] credits.") if(broken) - . += "[src] is sparking and the hover field generator seems to be overloaded. Use a multitool to fix it." + . += span_notice("[src] is sparking and the hover field generator seems to be overloaded. Use a multitool to fix it.") /obj/structure/displaycase/forsale/obj_break(damage_flag) . = ..() diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm index 2cef40702ab..c2b66cfdea8 100644 --- a/code/game/objects/structures/divine.dm +++ b/code/game/objects/structures/divine.dm @@ -16,7 +16,7 @@ var/mob/living/L = locate() in buckled_mobs if(!L) return - to_chat(user, "Invoking the sacred ritual, you sacrifice [L].") + to_chat(user, span_notice("Invoking the sacred ritual, you sacrifice [L].")) L.gib() message_admins("[ADMIN_LOOKUPFLW(user)] has sacrificed [key_name_admin(L)] on the sacrificial altar at [AREACOORD(src)].") @@ -35,10 +35,10 @@ if(.) return if(last_process + time_between_uses > world.time) - to_chat(user, "The fountain appears to be empty.") + to_chat(user, span_notice("The fountain appears to be empty.")) return last_process = world.time - to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.") + to_chat(user, span_notice("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_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 84a1637bc82..c0ebc28bdb0 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -33,21 +33,21 @@ switch(state) if(AIRLOCK_ASSEMBLY_NEEDS_WIRES) if(anchored) - . += "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring." + . += span_notice("The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring.") else - . += "The assembly is welded together, but the anchoring bolts are unwrenched." + . += span_notice("The assembly is welded together, but the anchoring bolts are unwrenched.") if(AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) - . += "The maintenance panel is wired, but the circuit slot is empty." + . += span_notice("The maintenance panel is wired, but the circuit slot is empty.") if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) - . += "The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open." + . += span_notice("The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open.") if(!mineral && !glass && !noglass) - . += "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows and mineral covers." + . += span_notice("There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows and mineral covers.") else if(!mineral && glass && !noglass) - . += "There is a small paper placard on the assembly[doorname]. There are empty slots for mineral covers." + . += span_notice("There is a small paper placard on the assembly[doorname]. There are empty slots for mineral covers.") else if(mineral && !glass && !noglass) - . += "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows." + . += span_notice("There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows.") else - . += "There is a small paper placard on the assembly[doorname]." + . += span_notice("There is a small paper placard on the assembly[doorname].") /obj/structure/door_assembly/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) @@ -64,17 +64,17 @@ if(mineral) var/obj/item/stack/sheet/mineral/mineral_path = text2path("/obj/item/stack/sheet/mineral/[mineral]") - user.visible_message("[user] welds the [mineral] plating off the airlock assembly.", "You start to weld the [mineral] plating off the airlock assembly...") + user.visible_message(span_notice("[user] welds the [mineral] plating off the airlock assembly."), span_notice("You start to weld the [mineral] plating off the airlock assembly...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You weld the [mineral] plating off.") + to_chat(user, span_notice("You weld the [mineral] plating off.")) new mineral_path(loc, 2) var/obj/structure/door_assembly/PA = new previous_assembly(loc) transfer_assembly_vars(src, PA) else if(glass) - user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly...") + user.visible_message(span_notice("[user] welds the glass panel out of the airlock assembly."), span_notice("You start to weld the glass panel out of the airlock assembly...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You weld the glass panel out.") + to_chat(user, span_notice("You weld the glass panel out.")) if(heat_proof_finished) new /obj/item/stack/sheet/rglass(get_turf(src)) heat_proof_finished = 0 @@ -82,10 +82,10 @@ new /obj/item/stack/sheet/glass(get_turf(src)) glass = 0 else if(!anchored) - user.visible_message("[user] disassembles the airlock assembly.", \ - "You start to disassemble the airlock assembly...") + user.visible_message(span_warning("[user] disassembles the airlock assembly."), \ + span_notice("You start to disassemble the airlock assembly...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You disassemble the airlock assembly.") + to_chat(user, span_notice("You disassemble the airlock assembly.")) deconstruct(TRUE) else if(W.tool_behaviour == TOOL_WRENCH) @@ -97,27 +97,27 @@ break if(door_check) - user.visible_message("[user] secures the airlock assembly to the floor.", \ - "You start to secure the airlock assembly to the floor...", \ - "You hear wrenching.") + user.visible_message(span_notice("[user] secures the airlock assembly to the floor."), \ + span_notice("You start to secure the airlock assembly to the floor..."), \ + span_hear("You hear wrenching.")) if(W.use_tool(src, user, 40, volume=100)) if(anchored) return - to_chat(user, "You secure the airlock assembly.") + to_chat(user, span_notice("You secure the airlock assembly.")) name = "secured airlock assembly" set_anchored(TRUE) else to_chat(user, "There is another door here!") else - user.visible_message("[user] unsecures the airlock assembly from the floor.", \ - "You start to unsecure the airlock assembly from the floor...", \ - "You hear wrenching.") + user.visible_message(span_notice("[user] unsecures the airlock assembly from the floor."), \ + span_notice("You start to unsecure the airlock assembly from the floor..."), \ + span_hear("You hear wrenching.")) if(W.use_tool(src, user, 40, volume=100)) if(!anchored) return - to_chat(user, "You unsecure the airlock assembly.") + to_chat(user, span_notice("You unsecure the airlock assembly.")) name = "airlock assembly" set_anchored(FALSE) @@ -125,51 +125,51 @@ if(!W.tool_start_check(user, amount=1)) return - user.visible_message("[user] wires the airlock assembly.", \ - "You start to wire the airlock assembly...") + user.visible_message(span_notice("[user] wires the airlock assembly."), \ + span_notice("You start to wire the airlock assembly...")) if(W.use_tool(src, user, 40, amount=1)) if(state != AIRLOCK_ASSEMBLY_NEEDS_WIRES) return state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - to_chat(user, "You wire the airlock assembly.") + to_chat(user, span_notice("You wire the airlock assembly.")) name = "wired airlock assembly" else if((W.tool_behaviour == TOOL_WIRECUTTER) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) - user.visible_message("[user] cuts the wires from the airlock assembly.", \ - "You start to cut the wires from the airlock assembly...") + user.visible_message(span_notice("[user] cuts the wires from the airlock assembly."), \ + span_notice("You start to cut the wires from the airlock assembly...")) if(W.use_tool(src, user, 40, volume=100)) if(state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) return - to_chat(user, "You cut the wires from the airlock assembly.") + to_chat(user, span_notice("You cut the wires from the airlock assembly.")) new/obj/item/stack/cable_coil(get_turf(user), 1) state = AIRLOCK_ASSEMBLY_NEEDS_WIRES name = "secured airlock assembly" else if(istype(W, /obj/item/electronics/airlock) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) W.play_tool_sound(src, 100) - user.visible_message("[user] installs the electronics into the airlock assembly.", \ - "You start to install electronics into the airlock assembly...") + user.visible_message(span_notice("[user] installs the electronics into the airlock assembly."), \ + span_notice("You start to install electronics into the airlock assembly...")) if(do_after(user, 40, target = src)) if( state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) return if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You install the airlock electronics.") + to_chat(user, span_notice("You install the airlock electronics.")) state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER name = "near finished airlock assembly" electronics = W else if((W.tool_behaviour == TOOL_CROWBAR) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) - user.visible_message("[user] removes the electronics from the airlock assembly.", \ - "You start to remove electronics from the airlock assembly...") + user.visible_message(span_notice("[user] removes the electronics from the airlock assembly."), \ + span_notice("You start to remove electronics from the airlock assembly...")) if(W.use_tool(src, user, 40, volume=100)) if(state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) return - to_chat(user, "You remove the airlock electronics.") + to_chat(user, span_notice("You remove the airlock electronics.")) state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS name = "wired airlock assembly" var/obj/item/electronics/airlock/ae @@ -188,17 +188,17 @@ if(!glass) if(istype(G, /obj/item/stack/sheet/rglass) || istype(G, /obj/item/stack/sheet/glass)) playsound(src, 'sound/items/crowbar.ogg', 100, TRUE) - user.visible_message("[user] adds [G.name] to the airlock assembly.", \ - "You start to install [G.name] into the airlock assembly...") + user.visible_message(span_notice("[user] adds [G.name] to the airlock assembly."), \ + span_notice("You start to install [G.name] into the airlock assembly...")) if(do_after(user, 40, target = src)) if(G.get_amount() < 1 || glass) return if(G.type == /obj/item/stack/sheet/rglass) - to_chat(user, "You install [G.name] windows into the airlock assembly.") + to_chat(user, span_notice("You install [G.name] windows into the airlock assembly.")) heat_proof_finished = 1 //reinforced glass makes the airlock heat-proof name = "near finished heat-proofed window airlock assembly" else - to_chat(user, "You install regular glass windows into the airlock assembly.") + to_chat(user, span_notice("You install regular glass windows into the airlock assembly.")) name = "near finished window airlock assembly" G.use(1) glass = TRUE @@ -207,12 +207,12 @@ var/M = G.sheettype if(G.get_amount() >= 2) playsound(src, 'sound/items/crowbar.ogg', 100, TRUE) - user.visible_message("[user] adds [G.name] to the airlock assembly.", \ - "You start to install [G.name] into the airlock assembly...") + user.visible_message(span_notice("[user] adds [G.name] to the airlock assembly."), \ + span_notice("You start to install [G.name] into the airlock assembly...")) if(do_after(user, 40, target = src)) if(G.get_amount() < 2 || mineral) return - to_chat(user, "You install [M] plating into the airlock assembly.") + to_chat(user, span_notice("You install [M] plating into the airlock assembly.")) G.use(2) var/mineralassembly = text2path("/obj/structure/door_assembly/door_assembly_[M]") var/obj/structure/door_assembly/MA = new mineralassembly(loc) @@ -225,23 +225,23 @@ else dropped_glass = new /obj/item/stack/sheet/glass(drop_location()) glass = FALSE - to_chat(user, "As you finish, a [dropped_glass.singular_name] falls out of [MA]'s frame.") + to_chat(user, span_notice("As you finish, a [dropped_glass.singular_name] falls out of [MA]'s frame.")) transfer_assembly_vars(src, MA, TRUE) else - to_chat(user, "You need at least two sheets add a mineral cover!") + to_chat(user, span_warning("You need at least two sheets add a mineral cover!")) else - to_chat(user, "You cannot add [G] to [src]!") + to_chat(user, span_warning("You cannot add [G] to [src]!")) else - to_chat(user, "You cannot add [G] to [src]!") + to_chat(user, span_warning("You cannot add [G] to [src]!")) else if((W.tool_behaviour == TOOL_SCREWDRIVER) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) - user.visible_message("[user] finishes the airlock.", \ - "You start finishing the airlock...") + user.visible_message(span_notice("[user] finishes the airlock."), \ + span_notice("You start finishing the airlock...")) if(W.use_tool(src, user, 40, volume=100)) if(loc && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) - to_chat(user, "You finish the airlock.") + to_chat(user, span_notice("You finish the airlock.")) var/obj/machinery/door/airlock/door if(glass) door = new glass_type( loc ) @@ -334,7 +334,7 @@ /obj/structure/door_assembly/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct [src].") + to_chat(user, span_notice("You deconstruct [src].")) qdel(src) return TRUE return FALSE diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index dc391943456..f5eaf0aca83 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -8,9 +8,9 @@ /obj/structure/dresser/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") + to_chat(user, span_notice("You begin to [anchored ? "unwrench" : "wrench"] [src].")) if(I.use_tool(src, user, 20, volume=50)) - to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].") + to_chat(user, span_notice("You successfully [anchored ? "unwrench" : "wrench"] [src].")) set_anchored(!anchored) else return ..() @@ -30,7 +30,7 @@ var/mob/living/carbon/human/H = user if(H.dna && H.dna.species && (NO_UNDERWEAR in H.dna.species.species_traits)) - to_chat(user, "You are not capable of wearing underwear.") + to_chat(user, span_warning("You are not capable of wearing underwear.")) return var/choice = input(user, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in list("Underwear","Underwear Color","Undershirt","Socks") diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 54d7ae18f0b..6e0442656e1 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -39,7 +39,7 @@ /obj/structure/extinguisher_cabinet/examine(mob/user) . = ..() - . += "Alt-click to [opened ? "close":"open"] it." + . += span_notice("Alt-click to [opened ? "close":"open"] it.") /obj/structure/extinguisher_cabinet/Destroy() if(stored_extinguisher) @@ -66,11 +66,11 @@ /obj/structure/extinguisher_cabinet/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_WRENCH && !stored_extinguisher) - to_chat(user, "You start unsecuring [name]...") + to_chat(user, span_notice("You start unsecuring [name]...")) I.play_tool_sound(src) if(I.use_tool(src, user, 60)) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You unsecure [name].") + to_chat(user, span_notice("You unsecure [name].")) deconstruct(TRUE) return @@ -81,7 +81,7 @@ if(!user.transferItemToLoc(I, src)) return stored_extinguisher = I - to_chat(user, "You place [I] in [src].") + to_chat(user, span_notice("You place [I] in [src].")) update_appearance() return TRUE else @@ -100,7 +100,7 @@ return if(stored_extinguisher) user.put_in_hands(stored_extinguisher) - to_chat(user, "You take [stored_extinguisher] from [src].") + to_chat(user, span_notice("You take [stored_extinguisher] from [src].")) stored_extinguisher = null if(!opened) opened = 1 @@ -114,7 +114,7 @@ . = COMPONENT_CANCEL_ATTACK_CHAIN if(stored_extinguisher) stored_extinguisher.forceMove(loc) - to_chat(user, "You telekinetically remove [stored_extinguisher] from [src].") + to_chat(user, span_notice("You telekinetically remove [stored_extinguisher] from [src].")) stored_extinguisher = null opened = TRUE playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) @@ -133,7 +133,7 @@ /obj/structure/extinguisher_cabinet/proc/toggle_cabinet(mob/user) if(opened && broken) - to_chat(user, "[src] is broken open.") + to_chat(user, span_warning("[src] is broken open.")) else playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) opened = !opened diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index f7300b64871..c13e42dc848 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -82,22 +82,22 @@ /obj/structure/falsewall/attackby(obj/item/W, mob/user, params) if(opening) - to_chat(user, "You must wait until the door has stopped moving!") + to_chat(user, span_warning("You must wait until the door has stopped moving!")) return if(W.tool_behaviour == TOOL_SCREWDRIVER) if(density) var/turf/T = get_turf(src) if(T.density) - to_chat(user, "[src] is blocked!") + to_chat(user, span_warning("[src] is blocked!")) return if(!isfloorturf(T)) - to_chat(user, "[src] bolts must be tightened on the floor!") + to_chat(user, span_warning("[src] bolts must be tightened on the floor!")) return - user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.") + user.visible_message(span_notice("[user] tightens some bolts on the wall."), span_notice("You tighten the bolts on the wall.")) ChangeToWall() else - to_chat(user, "You can't reach, close it first!") + to_chat(user, span_warning("You can't reach, close it first!")) else if(W.tool_behaviour == TOOL_WELDER) if(W.use_tool(src, user, 0, volume=50)) @@ -106,7 +106,7 @@ return ..() /obj/structure/falsewall/proc/dismantle(mob/user, disassembled=TRUE, obj/item/tool = null) - user.visible_message("[user] dismantles the false wall.", "You dismantle the false wall.") + user.visible_message(span_notice("[user] dismantles the false wall."), span_notice("You dismantle the false wall.")) if(tool) tool.play_tool_sound(src, 100) else @@ -126,7 +126,7 @@ return null /obj/structure/falsewall/examine_status(mob/user) //So you can't detect falsewalls by examine. - to_chat(user, "The outer plating is welded firmly in place.") + to_chat(user, span_notice("The outer plating is welded firmly in place.")) return null /* @@ -144,7 +144,7 @@ smoothing_flags = SMOOTH_BITMASK /obj/structure/falsewall/reinforced/examine_status(mob/user) - to_chat(user, "The outer grille is fully intact.") + to_chat(user, span_notice("The outer grille is fully intact.")) return null /obj/structure/falsewall/reinforced/attackby(obj/item/tool, mob/user) diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index de258826402..c6287bf2a56 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -60,29 +60,29 @@ /obj/structure/fence/attackby(obj/item/W, mob/user) if(W.tool_behaviour == TOOL_WIRECUTTER) if(!cuttable) - to_chat(user, "This section of the fence can't be cut!") + to_chat(user, span_warning("This section of the fence can't be cut!")) return if(invulnerable) - to_chat(user, "This fence is too strong to cut through!") + to_chat(user, span_warning("This fence is too strong to cut through!")) return var/current_stage = hole_size if(current_stage >= MAX_HOLE_SIZE) - to_chat(user, "This fence has too much cut out of it already!") + to_chat(user, span_warning("This fence has too much cut out of it already!")) return - user.visible_message("\The [user] starts cutting through \the [src] with \the [W].",\ - "You start cutting through \the [src] with \the [W].") + user.visible_message(span_danger("\The [user] starts cutting through \the [src] with \the [W]."),\ + span_danger("You start cutting through \the [src] with \the [W].")) if(do_after(user, CUT_TIME*W.toolspeed, target = src)) if(current_stage == hole_size) switch(++hole_size) if(MEDIUM_HOLE) - visible_message("\The [user] cuts into \the [src] some more.") - to_chat(user, "You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger.") + visible_message(span_notice("\The [user] cuts into \the [src] some more.")) + to_chat(user, span_info("You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger.")) AddElement(/datum/element/climbable) if(LARGE_HOLE) - visible_message("\The [user] completely cuts through \the [src].") - to_chat(user, "The hole in \the [src] is now big enough to walk through.") + visible_message(span_notice("\The [user] completely cuts through \the [src].")) + to_chat(user, span_info("The hole in \the [src] is now big enough to walk through.")) RemoveElement(/datum/element/climbable) update_cut_status() @@ -129,7 +129,7 @@ /obj/structure/fence/door/proc/toggle(mob/user) open = !open - visible_message("\The [user] [open ? "opens" : "closes"] \the [src].") + visible_message(span_notice("\The [user] [open ? "opens" : "closes"] \the [src].")) update_door_status() playsound(src, 'sound/machines/click.ogg', 100, TRUE) diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 454692a6bd6..60ad1e100d5 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -46,20 +46,20 @@ if(!I.tool_start_check(user, amount=2)) return - to_chat(user, "You begin repairing [src].") + to_chat(user, span_notice("You begin repairing [src].")) if(I.use_tool(src, user, 40, volume=50, amount=2)) obj_integrity = max_integrity update_appearance() - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) else - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return else if(istype(I, /obj/item/stack/sheet/glass) && broken) var/obj/item/stack/sheet/glass/G = I if(G.get_amount() < 2) - to_chat(user, "You need two glass sheets to fix [src]!") + to_chat(user, span_warning("You need two glass sheets to fix [src]!")) return - to_chat(user, "You start fixing [src]...") + to_chat(user, span_notice("You start fixing [src]...")) if(do_after(user, 20, target = src) && G.use(2)) broken = FALSE obj_integrity = max_integrity @@ -68,12 +68,12 @@ if(istype(I, /obj/item/fireaxe) && !fireaxe) var/obj/item/fireaxe/F = I if(F?.wielded) - to_chat(user, "Unwield the [F.name] first.") + to_chat(user, span_warning("Unwield the [F.name] first.")) return if(!user.transferItemToLoc(F, src)) return fireaxe = F - to_chat(user, "You place the [F.name] back in the [name].") + to_chat(user, span_notice("You place the [F.name] back in the [name].")) update_appearance() return else if(!broken) @@ -129,12 +129,12 @@ if(fireaxe) user.put_in_hands(fireaxe) fireaxe = null - to_chat(user, "You take the fire axe from the [name].") + to_chat(user, span_notice("You take the fire axe from the [name].")) src.add_fingerprint(user) update_appearance() return if(locked) - to_chat(user, "The [name] won't budge!") + to_chat(user, span_warning("The [name] won't budge!")) return else open = !open @@ -152,7 +152,7 @@ /obj/structure/fireaxecabinet/attack_tk(mob/user) . = COMPONENT_CANCEL_ATTACK_CHAIN if(locked) - to_chat(user, "The [name] won't budge!") + to_chat(user, span_warning("The [name] won't budge!")) return open = !open update_appearance() @@ -182,10 +182,10 @@ . += locked ? "locked" : "unlocked" /obj/structure/fireaxecabinet/proc/toggle_lock(mob/user) - to_chat(user, "Resetting circuitry...") + to_chat(user, span_notice("Resetting circuitry...")) playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE) if(do_after(user, 20, target = src)) - to_chat(user, "You [locked ? "disable" : "re-enable"] the locking modules.") + to_chat(user, span_notice("You [locked ? "disable" : "re-enable"] the locking modules.")) locked = !locked update_appearance() @@ -195,7 +195,7 @@ set src in oview(1) if(locked) - to_chat(usr, "The [name] won't budge!") + to_chat(usr, span_warning("The [name] won't budge!")) return else open = !open diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index 9f640f439e1..cc7784fe8a0 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -26,10 +26,10 @@ /obj/structure/fireplace/proc/try_light(obj/item/O, mob/user) if(lit) - to_chat(user, "It's already lit!") + to_chat(user, span_warning("It's already lit!")) return FALSE if(!fuel_added) - to_chat(user, "[src] needs some fuel to burn!") + to_chat(user, span_warning("[src] needs some fuel to burn!")) return FALSE var/msg = O.ignition_effect(src, user) if(msg) @@ -43,7 +43,7 @@ var/space_remaining = MAXIMUM_BURN_TIMER - burn_time_remaining() var/space_for_logs = round(space_remaining / LOG_BURN_TIMER) if(space_for_logs < 1) - to_chat(user, "You can't fit any more of [T] in [src]!") + to_chat(user, span_warning("You can't fit any more of [T] in [src]!")) return var/logs_used = min(space_for_logs, wood.amount) wood.use(logs_used) diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 866073817d2..428710cf905 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -17,9 +17,9 @@ if(W.get_sharpness() && W.force > 0) if(W.hitsound) playsound(get_turf(src), W.hitsound, 100, FALSE, FALSE) - user.visible_message("[user] begins to cut down [src] with [W].","You begin to cut down [src] with [W].", "You hear the sound of sawing.") + user.visible_message(span_notice("[user] begins to cut down [src] with [W]."),span_notice("You begin to cut down [src] with [W]."), span_hear("You hear the sound of sawing.")) if(do_after(user, 1000/W.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard. - user.visible_message("[user] fells [src] with the [W].","You fell [src] with the [W].", "You hear the sound of a tree falling.") + user.visible_message(span_notice("[user] fells [src] with the [W]."),span_notice("You fell [src] with the [W]."), span_hear("You hear the sound of a tree falling.")) playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , FALSE, FALSE) user.log_message("cut down [src] at [AREACOORD(src)]", LOG_ATTACK) for(var/i=1 to log_amount) @@ -78,9 +78,9 @@ return if(took_presents[user.ckey] && !unlimited) - to_chat(user, "There are no presents with your name on.") + to_chat(user, span_warning("There are no presents with your name on.")) return - to_chat(user, "After a bit of rummaging, you locate a gift with your name on it!") + to_chat(user, span_warning("After a bit of rummaging, you locate a gift with your name on it!")) if(!unlimited) took_presents[user.ckey] = TRUE @@ -326,9 +326,9 @@ /obj/item/kirbyplants/attackby(obj/item/I, mob/living/user, params) . = ..() if(trimmable && HAS_TRAIT(user,TRAIT_BONSAI) && isturf(loc) && I.get_sharpness()) - to_chat(user,"You start trimming [src].") + to_chat(user,span_notice("You start trimming [src].")) if(do_after(user,3 SECONDS,target=src)) - to_chat(user,"You finish trimming [src].") + to_chat(user,span_notice("You finish trimming [src].")) change_visual() /// Cycle basic plant visuals @@ -415,9 +415,9 @@ return ..() if(flags_1 & NODECONSTRUCT_1) return ..() - to_chat(user, "You start mining...") + to_chat(user, span_notice("You start mining...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You finish mining the rock.") + to_chat(user, span_notice("You finish mining the rock.")) if(mineResult && mineAmount) new mineResult(loc, mineAmount) SSblackbox.record_feedback("tally", "pick_used_mining", 1, W.type) diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index f17f17ab3e0..3b7f0607db9 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -16,10 +16,10 @@ /obj/structure/fluff/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_WRENCH && deconstructible) - user.visible_message("[user] starts disassembling [src]...", "You start disassembling [src]...") + user.visible_message(span_notice("[user] starts disassembling [src]..."), span_notice("You start disassembling [src]...")) I.play_tool_sound(src) if(I.use_tool(src, user, 50)) - user.visible_message("[user] disassembles [src]!", "You break down [src] into scrap metal.") + user.visible_message(span_notice("[user] disassembles [src]!"), span_notice("You break down [src] into scrap metal.")) playsound(user, 'sound/items/deconstruct.ogg', 50, TRUE) new/obj/item/stack/sheet/iron(drop_location()) qdel(src) @@ -278,9 +278,9 @@ /obj/structure/fluff/hedge/attacked_by(obj/item/I, mob/living/user) if(opacity && HAS_TRAIT(user, TRAIT_BONSAI) && I.get_sharpness()) - to_chat(user,"You start trimming \the [src].") + to_chat(user,span_notice("You start trimming \the [src].")) if(do_after(user, 3 SECONDS,target=src)) - to_chat(user,"You finish trimming \the [src].") + to_chat(user,span_notice("You finish trimming \the [src].")) opacity = FALSE else return ..() diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index a4df5305699..aae592d46b7 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -101,7 +101,7 @@ /obj/effect/mob_spawn/human/ash_walker/allow_spawn(mob/user) if(!(user.key in team.players_spawned))//one per person unless you get a bonus spawn return TRUE - to_chat(user, "You have exhausted your usefulness to the Necropolis.") + to_chat(user, span_warning("You have exhausted your usefulness to the Necropolis.")) return FALSE /obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn) @@ -245,7 +245,7 @@ if(QDELETED(src) || uses <= 0) return log_game("[key_name(H)] golem-swapped into [src]") - H.visible_message("A faint light leaves [H], moving to [src] and animating it!","You leave your old body behind, and transfer into [src]!") + H.visible_message(span_notice("A faint light leaves [H], moving to [src] and animating it!"),span_notice("You leave your old body behind, and transfer into [src]!")) show_flavour = FALSE var/mob/living/carbon/human/newgolem = create(newname = H.real_name) H.transfer_trait_datums(newgolem) @@ -691,7 +691,7 @@ new_spawn.grant_language(/datum/language/codespeak, TRUE, TRUE, LANGUAGE_MIND) var/policy = get_policy(assignedrole) if(policy) - to_chat(new_spawn, "[policy]") + to_chat(new_spawn, span_bold("[policy]")) /obj/effect/mob_spawn/human/syndicatespace/captain name = "Syndicate Ship Captain" @@ -801,7 +801,7 @@ var/obj/item/card/id/id_card = H.wear_id if(H.age < AGE_MINOR) id_card.registered_age = AGE_MINOR - to_chat(H, "You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!") + to_chat(H, span_notice("You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!")) /obj/effect/mob_spawn/human/skeleton/alive death = FALSE @@ -847,7 +847,7 @@ var/despawn = tgui_alert(usr, "Return to cryosleep? (Warning, Your mob will be deleted!)", null, list("Yes", "No")) if(despawn == "No" || !loc || !Adjacent(user)) return - user.visible_message("[user.name] climbs back into cryosleep...") + user.visible_message(span_notice("[user.name] climbs back into cryosleep...")) qdel(user) /datum/outfit/cryobartender diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 27cdcba43d1..4d4b7a3eddc 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -16,16 +16,16 @@ . = ..() switch(state) if(GIRDER_REINF) - . += "The support struts are screwed in place." + . += span_notice("The support struts are screwed in place.") if(GIRDER_REINF_STRUTS) - . += "The support struts are unscrewed and the inner grille is intact." + . += span_notice("The support struts are unscrewed and the inner grille is intact.") if(GIRDER_NORMAL) if(can_displace) - . += "The bolts are wrenched in place." + . += span_notice("The bolts are wrenched in place.") if(GIRDER_DISPLACED) - . += "The bolts are loosened, but the screws are holding [src] together." + . += span_notice("The bolts are loosened, but the screws are holding [src] together.") if(GIRDER_DISASSEMBLED) - . += "[src] is disassembled! You probably shouldn't be able to see this examine message." + . += span_notice("[src] is disassembled! You probably shouldn't be able to see this examine message.") /obj/structure/girder/attackby(obj/item/W, mob/user, params) var/platingmodifier = 1 @@ -37,49 +37,49 @@ add_fingerprint(user) if(istype(W, /obj/item/gun/energy/plasmacutter)) - to_chat(user, "You start slicing apart the girder...") + to_chat(user, span_notice("You start slicing apart the girder...")) if(W.use_tool(src, user, 40, volume=100)) - to_chat(user, "You slice apart the girder.") + to_chat(user, span_notice("You slice apart the girder.")) var/obj/item/stack/sheet/iron/M = new (loc, 2) M.add_fingerprint(user) qdel(src) else if(istype(W, /obj/item/stack)) if(iswallturf(loc)) - to_chat(user, "There is already a wall present!") + to_chat(user, span_warning("There is already a wall present!")) return if(!isfloorturf(src.loc)) - to_chat(user, "A floor must be present to build a false wall!") + to_chat(user, span_warning("A floor must be present to build a false wall!")) return if (locate(/obj/structure/falsewall) in src.loc.contents) - to_chat(user, "There is already a false wall present!") + to_chat(user, span_warning("There is already a false wall present!")) return if(istype(W, /obj/item/stack/rods)) var/obj/item/stack/rods/S = W if(state == GIRDER_DISPLACED) if(S.get_amount() < 2) - to_chat(user, "You need at least two rods to create a false wall!") + to_chat(user, span_warning("You need at least two rods to create a false wall!")) return - to_chat(user, "You start building a reinforced false wall...") + to_chat(user, span_notice("You start building a reinforced false wall...")) if(do_after(user, 20, target = src)) if(S.get_amount() < 2) return S.use(2) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, span_notice("You create a false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/iron/FW = new (loc) transfer_fingerprints_to(FW) qdel(src) else if(S.get_amount() < 5) - to_chat(user, "You need at least five rods to add plating!") + to_chat(user, span_warning("You need at least five rods to add plating!")) return - to_chat(user, "You start adding plating...") + to_chat(user, span_notice("You start adding plating...")) if(do_after(user, 40, target = src)) if(S.get_amount() < 5) return S.use(5) - to_chat(user, "You add the plating.") + to_chat(user, span_notice("You add the plating.")) var/turf/T = get_turf(src) T.PlaceOnTop(/turf/closed/wall/mineral/iron) transfer_fingerprints_to(T) @@ -93,30 +93,30 @@ if(istype(S, /obj/item/stack/sheet/iron)) if(state == GIRDER_DISPLACED) if(S.get_amount() < 2) - to_chat(user, "You need two sheets of iron to create a false wall!") + to_chat(user, span_warning("You need two sheets of iron to create a false wall!")) return - to_chat(user, "You start building a false wall...") + to_chat(user, span_notice("You start building a false wall...")) if(do_after(user, 20*platingmodifier, target = src)) if(S.get_amount() < 2) return S.use(2) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, span_notice("You create a false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/F = new (loc) transfer_fingerprints_to(F) qdel(src) else if(state == GIRDER_REINF) - to_chat(user, "You can't finish a reinforced girder with regular iron. You need a plasteel sheet for that.") + to_chat(user, span_warning("You can't finish a reinforced girder with regular iron. You need a plasteel sheet for that.")) return else if(S.get_amount() < 2) - to_chat(user, "You need two sheets of iron to finish a wall!") + to_chat(user, span_warning("You need two sheets of iron to finish a wall!")) return - to_chat(user, "You start adding plating...") + to_chat(user, span_notice("You start adding plating...")) if (do_after(user, 40*platingmodifier, target = src)) if(S.get_amount() < 2) return S.use(2) - to_chat(user, "You add the plating.") + to_chat(user, span_notice("You add the plating.")) var/turf/T = get_turf(src) T.PlaceOnTop(/turf/closed/wall) transfer_fingerprints_to(T) @@ -126,26 +126,26 @@ if(istype(S, /obj/item/stack/sheet/plasteel)) if(state == GIRDER_DISPLACED) if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets to create a false wall!") + to_chat(user, span_warning("You need at least two sheets to create a false wall!")) return - to_chat(user, "You start building a reinforced false wall...") + to_chat(user, span_notice("You start building a reinforced false wall...")) if(do_after(user, 20, target = src)) if(S.get_amount() < 2) return S.use(2) - to_chat(user, "You create a reinforced false wall. Push on it to open or close the passage.") + to_chat(user, span_notice("You create a reinforced false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/reinforced/FW = new (loc) transfer_fingerprints_to(FW) qdel(src) else if(state == GIRDER_REINF) if(S.get_amount() < 1) return - to_chat(user, "You start finalizing the reinforced wall...") + to_chat(user, span_notice("You start finalizing the reinforced wall...")) if(do_after(user, 50*platingmodifier, target = src)) if(S.get_amount() < 1) return S.use(1) - to_chat(user, "You fully reinforce the wall.") + to_chat(user, span_notice("You fully reinforce the wall.")) var/turf/T = get_turf(src) T.PlaceOnTop(/turf/closed/wall/r_wall) transfer_fingerprints_to(T) @@ -154,12 +154,12 @@ else if(S.get_amount() < 1) return - to_chat(user, "You start reinforcing the girder...") + to_chat(user, span_notice("You start reinforcing the girder...")) if(do_after(user, 60*platingmodifier, target = src)) if(S.get_amount() < 1) return S.use(1) - to_chat(user, "You reinforce the girder.") + to_chat(user, span_notice("You reinforce the girder.")) var/obj/structure/girder/reinforced/R = new (loc) transfer_fingerprints_to(R) qdel(src) @@ -170,29 +170,29 @@ if(state == GIRDER_DISPLACED) var/falsewall_type = text2path("/obj/structure/falsewall/[M]") if(!falsewall_type) - to_chat(user, "You can't seem to figure out how to make a false wall with [S]!") + to_chat(user, span_warning("You can't seem to figure out how to make a false wall with [S]!")) return if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets to create a false wall!") + to_chat(user, span_warning("You need at least two sheets to create a false wall!")) return if(do_after(user, 20, target = src)) if(S.get_amount() < 2) return S.use(2) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, span_notice("You create a false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/FW = new falsewall_type (loc) transfer_fingerprints_to(FW) qdel(src) else if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets to add plating!") + to_chat(user, span_warning("You need at least two sheets to add plating!")) return - to_chat(user, "You start adding plating...") + to_chat(user, span_notice("You start adding plating...")) if (do_after(user, 40, target = src)) if(S.get_amount() < 2) return S.use(2) - to_chat(user, "You add the plating.") + to_chat(user, span_notice("You add the plating.")) var/turf/T = get_turf(src) if(S.walltype) T.PlaceOnTop(S.walltype) @@ -215,7 +215,7 @@ if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds. if(!user.transferItemToLoc(P, drop_location())) return - to_chat(user, "You fit the pipe into \the [src].") + to_chat(user, span_notice("You fit the pipe into \the [src].")) else return ..() @@ -226,34 +226,34 @@ . = FALSE if(state == GIRDER_DISPLACED) - user.visible_message("[user] disassembles the girder.", - "You start to disassemble the girder...", - "You hear clanking and banging noises.") + user.visible_message(span_warning("[user] disassembles the girder."), + span_notice("You start to disassemble the girder..."), + span_hear("You hear clanking and banging noises.")) if(tool.use_tool(src, user, 40, volume=100)) if(state != GIRDER_DISPLACED) return state = GIRDER_DISASSEMBLED - to_chat(user, "You disassemble the girder.") + to_chat(user, span_notice("You disassemble the girder.")) var/obj/item/stack/sheet/iron/M = new (loc, 2) M.add_fingerprint(user) qdel(src) return TRUE else if(state == GIRDER_REINF) - to_chat(user, "You start unsecuring support struts...") + to_chat(user, span_notice("You start unsecuring support struts...")) if(tool.use_tool(src, user, 40, volume=100)) if(state != GIRDER_REINF) return - to_chat(user, "You unsecure the support struts.") + to_chat(user, span_notice("You unsecure the support struts.")) state = GIRDER_REINF_STRUTS return TRUE else if(state == GIRDER_REINF_STRUTS) - to_chat(user, "You start securing support struts...") + to_chat(user, span_notice("You start securing support struts...")) if(tool.use_tool(src, user, 40, volume=100)) if(state != GIRDER_REINF_STRUTS) return - to_chat(user, "You secure the support struts.") + to_chat(user, span_notice("You secure the support struts.")) state = GIRDER_REINF return TRUE @@ -261,9 +261,9 @@ /obj/structure/girder/wirecutter_act(mob/user, obj/item/tool) . = ..() if(state == GIRDER_REINF_STRUTS) - to_chat(user, "You start removing the inner grille...") + to_chat(user, span_notice("You start removing the inner grille...")) if(tool.use_tool(src, user, 40, volume=100)) - to_chat(user, "You remove the inner grille.") + to_chat(user, span_notice("You remove the inner grille.")) new /obj/item/stack/sheet/plasteel(get_turf(src)) var/obj/structure/girder/G = new (loc) transfer_fingerprints_to(G) @@ -274,19 +274,19 @@ . = ..() if(state == GIRDER_DISPLACED) if(!isfloorturf(loc)) - to_chat(user, "A floor must be present to secure the girder!") + to_chat(user, span_warning("A floor must be present to secure the girder!")) - to_chat(user, "You start securing the girder...") + to_chat(user, span_notice("You start securing the girder...")) if(tool.use_tool(src, user, 40, volume=100)) - to_chat(user, "You secure the girder.") + to_chat(user, span_notice("You secure the girder.")) var/obj/structure/girder/G = new (loc) transfer_fingerprints_to(G) qdel(src) return TRUE else if(state == GIRDER_NORMAL && can_displace) - to_chat(user, "You start unsecuring the girder...") + to_chat(user, span_notice("You start unsecuring the girder...")) if(tool.use_tool(src, user, 40, volume=100)) - to_chat(user, "You unsecure the girder.") + to_chat(user, span_notice("You unsecure the girder.")) var/obj/structure/girder/displaced/D = new (loc) transfer_fingerprints_to(D) qdel(src) @@ -341,7 +341,7 @@ /obj/structure/girder/cult/attackby(obj/item/W, mob/user, params) add_fingerprint(user) if(istype(W, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) //Cultists can demolish cult girders instantly with their tomes - user.visible_message("[user] strikes [src] with [W]!", "You demolish [src].") + user.visible_message(span_warning("[user] strikes [src] with [W]!"), span_notice("You demolish [src].")) new /obj/item/stack/sheet/runed_metal(drop_location(), 1) qdel(src) @@ -349,9 +349,9 @@ if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You start slicing apart the girder...") + to_chat(user, span_notice("You start slicing apart the girder...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You slice apart the girder.") + to_chat(user, span_notice("You slice apart the girder.")) var/obj/item/stack/sheet/runed_metal/R = new(drop_location(), 1) transfer_fingerprints_to(R) qdel(src) @@ -359,13 +359,13 @@ else if(istype(W, /obj/item/stack/sheet/runed_metal)) var/obj/item/stack/sheet/runed_metal/R = W if(R.get_amount() < 1) - to_chat(user, "You need at least one sheet of runed metal to construct a runed wall!") + to_chat(user, span_warning("You need at least one sheet of runed metal to construct a runed wall!")) return - user.visible_message("[user] begins laying runed metal on [src]...", "You begin constructing a runed wall...") + user.visible_message(span_notice("[user] begins laying runed metal on [src]..."), span_notice("You begin constructing a runed wall...")) if(do_after(user, 50, target = src)) if(R.get_amount() < 1) return - user.visible_message("[user] plates [src] with runed metal.", "You construct a runed wall.") + user.visible_message(span_notice("[user] plates [src] with runed metal."), span_notice("You construct a runed wall.")) R.use(1) var/turf/T = get_turf(src) T.PlaceOnTop(/turf/closed/wall/mineral/cult) @@ -397,12 +397,12 @@ var/turf/T = get_turf(src) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, "You finish a wall.") + to_chat(user, span_notice("You finish a wall.")) T.PlaceOnTop(/turf/closed/wall) qdel(src) return TRUE if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct the girder.") + to_chat(user, span_notice("You deconstruct the girder.")) qdel(src) return TRUE return FALSE @@ -419,9 +419,9 @@ if(W.tool_behaviour == TOOL_WELDER) if(!W.tool_start_check(user, amount = 0)) return - to_chat(user, "You start slicing apart [src]...") + to_chat(user, span_notice("You start slicing apart [src]...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You slice apart [src].") + to_chat(user, span_notice("You slice apart [src].")) var/obj/item/stack/sheet/bronze/B = new(drop_location(), 2) transfer_fingerprints_to(B) qdel(src) @@ -429,13 +429,13 @@ else if(istype(W, /obj/item/stack/sheet/bronze)) var/obj/item/stack/sheet/bronze/B = W if(B.get_amount() < 2) - to_chat(user, "You need at least two bronze sheets to build a bronze wall!") + to_chat(user, span_warning("You need at least two bronze sheets to build a bronze wall!")) return - user.visible_message("[user] begins plating [src] with bronze...", "You begin constructing a bronze wall...") + user.visible_message(span_notice("[user] begins plating [src] with bronze..."), span_notice("You begin constructing a bronze wall...")) if(do_after(user, 50, target = src)) if(B.get_amount() < 2) return - user.visible_message("[user] plates [src] with bronze!", "You construct a bronze wall.") + user.visible_message(span_notice("[user] plates [src] with bronze!"), span_notice("You construct a bronze wall.")) B.use(2) var/turf/T = get_turf(src) T.PlaceOnTop(/turf/closed/wall/mineral/bronze) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 2b6fcfef9cf..15f4b2f7a46 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -46,9 +46,9 @@ /obj/structure/grille/examine(mob/user) . = ..() if(anchored) - . += "It's secured in place with screws. The rods look like they could be cut through." + . += span_notice("It's secured in place with screws. The rods look like they could be cut through.") if(!anchored) - . += "The anchoring screws are unscrewed. The rods look like they could be cut through." + . += span_notice("The anchoring screws are unscrewed. The rods look like they could be cut through.") /obj/structure/grille/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) @@ -71,7 +71,7 @@ /obj/structure/grille/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct the grille.") + to_chat(user, span_notice("You deconstruct the grille.")) qdel(src) return TRUE if(RCD_WINDOWGRILLE) @@ -80,7 +80,7 @@ var/turf/T = loc if(repair_grille()) - to_chat(user, "You rebuild the broken grille.") + to_chat(user, span_notice("You rebuild the broken grille.")) if(!clear_tile(user)) return FALSE @@ -90,7 +90,7 @@ var/obj/structure/window/window_path = the_rcd.window_type if(!valid_window_location(T, user.dir, is_fulltile = initial(window_path.fulltile))) return FALSE - to_chat(user, "You construct the window.") + to_chat(user, span_notice("You construct the window.")) var/obj/structure/window/WD = new the_rcd.window_type(T, user.dir) WD.set_anchored(TRUE) return TRUE @@ -111,7 +111,7 @@ if(!unanchored_items_on_tile) return TRUE - to_chat(user, "You move [unanchored_items_on_tile == 1 ? "[last_item_moved]" : "some things"] out of the way.") + to_chat(user, span_notice("You move [unanchored_items_on_tile == 1 ? "[last_item_moved]" : "some things"] out of the way.")) if(unanchored_items_on_tile - CLEAR_TILE_MOVE_LIMIT > 0) to_chat(user, "There's still too much stuff in the way!") @@ -149,7 +149,7 @@ return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_KICK) - user.visible_message("[user] hits [src].", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_warning("[user] hits [src]."), null, null, COMBAT_MESSAGE_RANGE) log_combat(user, src, "hit") if(!shock(user, 70)) take_damage(rand(5,10), BRUTE, MELEE, 1) @@ -157,7 +157,7 @@ /obj/structure/grille/attack_alien(mob/living/user, list/modifiers) user.do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] mangles [src].", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_warning("[user] mangles [src]."), null, null, COMBAT_MESSAGE_RANGE) if(!shock(user, 70)) take_damage(20, BRUTE, MELEE, 1) @@ -182,14 +182,14 @@ if(!shock(user, 90)) W.play_tool_sound(src, 100) set_anchored(!anchored) - user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \ - "You [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor.") + user.visible_message(span_notice("[user] [anchored ? "fastens" : "unfastens"] [src]."), \ + span_notice("You [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor.")) return else if(istype(W, /obj/item/stack/rods) && broken) var/obj/item/stack/rods/R = W if(!shock(user, 90)) - user.visible_message("[user] rebuilds the broken grille.", \ - "You rebuild the broken grille.") + user.visible_message(span_notice("[user] rebuilds the broken grille."), \ + span_notice("You rebuild the broken grille.")) repair_grille() R.use(1) return @@ -199,18 +199,18 @@ if (!broken) var/obj/item/stack/ST = W if (ST.get_amount() < 2) - to_chat(user, "You need at least two sheets of glass for that!") + to_chat(user, span_warning("You need at least two sheets of glass for that!")) return var/dir_to_set = SOUTHWEST if(!anchored) - to_chat(user, "[src] needs to be fastened to the floor first!") + to_chat(user, span_warning("[src] needs to be fastened to the floor first!")) return for(var/obj/structure/window/WINDOW in loc) - to_chat(user, "There is already a window there!") + to_chat(user, span_warning("There is already a window there!")) return if(!clear_tile(user)) return - to_chat(user, "You start placing the window...") + to_chat(user, span_notice("You start placing the window...")) if(do_after(user,20, target = src)) if(!src.loc || !anchored) //Grille broken or unanchored while waiting return @@ -237,7 +237,7 @@ WD.set_anchored(FALSE) WD.state = 0 ST.use(2) - to_chat(user, "You place [WD] on [src].") + to_chat(user, span_notice("You place [WD] on [src].")) return //window placing end diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index ed7fb3da37f..789ba6a813c 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -35,16 +35,16 @@ /obj/structure/guillotine/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/stack/sheet/plasteel)) - to_chat(user, "You start repairing the guillotine with the plasteel...") + to_chat(user, span_notice("You start repairing the guillotine with the plasteel...")) if(blade_sharpness<10) if(do_after(user,100,target=user)) blade_sharpness = min(10,blade_sharpness+3) I.use(1) - to_chat(user, "You repair the guillotine with the plasteel.") + to_chat(user, span_notice("You repair the guillotine with the plasteel.")) else - to_chat(user, "You stop repairing the guillotine with the plasteel.") + to_chat(user, span_notice("You stop repairing the guillotine with the plasteel.")) else - to_chat(user, "The guillotine is already fully repaired!") + to_chat(user, span_warning("The guillotine is already fully repaired!")) /obj/structure/guillotine/examine(mob/user) . = ..() @@ -84,8 +84,8 @@ if (GUILLOTINE_BLADE_RAISED) if (LAZYLEN(buckled_mobs)) if (user.combat_mode) - user.visible_message("[user] begins to pull the lever!", - "You begin to the pull the lever.") + user.visible_message(span_warning("[user] begins to pull the lever!"), + span_warning("You begin to the pull the lever.")) current_action = GUILLOTINE_ACTION_INUSE if (do_after(user, GUILLOTINE_ACTIVATE_DELAY, target = src) && blade_status == GUILLOTINE_BLADE_RAISED) @@ -172,8 +172,8 @@ blade_status = GUILLOTINE_BLADE_SHARPENING if(do_after(user, 7, target = src)) blade_status = GUILLOTINE_BLADE_RAISED - user.visible_message("[user] sharpens the large blade of the guillotine.", - "You sharpen the large blade of the guillotine.") + user.visible_message(span_notice("[user] sharpens the large blade of the guillotine."), + span_notice("You sharpen the large blade of the guillotine.")) blade_sharpness += 1 playsound(src, 'sound/items/unsheath.ogg', 100, TRUE) return @@ -181,25 +181,25 @@ blade_status = GUILLOTINE_BLADE_RAISED return else - to_chat(user, "The blade is sharp enough!") + to_chat(user, span_warning("The blade is sharp enough!")) return else - to_chat(user, "You need to raise the blade in order to sharpen it!") + to_chat(user, span_warning("You need to raise the blade in order to sharpen it!")) return else return ..() /obj/structure/guillotine/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE) if (!anchored) - to_chat(usr, "[src] needs to be wrenched to the floor!") + to_chat(usr, span_warning("[src] needs to be wrenched to the floor!")) return FALSE if (!istype(M, /mob/living/carbon/human)) - to_chat(usr, "It doesn't look like [M.p_they()] can fit into this properly!") + to_chat(usr, span_warning("It doesn't look like [M.p_they()] can fit into this properly!")) return FALSE // Can't decapitate non-humans if (blade_status != GUILLOTINE_BLADE_RAISED) - to_chat(usr, "You need to raise the blade before buckling someone in!") + to_chat(usr, span_warning("You need to raise the blade before buckling someone in!")) return FALSE return ..(M, user, check_loc = FALSE) //check_loc = FALSE to allow moving people in from adjacent turfs @@ -239,7 +239,7 @@ /obj/structure/guillotine/can_be_unfasten_wrench(mob/user, silent) if (LAZYLEN(buckled_mobs)) if (!silent) - to_chat(user, "Can't unfasten, someone's strapped in!") + to_chat(user, span_warning("Can't unfasten, someone's strapped in!")) return FAILED_UNFASTEN if (current_action) diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index 32a0387931d..0d57ebca77e 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -38,10 +38,10 @@ if(LAZYLEN(contents) < capacity) if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You place [I] in [src].") + to_chat(user, span_notice("You place [I] in [src].")) update_appearance() else - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) return else if(!user.combat_mode) diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index 5b81f8ecd84..f31ee2445c3 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -72,5 +72,5 @@ . = ..() if(.) return - to_chat(user, "You take down [src].") + to_chat(user, span_notice("You take down [src].")) deconstruct(TRUE) diff --git a/code/game/objects/structures/hivebot.dm b/code/game/objects/structures/hivebot.dm index 51107d7411e..a3685fa79e7 100644 --- a/code/game/objects/structures/hivebot.dm +++ b/code/game/objects/structures/hivebot.dm @@ -13,13 +13,13 @@ var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(2, loc) smoke.start() - visible_message("[src] warps in!") + visible_message(span_boldannounce("[src] warps in!")) playsound(src.loc, 'sound/effects/empulse.ogg', 25, TRUE) addtimer(CALLBACK(src, .proc/warpbots), rand(10, 600)) /obj/structure/hivebot_beacon/proc/warpbots() icon_state = "def_radar" - visible_message("[src] turns on!") + visible_message(span_danger("[src] turns on!")) while(bot_amt > 0) bot_amt-- switch(bot_type) @@ -30,7 +30,7 @@ if("rapid") new /mob/living/simple_animal/hostile/hivebot/rapid(get_turf(src)) sleep(100) - visible_message("[src] warps out!") + visible_message(span_boldannounce("[src] warps out!")) playsound(src.loc, 'sound/effects/empulse.ogg', 25, TRUE) qdel(src) return diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index ce8d0e761b5..ab0b8d4afc0 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -144,7 +144,7 @@ /obj/structure/holosign/barrier/medical/examine(mob/user) . = ..() - . += "The biometric scanners are [force_allaccess ? "off" : "on"]." + . += span_notice("The biometric scanners are [force_allaccess ? "off" : "on"].") /obj/structure/holosign/barrier/medical/CanAllowThrough(atom/movable/mover, turf/target) . = ..() @@ -177,7 +177,7 @@ /obj/structure/holosign/barrier/medical/attack_hand(mob/living/user, list/modifiers) if(CanPass(user) && !user.combat_mode) force_allaccess = !force_allaccess - to_chat(user, "You [force_allaccess ? "deactivate" : "activate"] the biometric scanners.") //warning spans because you can make the station sick! + to_chat(user, span_warning("You [force_allaccess ? "deactivate" : "activate"] the biometric scanners.")) //warning spans because you can make the station sick! else return ..() diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 181b72da708..f004a8632ae 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -48,7 +48,7 @@ GLOBAL_LIST_INIT(ore_probability, list( */ /obj/structure/spawner/ice_moon/proc/destroy_effect() playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!") + visible_message(span_boldannounce("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!")) /** * Drops items after the spawner is destroyed @@ -116,7 +116,7 @@ GLOBAL_LIST_INIT(ore_probability, list( /obj/effect/collapsing_demonic_portal/Initialize() . = ..() playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) - visible_message("[src] begins to collapse, cutting it off from this world!") + visible_message(span_boldannounce("[src] begins to collapse, cutting it off from this world!")) animate(src, transform = matrix().Scale(0, 1), alpha = 50, time = 5 SECONDS) addtimer(CALLBACK(src, .proc/collapse), 5 SECONDS) @@ -133,7 +133,7 @@ GLOBAL_LIST_INIT(ore_probability, list( * */ /obj/effect/collapsing_demonic_portal/proc/drop_loot() - visible_message("Something slips out of [src]!") + visible_message(span_warning("Something slips out of [src]!")) var/loot = rand(1, 28) switch(loot) if(1) diff --git a/code/game/objects/structures/industrial_lift.dm b/code/game/objects/structures/industrial_lift.dm index d0fe329d190..9e7bb26536b 100644 --- a/code/game/objects/structures/industrial_lift.dm +++ b/code/game/objects/structures/industrial_lift.dm @@ -205,7 +205,7 @@ GLOBAL_LIST_EMPTY(lifts) if(istype(bumped_atom, /obj/machinery/field)) return - bumped_atom.visible_message("[src] crashes into the field violently!") + bumped_atom.visible_message(span_userdanger("[src] crashes into the field violently!")) for(var/obj/structure/industrial_lift/tram/tram_part as anything in lift_master_datum.lift_platforms) tram_part.travel_distance = 0 tram_part.travelling = FALSE @@ -230,16 +230,16 @@ GLOBAL_LIST_EMPTY(lifts) destination = going if(going == DOWN) for(var/mob/living/crushed in destination.contents) - to_chat(crushed, "You are crushed by [src]!") + to_chat(crushed, span_userdanger("You are crushed by [src]!")) crushed.gib(FALSE,FALSE,FALSE)//the nicest kind of gibbing, keeping everything intact. else if(going != UP) //can't really crush something upwards for(var/obj/structure/anchortrouble in destination.contents) if(!QDELETED(anchortrouble) && anchortrouble.anchored && (!istype(anchortrouble, /obj/structure/holosign)) && anchortrouble.layer >= GAS_PUMP_LAYER) //to avoid pipes, wires, etc playsound(src, 'sound/effects/bang.ogg', 50, TRUE) - visible_message("[src] smashes through [anchortrouble]!") + visible_message(span_notice("[src] smashes through [anchortrouble]!")) anchortrouble.deconstruct(FALSE) for(var/mob/living/collided in destination.contents) - to_chat(collided, "[src] collides into you!") + to_chat(collided, span_userdanger("[src] collides into you!")) playsound(src, 'sound/effects/splat.ogg', 50, TRUE) var/damage = rand(5,10) collided.apply_damage(2*damage, BRUTE, BODY_ZONE_HEAD) @@ -272,11 +272,11 @@ GLOBAL_LIST_EMPTY(lifts) if(lift_master_datum.Check_lift_move(DOWN)) tool_list["Down"] = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = SOUTH) if(!length(tool_list)) - to_chat(user, "[src] doesn't seem to able to move anywhere!") + to_chat(user, span_warning("[src] doesn't seem to able to move anywhere!")) add_fingerprint(user) return if(controls_locked) - to_chat(user, "[src] has its controls locked! It must already be trying to do something!") + to_chat(user, span_warning("[src] has its controls locked! It must already be trying to do something!")) add_fingerprint(user) return var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) @@ -326,9 +326,9 @@ GLOBAL_LIST_EMPTY(lifts) /obj/structure/industrial_lift/proc/show_fluff_message(going_up, mob/user) if(going_up) - user.visible_message("[user] moves the lift upwards.", "You move the lift upwards.") + user.visible_message(span_notice("[user] moves the lift upwards."), span_notice("You move the lift upwards.")) else - user.visible_message("[user] moves the lift downwards.", "You move the lift downwards.") + user.visible_message(span_notice("[user] moves the lift downwards."), span_notice("You move the lift downwards.")) /obj/structure/industrial_lift/Destroy() GLOB.lifts.Remove(src) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index d6635cd5a9f..5bf4988fae2 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -22,24 +22,24 @@ /obj/structure/janitorialcart/proc/wet_mop(obj/item/mop, mob/user) if(reagents.total_volume < 1) - to_chat(user, "[src] is out of water!") + to_chat(user, span_warning("[src] is out of water!")) return FALSE else var/obj/item/mop/M = mop reagents.trans_to(mop, M.mopcap, transfered_by = user) - to_chat(user, "You wet [mop] in [src].") + to_chat(user, span_notice("You wet [mop] in [src].")) playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) return TRUE /obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user) if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You put [I] into [src].") + to_chat(user, span_notice("You put [I] into [src].")) return /obj/structure/janitorialcart/attackby(obj/item/I, mob/user, params) - var/fail_msg = "There is already one of those in [src]!" + var/fail_msg = span_warning("There is already one of those in [src]!") if(istype(I, /obj/item/mop)) var/obj/item/mop/m=I @@ -81,13 +81,13 @@ signs++ update_appearance() else - to_chat(user, "[src] can't hold any more signs!") + to_chat(user, span_warning("[src] can't hold any more signs!")) else if(mybag) mybag.attackby(I, user) else if(I.tool_behaviour == TOOL_CROWBAR) - user.visible_message("[user] begins to empty the contents of [src].", "You begin to empty the contents of [src]...") + user.visible_message(span_notice("[user] begins to empty the contents of [src]."), span_notice("You begin to empty the contents of [src]...")) if(I.use_tool(src, user, 30)) - to_chat(usr, "You empty the contents of [src]'s bucket onto the floor.") + to_chat(usr, span_notice("You empty the contents of [src]'s bucket onto the floor.")) reagents.expose(src.loc) src.reagents.clear_reagents() else @@ -124,37 +124,37 @@ if(!mybag) return user.put_in_hands(mybag) - to_chat(user, "You take [mybag] from [src].") + to_chat(user, span_notice("You take [mybag] from [src].")) mybag = null if("Mop") if(!mymop) return user.put_in_hands(mymop) - to_chat(user, "You take [mymop] from [src].") + to_chat(user, span_notice("You take [mymop] from [src].")) mymop = null if("Broom") if(!mybroom) return user.put_in_hands(mybroom) - to_chat(user, "You take [mybroom] from [src].") + to_chat(user, span_notice("You take [mybroom] from [src].")) mybroom = null if("Spray bottle") if(!myspray) return user.put_in_hands(myspray) - to_chat(user, "You take [myspray] from [src].") + to_chat(user, span_notice("You take [myspray] from [src].")) myspray = null if("Light replacer") if(!myreplacer) return user.put_in_hands(myreplacer) - to_chat(user, "You take [myreplacer] from [src].") + to_chat(user, span_notice("You take [myreplacer] from [src].")) myreplacer = null if("Sign") if(signs <= 0) return user.put_in_hands(sign) - to_chat(user, "You take \a [sign] from [src].") + to_chat(user, span_notice("You take \a [sign] from [src].")) signs-- else return diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index b0dccc0c2a5..774316a2ebf 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -18,18 +18,18 @@ var/obj/item/stack/rods/R = I if(R.get_amount() >= 4) R.use(4) - to_chat(user, "You add spikes to the frame.") + to_chat(user, span_notice("You add spikes to the frame.")) var/obj/F = new /obj/structure/kitchenspike(src.loc) transfer_fingerprints_to(F) qdel(src) else if(I.tool_behaviour == TOOL_WELDER) if(!I.tool_start_check(user, amount=0)) return - to_chat(user, "You begin cutting \the [src] apart...") + to_chat(user, span_notice("You begin cutting \the [src] apart...")) if(I.use_tool(src, user, 50, volume=50)) - visible_message("[user] slices apart \the [src].", - "You cut \the [src] apart with \the [I].", - "You hear welding.") + visible_message(span_notice("[user] slices apart \the [src]."), + span_notice("You cut \the [src] apart with \the [I]."), + span_hear("You hear welding.")) new /obj/item/stack/sheet/iron(src.loc, 4) qdel(src) return @@ -52,11 +52,11 @@ /obj/structure/kitchenspike/crowbar_act(mob/living/user, obj/item/I) if(has_buckled_mobs()) - to_chat(user, "You can't do that while something's on the spike!") + to_chat(user, span_warning("You can't do that while something's on the spike!")) return TRUE if(I.use_tool(src, user, 20, volume=100)) - to_chat(user, "You pry the spikes out of the frame.") + to_chat(user, span_notice("You pry the spikes out of the frame.")) deconstruct(TRUE) return TRUE @@ -72,7 +72,7 @@ if(user.pulling != L) return playsound(src.loc, 'sound/effects/splat.ogg', 25, TRUE) - L.visible_message("[user] slams [L] onto the meat spike!", "[user] slams you onto the meat spike!", "You hear a squishy wet noise.") + L.visible_message(span_danger("[user] slams [L] onto the meat spike!"), span_userdanger("[user] slams you onto the meat spike!"), span_hear("You hear a squishy wet noise.")) L.forceMove(drop_location()) L.emote("scream") L.add_splatter_floor() @@ -98,23 +98,23 @@ if(buckled_mob) var/mob/living/M = buckled_mob if(M != user) - M.visible_message("[user] tries to pull [M] free of [src]!",\ - "[user] is trying to pull you off [src], opening up fresh wounds!",\ - "You hear a squishy wet noise.") + M.visible_message(span_notice("[user] tries to pull [M] free of [src]!"),\ + span_notice("[user] is trying to pull you off [src], opening up fresh wounds!"),\ + span_hear("You hear a squishy wet noise.")) if(!do_after(user, 300, target = src)) if(M?.buckled) - M.visible_message("[user] fails to free [M]!",\ - "[user] fails to pull you off of [src].") + M.visible_message(span_notice("[user] fails to free [M]!"),\ + span_notice("[user] fails to pull you off of [src].")) return else - M.visible_message("[M] struggles to break free from [src]!",\ - "You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)",\ - "You hear a wet squishing noise..") + M.visible_message(span_warning("[M] struggles to break free from [src]!"),\ + span_notice("You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)"),\ + span_hear("You hear a wet squishing noise..")) M.adjustBruteLoss(30) if(!do_after(M, 1200, target = src)) if(M?.buckled) - to_chat(M, "You fail to free yourself!") + to_chat(M, span_warning("You fail to free yourself!")) return if(!M.buckled) return @@ -126,7 +126,7 @@ animate(M, transform = m180, time = 3) M.pixel_y = M.base_pixel_y + PIXEL_Y_OFFSET_LYING M.adjustBruteLoss(30) - src.visible_message(text("[M] falls free of [src]!")) + src.visible_message(span_danger("[M] falls free of [src]!")) unbuckle_mob(M,force=1) M.emote("scream") M.AdjustParalyzed(20) diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 3a7ee07bcb8..d8b7e57d837 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -67,7 +67,7 @@ /obj/structure/ladder/singularity_pull() if (!(resistance_flags & INDESTRUCTIBLE)) - visible_message("[src] is torn to pieces by the gravitational pull!") + visible_message(span_danger("[src] is torn to pieces by the gravitational pull!")) qdel(src) /obj/structure/ladder/proc/travel(going_up, mob/user, is_ghost, obj/structure/ladder/ladder) @@ -103,7 +103,7 @@ if (down) tool_list["Down"] = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = SOUTH) if (!length(tool_list)) - to_chat(user, "[src] doesn't seem to lead anywhere!") + to_chat(user, span_warning("[src] doesn't seem to lead anywhere!")) return var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user, is_ghost), require_near = !is_ghost, tooltips = TRUE) @@ -160,9 +160,9 @@ /obj/structure/ladder/proc/show_fluff_message(going_up, mob/user) if(going_up) - user.visible_message("[user] climbs up [src].", "You climb up [src].") + user.visible_message(span_notice("[user] climbs up [src]."), span_notice("You climb up [src].")) else - user.visible_message("[user] climbs down [src].", "You climb down [src].") + user.visible_message(span_notice("[user] climbs down [src]."), span_notice("You climb down [src].")) // Indestructible away mission ladders which link based on a mapped ID and height value rather than X/Y/Z. diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index ee6d5d2d366..087927aff95 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -23,7 +23,7 @@ . += deconstruction_hints(user) /obj/structure/lattice/proc/deconstruction_hints(mob/user) - return "The rods look like they could be cut. There's space for more rods or a tile." + return span_notice("The rods look like they could be cut. There's space for more rods or a tile.") /obj/structure/lattice/Initialize(mapload) . = ..() @@ -40,7 +40,7 @@ if(resistance_flags & INDESTRUCTIBLE) return if(C.tool_behaviour == TOOL_WIRECUTTER) - to_chat(user, "Slicing [name] joints ...") + to_chat(user, span_notice("Slicing [name] joints ...")) deconstruct() else var/turf/T = get_turf(src) @@ -57,7 +57,7 @@ /obj/structure/lattice/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) if(passed_mode == RCD_FLOORWALL) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) var/turf/T = src.loc if(isspaceturf(T)) T.PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) @@ -82,7 +82,7 @@ obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN | BLOCK_Z_IN_UP /obj/structure/lattice/catwalk/deconstruction_hints(mob/user) - return "The supporting rods look like they could be cut." + return span_notice("The supporting rods look like they could be cut.") /obj/structure/lattice/catwalk/Move() var/turf/T = loc @@ -111,16 +111,16 @@ resistance_flags = FIRE_PROOF | LAVA_PROOF /obj/structure/lattice/lava/deconstruction_hints(mob/user) - return "The rods look like they could be cut, but the heat treatment will shatter off. There's space for a tile." + return span_notice("The rods look like they could be cut, but the heat treatment will shatter off. There's space for a tile.") /obj/structure/lattice/lava/attackby(obj/item/C, mob/user, params) . = ..() if(istype(C, /obj/item/stack/tile/iron)) var/obj/item/stack/tile/iron/P = C if(P.use(1)) - to_chat(user, "You construct a floor plating, as lava settles around the rods.") + to_chat(user, span_notice("You construct a floor plating, as lava settles around the rods.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) new /turf/open/floor/plating(locate(x, y, z)) else - to_chat(user, "You need one floor tile to build atop [src].") + to_chat(user, span_warning("You need one floor tile to build atop [src].")) return diff --git a/code/game/objects/structures/lavaland/geyser.dm b/code/game/objects/structures/lavaland/geyser.dm index 53be8f1b52e..819d1009b73 100644 --- a/code/game/objects/structures/lavaland/geyser.dm +++ b/code/game/objects/structures/lavaland/geyser.dm @@ -54,13 +54,13 @@ /obj/structure/geyser/plunger_act(obj/item/plunger/P, mob/living/user, _reinforced) if(!_reinforced) - to_chat(user, "The [P.name] isn't strong enough!") + to_chat(user, span_warning("The [P.name] isn't strong enough!")) return if(activated) - to_chat(user, "The [name] is already active!") + to_chat(user, span_warning("The [name] is already active!")) return - to_chat(user, "You start vigorously plunging [src]!") + to_chat(user, span_notice("You start vigorously plunging [src]!")) if(do_after(user, 50 * P.plunge_mod, target = src) && !activated) start_chemming() @@ -69,10 +69,10 @@ return ..() //this runs the plunger code if(discovered) - to_chat(user, "This geyser has already been discovered!") + to_chat(user, span_warning("This geyser has already been discovered!")) return - to_chat(user, "You discovered the geyser and mark it on the GPS system!") + to_chat(user, span_notice("You discovered the geyser and mark it on the GPS system!")) if(discovery_message) to_chat(user, discovery_message) @@ -87,7 +87,7 @@ var/obj/item/card/id/card = living.get_idcard() if(card) - to_chat(user, "[point_value] mining points have been paid out!") + to_chat(user, span_notice("[point_value] mining points have been paid out!")) card.mining_points += point_value /obj/structure/geyser/wittel @@ -158,7 +158,7 @@ var/mob/living/carbon/H = hit_atom if(!H.wear_mask) H.equip_to_slot_if_possible(src, ITEM_SLOT_MASK) - H.visible_message("The plunger slams into [H]'s face!", "The plunger suctions to your face!") + H.visible_message(span_warning("The plunger slams into [H]'s face!"), span_warning("The plunger suctions to your face!")) /obj/item/plunger/attack_self(mob/user) . = ..() @@ -167,10 +167,10 @@ if(!layer_mode) icon_state = initial(icon_state) - to_chat(user, "You set the plunger to 'Plunger Mode'.") + to_chat(user, span_notice("You set the plunger to 'Plunger Mode'.")) else icon_state = layer_mode_sprite - to_chat(user, "You set the plunger to 'Layer Mode'.") + to_chat(user, span_notice("You set the plunger to 'Layer Mode'.")) playsound(src, 'sound/machines/click.ogg', 10, TRUE) diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm index e202ef46d3b..6968d1c6d76 100644 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm @@ -80,8 +80,8 @@ GLOBAL_LIST_INIT(tendrils, list()) /obj/effect/collapse/Initialize() . = ..() emitted_light = new(loc) - visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") - visible_message("Something falls free of the tendril!") + visible_message(span_boldannounce("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!")) + visible_message(span_warning("Something falls free of the tendril!")) playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) addtimer(CALLBACK(src, .proc/collapse), 50) @@ -93,7 +93,7 @@ GLOBAL_LIST_INIT(tendrils, list()) for(var/mob/M in range(7,src)) shake_camera(M, 15, 1) playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("The tendril falls inward, the ground around it widening into a yawning chasm!") + visible_message(span_boldannounce("The tendril falls inward, the ground around it widening into a yawning chasm!")) for(var/turf/T in RANGE_TURFS(2,src)) if(!T.density) T.TerraformTurf(/turf/open/chasm/lavaland, /turf/open/chasm/lavaland, flags = CHANGETURF_INHERIT_AIR) diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm index 8b5dbb51bcf..671ce261e0e 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -35,14 +35,14 @@ if(!user.mind) return if(user.mind in linked_minds) - user.visible_message("[user] reaches out and pinches the flame of [src].", "You sever the connection between yourself and [src].") + user.visible_message(span_notice("[user] reaches out and pinches the flame of [src]."), span_warning("You sever the connection between yourself and [src].")) linked_minds -= user.mind if(!linked_minds.len) REMOVE_TRAIT(src, TRAIT_MOVE_FLOATING, LIFECANDLE_TRAIT) else if(!linked_minds.len) ADD_TRAIT(src, TRAIT_MOVE_FLOATING, LIFECANDLE_TRAIT) - user.visible_message("[user] touches [src]. It seems to respond to [user.p_their()] presence!", "You create a connection between you and [src].") + user.visible_message(span_notice("[user] touches [src]. It seems to respond to [user.p_their()] presence!"), span_warning("You create a connection between you and [src].")) linked_minds |= user.mind update_appearance() diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index e2c3b890991..24dbc200a9f 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -25,15 +25,15 @@ if(!istype(W)) return FALSE if(!anchored) - user.show_message("The loom needs to be wrenched down.", MSG_VISUAL) + user.show_message(span_notice("The loom needs to be wrenched down."), MSG_VISUAL) return FALSE if(W.amount < FABRIC_PER_SHEET) - user.show_message("You need at least [FABRIC_PER_SHEET] units of fabric before using this.", MSG_VISUAL) + user.show_message(span_notice("You need at least [FABRIC_PER_SHEET] units of fabric before using this."), MSG_VISUAL) return FALSE - user.show_message("You start weaving \the [W.name] through the loom..", MSG_VISUAL) + user.show_message(span_notice("You start weaving \the [W.name] through the loom.."), MSG_VISUAL) while(W.use_tool(src, user, W.pull_effort) && W.use(FABRIC_PER_SHEET)) new W.loom_result(drop_location()) - user.show_message("You weave \the [W.name] into a workable fabric.", MSG_VISUAL) + user.show_message(span_notice("You weave \the [W.name] into a workable fabric."), MSG_VISUAL) return TRUE #undef FABRIC_PER_SHEET diff --git a/code/game/objects/structures/maintenance.dm b/code/game/objects/structures/maintenance.dm index b2287afbe78..7664e75957d 100644 --- a/code/game/objects/structures/maintenance.dm +++ b/code/game/objects/structures/maintenance.dm @@ -58,14 +58,14 @@ at the cost of risking a vicious bite.**/ if(iscyborg(user) || isalien(user)) return if(!CanReachInside(user)) - to_chat(user, "You need to lie down to reach into [src].") + to_chat(user, span_warning("You need to lie down to reach into [src].")) return - to_chat(user, "You reach down into the cold water of the basin.") + to_chat(user, span_notice("You reach down into the cold water of the basin.")) if(!do_after(user, 2 SECONDS, target = src)) return if(hidden_item) user.put_in_hands(hidden_item) - to_chat(user, "As you poke around inside [src] you feel the contours of something hidden below the murky waters.\nYou retrieve [hidden_item] from [src].") + to_chat(user, span_notice("As you poke around inside [src] you feel the contours of something hidden below the murky waters.\nYou retrieve [hidden_item] from [src].")) hidden_item = null return if(critter_infested && prob(50) && iscarbon(user)) @@ -73,11 +73,11 @@ at the cost of risking a vicious bite.**/ var/obj/item/bodypart/affecting = bite_victim.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") if(affecting?.receive_damage(30)) - to_chat(user, "You feel a sharp as an unseen creature sinks it's [pick("fangs", "beak", "proboscis")] into your arm!") + to_chat(user, span_danger("You feel a sharp as an unseen creature sinks it's [pick("fangs", "beak", "proboscis")] into your arm!")) bite_victim.update_damage_overlays() playsound(src,'sound/weapons/bite.ogg', 70, TRUE) return - to_chat(user, "You find nothing of value...") + to_chat(user, span_warning("You find nothing of value...")) /obj/structure/moisture_trap/attackby(obj/item/I, mob/user, params) if(iscyborg(user) || isalien(user) || !CanReachInside(user)) @@ -91,13 +91,13 @@ at the cost of risking a vicious bite.**/ var/obj/item/reagent_containers/reagent_container = I if(reagent_container.is_open_container()) reagent_container.reagents.add_reagent(/datum/reagent/water, min(reagent_container.volume - reagent_container.reagents.total_volume, reagent_container.amount_per_transfer_from_this)) - to_chat(user, "You fill [reagent_container] from [src].") + to_chat(user, span_notice("You fill [reagent_container] from [src].")) return if(hidden_item) - to_chat(user, "There is already something inside [src].") + to_chat(user, span_warning("There is already something inside [src].")) return if(!user.transferItemToLoc(I, src)) - to_chat(user, "\The [I] is stuck to your hand, you cannot put it in [src]!") + to_chat(user, span_warning("\The [I] is stuck to your hand, you cannot put it in [src]!")) return hidden_item = I - to_chat(user, "You hide [I] inside the basin.") + to_chat(user, span_notice("You hide [I] inside the basin.")) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 5e374e62746..bd7ac1c3928 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -156,38 +156,38 @@ if(I.tool_behaviour != TOOL_MINING) return . = TRUE - to_chat(user, "You start digging [src]...") + to_chat(user, span_notice("You start digging [src]...")) if(I.use_tool(src, user, 40, volume=50)) - to_chat(user, "You finish digging.") + to_chat(user, span_notice("You finish digging.")) deconstruct(TRUE) /obj/structure/mineral_door/welder_act(mob/living/user, obj/item/I) //override if the door is supposed to be flammable. ..() . = TRUE if(anchored) - to_chat(user, "[src] is still firmly secured to the ground!") + to_chat(user, span_warning("[src] is still firmly secured to the ground!")) return - user.visible_message("[user] starts to weld apart [src]!", "You start welding apart [src].") + user.visible_message(span_notice("[user] starts to weld apart [src]!"), span_notice("You start welding apart [src].")) if(!I.use_tool(src, user, 60, 5, 50)) - to_chat(user, "You failed to weld apart [src]!") + to_chat(user, span_warning("You failed to weld apart [src]!")) return - user.visible_message("[user] welded [src] into pieces!", "You welded apart [src]!") + user.visible_message(span_notice("[user] welded [src] into pieces!"), span_notice("You welded apart [src]!")) deconstruct(TRUE) /obj/structure/mineral_door/proc/crowbar_door(mob/living/user, obj/item/I) //if the door is flammable, call this in crowbar_act() so we can still decon it . = TRUE if(anchored) - to_chat(user, "[src] is still firmly secured to the ground!") + to_chat(user, span_warning("[src] is still firmly secured to the ground!")) return - user.visible_message("[user] starts to pry apart [src]!", "You start prying apart [src].") + user.visible_message(span_notice("[user] starts to pry apart [src]!"), span_notice("You start prying apart [src].")) if(!I.use_tool(src, user, 60, volume = 50)) - to_chat(user, "You failed to pry apart [src]!") + to_chat(user, span_warning("You failed to pry apart [src]!")) return - user.visible_message("[user] pried [src] into pieces!", "You pried apart [src]!") + user.visible_message(span_notice("[user] pried [src] into pieces!"), span_notice("You pried apart [src]!")) deconstruct(TRUE) @@ -326,7 +326,7 @@ /obj/structure/mineral_door/paperframe/examine(mob/user) . = ..() if(obj_integrity < max_integrity) - . += "It looks a bit damaged, you may be able to fix it with some paper." + . += span_info("It looks a bit damaged, you may be able to fix it with some paper.") /obj/structure/mineral_door/paperframe/pickaxe_door(mob/living/user, obj/item/I) return @@ -343,11 +343,11 @@ return if((!user.combat_mode) && istype(I, /obj/item/paper) && (obj_integrity < max_integrity)) - user.visible_message("[user] starts to patch the holes in [src].", "You start patching some of the holes in [src]!") + user.visible_message(span_notice("[user] starts to patch the holes in [src]."), span_notice("You start patching some of the holes in [src]!")) if(do_after(user, 2 SECONDS, src)) obj_integrity = min(obj_integrity+4,max_integrity) qdel(I) - user.visible_message("[user] patches some of the holes in [src].", "You patch some of the holes in [src]!") + user.visible_message(span_notice("[user] patches some of the holes in [src]."), span_notice("You patch some of the holes in [src]!")) return TRUE return ..() diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index ec895f50ddf..227b922e79b 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -58,7 +58,7 @@ if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return //no tele-grooming if(HAS_TRAIT(H, TRAIT_BALD)) - to_chat(H, "If only growing back hair were that easy for you...") + to_chat(H, span_notice("If only growing back hair were that easy for you...")) if(new_style) H.hairstyle = new_style @@ -75,7 +75,7 @@ . = ..() if(broken) // breaking a mirror truly gets you bad luck! - to_chat(user, "A chill runs down your spine as [src] shatters...") + to_chat(user, span_warning("A chill runs down your spine as [src] shatters...")) user.AddComponent(/datum/component/omen, silent=TRUE) // we have our own message /obj/structure/mirror/bullet_act(obj/projectile/P) @@ -85,7 +85,7 @@ . = ..() if(broken) // breaking a mirror truly gets you bad luck! var/mob/living/unlucky_dude = P.firer - to_chat(unlucky_dude, "A chill runs down your spine as [src] shatters...") + to_chat(unlucky_dude, span_warning("A chill runs down your spine as [src] shatters...")) unlucky_dude.AddComponent(/datum/component/omen, silent=TRUE) // we have our own message /obj/structure/mirror/obj_break(damage_flag, mapload) @@ -116,9 +116,9 @@ if(!I.tool_start_check(user, amount=0)) return TRUE - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) if(I.use_tool(src, user, 10, volume=50)) - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) broken = 0 icon_state = initial(icon_state) desc = initial(desc) @@ -218,7 +218,7 @@ H.dna.features["mcolor"] = sanitize_hexcolor(new_mutantcolor) else - to_chat(H, "Invalid color. Your color is not bright enough.") + to_chat(H, span_notice("Invalid color. Your color is not bright enough.")) H.update_body() H.update_hair() @@ -234,7 +234,7 @@ return H.gender = FEMALE H.body_type = FEMALE - to_chat(H, "Man, you feel like a woman!") + to_chat(H, span_notice("Man, you feel like a woman!")) else return @@ -244,7 +244,7 @@ return H.gender = MALE H.body_type = MALE - to_chat(H, "Whoa man, you feel like a man!") + to_chat(H, span_notice("Whoa man, you feel like a man!")) else return H.dna.update_ui_block(DNA_GENDER_BLOCK) diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 5fa628feb38..ee812057258 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -14,10 +14,10 @@ /obj/structure/mopbucket/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/mop)) if(reagents.total_volume < 1) - to_chat(user, "[src] is out of water!") + to_chat(user, span_warning("[src] is out of water!")) else reagents.trans_to(I, 5, transfered_by = user) - to_chat(user, "You wet [I] in [src].") + to_chat(user, span_notice("You wet [I] in [src].")) playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) update_appearance() else diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 1555d4bdf4d..a46374dc4ed 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -50,7 +50,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an if(locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) return open() @@ -62,7 +62,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an if(.) return if(locked) - to_chat(user, "It's locked.") + to_chat(user, span_danger("It's locked.")) return if(!connected) to_chat(user, "That doesn't appear to have a tray.") @@ -82,7 +82,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an add_fingerprint(user) if(istype(P, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on the side of [src]!") + to_chat(user, span_notice("You scribble illegibly on the side of [src]!")) return var/t = stripped_input(user, "What would you like the label to be?", text("[]", name), null) if (user.get_active_held_item() != P) @@ -109,13 +109,13 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT user.visible_message(null, \ - "You lean on the back of [src] and start pushing the tray open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + span_notice("You lean on the back of [src] and start pushing the tray open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src ) return - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open() /obj/structure/bodycontainer/proc/open() @@ -165,14 +165,14 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an /obj/structure/bodycontainer/morgue/examine(mob/user) . = ..() - . += "The speaker is [beeper ? "enabled" : "disabled"]. Alt-click to toggle it." + . += span_notice("The speaker is [beeper ? "enabled" : "disabled"]. Alt-click to toggle it.") /obj/structure/bodycontainer/morgue/AltClick(mob/user) ..() if(!user.canUseTopic(src, !issilicon(user))) return beeper = !beeper - to_chat(user, "You turn the speaker function [beeper ? "on" : "off"].") + to_chat(user, span_notice("You turn the speaker function [beeper ? "on" : "off"].")) /obj/structure/bodycontainer/morgue/update_icon_state() if(!connected || connected.loc != src) // Open or tray is gone. @@ -218,7 +218,7 @@ GLOBAL_LIST_EMPTY(crematoriums) var/id = 1 /obj/structure/bodycontainer/crematorium/attack_robot(mob/user) //Borgs can't use crematoriums without help - to_chat(user, "[src] is locked against you.") + to_chat(user, span_warning("[src] is locked against you.")) return /obj/structure/bodycontainer/crematorium/Destroy() @@ -254,11 +254,11 @@ GLOBAL_LIST_EMPTY(crematoriums) var/list/conts = GetAllContents() - src - connected if(!conts.len) - audible_message("You hear a hollow crackle.") + audible_message(span_hear("You hear a hollow crackle.")) return else - audible_message("You hear a roar as the crematorium activates.") + audible_message(span_hear("You hear a roar as the crematorium activates.")) locked = TRUE update_appearance() @@ -337,7 +337,7 @@ GLOBAL_LIST_EMPTY(crematoriums) connected.close() add_fingerprint(user) else - to_chat(user, "That's not connected to anything!") + to_chat(user, span_warning("That's not connected to anything!")) /obj/structure/tray/attackby(obj/P, mob/user, params) if(!istype(P, /obj/item/riding_offhand)) @@ -368,7 +368,7 @@ GLOBAL_LIST_EMPTY(crematoriums) return O.forceMove(src.loc) if (user != O) - visible_message("[user] stuffs [O] into [src].") + visible_message(span_warning("[user] stuffs [O] into [src].")) return /* diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 51afa5dc30e..f057b36a4cc 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -45,16 +45,16 @@ /obj/structure/noticeboard/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/paper) || istype(O, /obj/item/photo)) if(!allowed(user)) - to_chat(user, "You are not authorized to add notices!") + to_chat(user, span_warning("You are not authorized to add notices!")) return if(notices < MAX_NOTICES) if(!user.transferItemToLoc(O, src)) return notices++ icon_state = "nboard0[notices]" - to_chat(user, "You pin the [O] to the noticeboard.") + to_chat(user, span_notice("You pin the [O] to the noticeboard.")) else - to_chat(user, "The notice board is full!") + to_chat(user, span_warning("The notice board is full!")) else return ..() diff --git a/code/game/objects/structures/petrified_statue.dm b/code/game/objects/structures/petrified_statue.dm index ed74993bc4b..09e2b64def7 100644 --- a/code/game/objects/structures/petrified_statue.dm +++ b/code/game/objects/structures/petrified_statue.dm @@ -15,7 +15,7 @@ petrified_mob = L if(L.buckled) L.buckled.unbuckle_mob(L,force=1) - L.visible_message("[L]'s skin rapidly turns to marble!", "Your body freezes up! Can't... move... can't... think...") + L.visible_message(span_warning("[L]'s skin rapidly turns to marble!"), span_userdanger("Your body freezes up! Can't... move... can't... think...")) L.forceMove(src) ADD_TRAIT(L, TRAIT_MUTE, STATUE_MUTE) L.faction += "mimic" //Stops mimics from instaqdeling people in statues @@ -50,7 +50,7 @@ if(petrified_mob) S.mind.transfer_to(petrified_mob) petrified_mob.Paralyze(100) - to_chat(petrified_mob, "You slowly come back to your senses. You are in control of yourself again!") + to_chat(petrified_mob, span_notice("You slowly come back to your senses. You are in control of yourself again!")) qdel(S) for(var/obj/O in src) @@ -70,7 +70,7 @@ if(!disassembled) if(petrified_mob) petrified_mob.dust() - visible_message("[src] shatters!.") + visible_message(span_danger("[src] shatters!.")) qdel(src) diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm index d0212ea05f4..eed04ba63ef 100644 --- a/code/game/objects/structures/plaques/_plaques.dm +++ b/code/game/objects/structures/plaques/_plaques.dm @@ -39,14 +39,14 @@ /obj/structure/plaque/wrench_act(mob/living/user, obj/item/wrench/I) . = ..() - user.visible_message("[user] starts removing [src]...", \ - "You start unfastening [src].") + user.visible_message(span_notice("[user] starts removing [src]..."), \ + span_notice("You start unfastening [src].")) I.play_tool_sound(src) if(!I.use_tool(src, user, 4 SECONDS)) return TRUE playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) - user.visible_message("[user] unfastens [src].", \ - "You unfasten [src].") + user.visible_message(span_notice("[user] unfastens [src]."), \ + span_notice("You unfasten [src].")) var/obj/item/plaque/unwrenched_plaque = new (get_turf(user)) if(engraved) //If it's still just a basic unengraved plaque, we can (and should) skip some of the below variable transfers. unwrenched_plaque.name = name //Copy over the plaque structure variables to the plaque item we're creating when we unwrench it. @@ -63,16 +63,16 @@ if(user.combat_mode) return FALSE if(obj_integrity == max_integrity) - to_chat(user, "This plaque is already in perfect condition.") + to_chat(user, span_warning("This plaque is already in perfect condition.")) return TRUE if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + user.visible_message(span_notice("[user] starts repairing [src]..."), \ + span_notice("You start repairing [src].")) if(!I.use_tool(src, user, 4 SECONDS, volume = 50)) return TRUE - user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + user.visible_message(span_notice("[user] finishes repairing [src]."), \ + span_notice("You finish repairing [src].")) obj_integrity = max_integrity return TRUE @@ -81,23 +81,23 @@ if(user.combat_mode) return FALSE if(obj_integrity == max_integrity) - to_chat(user, "This plaque is already in perfect condition.") + to_chat(user, span_warning("This plaque is already in perfect condition.")) return TRUE if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + user.visible_message(span_notice("[user] starts repairing [src]..."), \ + span_notice("You start repairing [src].")) if(!I.use_tool(src, user, 4 SECONDS, volume = 50)) return TRUE - user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + user.visible_message(span_notice("[user] finishes repairing [src]."), \ + span_notice("You finish repairing [src].")) obj_integrity = max_integrity return TRUE /obj/structure/plaque/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/pen/fountain)) if(engraved) - to_chat(user, "This plaque has already been engraved.") + to_chat(user, span_warning("This plaque has already been engraved.")) return var/namechoice = input(user, "Title this plaque. (e.g. 'Best HoP Award', 'Great Ashwalker War Memorial')", "Plaque Customization") if(!namechoice) @@ -106,30 +106,30 @@ if(!descriptionchoice) return if(!Adjacent(user)) //Make sure user is adjacent still - to_chat(user, "You need to stand next to the plaque to engrave it!") + to_chat(user, span_warning("You need to stand next to the plaque to engrave it!")) return - user.visible_message("[user] begins engraving [src].", \ - "You begin engraving [src].") + user.visible_message(span_notice("[user] begins engraving [src]."), \ + span_notice("You begin engraving [src].")) if(!do_after(user, 4 SECONDS, target = src)) //This spits out a visible message that somebody is engraving a plaque, then has a delay. return name = "\improper [namechoice]" //We want improper here so examine doesn't get weird if somebody capitalizes the plaque title. desc = "The plaque reads: '[descriptionchoice]'" engraved = TRUE //The plaque now has a name, description, and can't be altered again. - user.visible_message("[user] engraves [src].", \ - "You engrave [src].") + user.visible_message(span_notice("[user] engraves [src]."), \ + span_notice("You engrave [src].")) return if(istype(I, /obj/item/pen)) if(engraved) - to_chat(user, "This plaque has already been engraved, and your pen isn't fancy enough to engrave it anyway! Find a fountain pen.") + to_chat(user, span_warning("This plaque has already been engraved, and your pen isn't fancy enough to engrave it anyway! Find a fountain pen.")) return - to_chat(user, "Your pen isn't fancy enough to engrave this! Find a fountain pen.") //Go steal the Curator's. + to_chat(user, span_warning("Your pen isn't fancy enough to engrave this! Find a fountain pen.")) //Go steal the Curator's. return return ..() /obj/item/plaque/attackby(obj/item/I, mob/user, params) //Same as part of the above, except for the item in hand instead of the structure. if(istype(I, /obj/item/pen/fountain)) if(engraved) - to_chat(user, "This plaque has already been engraved.") + to_chat(user, span_warning("This plaque has already been engraved.")) return var/namechoice = input(user, "Title this plaque. (e.g. 'Best HoP Award', 'Great Ashwalker War Memorial')", "Plaque Customization") if(!namechoice) @@ -138,23 +138,23 @@ if(!descriptionchoice) return if(!Adjacent(user)) //Make sure user is adjacent still - to_chat(user, "You need to stand next to the plaque to engrave it!") + to_chat(user, span_warning("You need to stand next to the plaque to engrave it!")) return - user.visible_message("[user] begins engraving [src].", \ - "You begin engraving [src].") + user.visible_message(span_notice("[user] begins engraving [src]."), \ + span_notice("You begin engraving [src].")) if(!do_after(user, 40, target = src)) //This spits out a visible message that somebody is engraving a plaque, then has a delay. return name = "\improper [namechoice]" //We want improper here so examine doesn't get weird if somebody capitalizes the plaque title. desc = "The plaque reads: '[descriptionchoice]'" engraved = TRUE //The plaque now has a name, description, and can't be altered again. - user.visible_message("[user] engraves [src].", \ - "You engrave [src].") + user.visible_message(span_notice("[user] engraves [src]."), \ + span_notice("You engrave [src].")) return if(istype(I, /obj/item/pen)) if(engraved) - to_chat(user, "This plaque has already been engraved, and your pen isn't fancy enough to engrave it anyway! Find a fountain pen.") + to_chat(user, span_warning("This plaque has already been engraved, and your pen isn't fancy enough to engrave it anyway! Find a fountain pen.")) return - to_chat(user, "Your pen isn't fancy enough to engrave this! Find a fountain pen.") //Go steal the Curator's. + to_chat(user, span_warning("Your pen isn't fancy enough to engrave this! Find a fountain pen.")) //Go steal the Curator's. return return ..() @@ -175,8 +175,8 @@ placed_plaque.pixel_x = 32 else if(dir & WEST) placed_plaque.pixel_x = -32 - user.visible_message("[user] fastens [src] to [target_turf].", \ - "You attach [src] to [target_turf].") + user.visible_message(span_notice("[user] fastens [src] to [target_turf]."), \ + span_notice("You attach [src] to [target_turf].")) playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) if(engraved) placed_plaque.name = name diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 53fc77d6608..8fa09fe04de 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -20,9 +20,9 @@ /obj/structure/plasticflaps/examine(mob/user) . = ..() if(anchored) - . += "[src] are screwed to the floor." + . += span_notice("[src] are screwed to the floor.") else - . += "[src] are no longer screwed to the floor, and the flaps can be cut apart." + . += span_notice("[src] are no longer screwed to the floor, and the flaps can be cut apart.") /obj/structure/plasticflaps/screwdriver_act(mob/living/user, obj/item/W) if(..()) @@ -30,13 +30,13 @@ add_fingerprint(user) var/action = anchored ? "unscrews [src] from" : "screws [src] to" var/uraction = anchored ? "unscrew [src] from" : "screw [src] to" - user.visible_message("[user] [action] the floor.", "You start to [uraction] the floor...", "You hear rustling noises.") + user.visible_message(span_warning("[user] [action] the floor."), span_notice("You start to [uraction] the floor..."), span_hear("You hear rustling noises.")) if(!W.use_tool(src, user, 100, volume=100, extra_checks = CALLBACK(src, .proc/check_anchored_state, anchored))) return TRUE set_anchored(!anchored) update_atmos_behaviour() air_update_turf(TRUE) - to_chat(user, "You [uraction] the floor.") + to_chat(user, span_notice("You [uraction] the floor.")) return TRUE ///Update the flaps behaviour to gases, if not anchored will let air pass through @@ -46,11 +46,11 @@ /obj/structure/plasticflaps/wirecutter_act(mob/living/user, obj/item/W) . = ..() if(!anchored) - user.visible_message("[user] cuts apart [src].", "You start to cut apart [src].", "You hear cutting.") + user.visible_message(span_warning("[user] cuts apart [src]."), span_notice("You start to cut apart [src]."), span_hear("You hear cutting.")) if(W.use_tool(src, user, 50, volume=100)) if(anchored) return TRUE - to_chat(user, "You cut apart [src].") + to_chat(user, span_notice("You cut apart [src].")) var/obj/item/stack/sheet/plastic/five/P = new(loc) P.add_fingerprint(user) qdel(src) diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 379f113fe55..ea805c6980c 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -33,18 +33,18 @@ if(!I.tool_start_check(user, amount=0)) return - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) if(I.use_tool(src, user, 40, volume=50)) obj_integrity = max_integrity - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) else - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return /obj/structure/railing/wirecutter_act(mob/living/user, obj/item/I) . = ..() if(!anchored) - to_chat(user, "You cut apart the railing.") + to_chat(user, span_warning("You cut apart the railing.")) I.play_tool_sound(src, 100) deconstruct() return TRUE @@ -60,10 +60,10 @@ . = ..() if(flags_1&NODECONSTRUCT_1) return - to_chat(user, "You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...") + to_chat(user, span_notice("You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...")) if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored))) set_anchored(!anchored) - to_chat(user, "You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.") + to_chat(user, span_notice("You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.")) return TRUE /obj/structure/railing/CanPass(atom/movable/mover, turf/target) @@ -111,13 +111,13 @@ /obj/structure/railing/proc/can_be_rotated(mob/user,rotation_type) if(anchored) - to_chat(user, "[src] cannot be rotated while it is fastened to the floor!") + to_chat(user, span_warning("[src] cannot be rotated while it is fastened to the floor!")) return FALSE var/target_dir = turn(dir, rotation_type == ROTATION_CLOCKWISE ? -90 : 90) if(!valid_window_location(loc, target_dir, is_fulltile = FALSE)) //Expanded to include rails, as well! - to_chat(user, "[src] cannot be rotated in that direction!") + to_chat(user, span_warning("[src] cannot be rotated in that direction!")) return FALSE return TRUE diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm index d76cdd49b48..47250cbb8ba 100644 --- a/code/game/objects/structures/reflector.dm +++ b/code/game/objects/structures/reflector.dm @@ -39,9 +39,9 @@ . += "It is set to [rotation_angle] degrees, and the rotation is [can_rotate ? "unlocked" : "locked"]." if(!admin) if(can_rotate) - . += "Alt-click to adjust its direction." + . += span_notice("Alt-click to adjust its direction.") else - . += "Use screwdriver to unlock the rotation." + . += span_notice("Use screwdriver to unlock the rotation.") /obj/structure/reflector/proc/set_angle(new_angle) if(can_rotate) @@ -77,17 +77,17 @@ if(W.tool_behaviour == TOOL_SCREWDRIVER) can_rotate = !can_rotate - to_chat(user, "You [can_rotate ? "unlock" : "lock"] [src]'s rotation.") + to_chat(user, span_notice("You [can_rotate ? "unlock" : "lock"] [src]'s rotation.")) W.play_tool_sound(src) return if(W.tool_behaviour == TOOL_WRENCH) if(anchored) - to_chat(user, "Unweld [src] from the floor first!") + to_chat(user, span_warning("Unweld [src] from the floor first!")) return - user.visible_message("[user] starts to dismantle [src].", "You start to dismantle [src]...") + user.visible_message(span_notice("[user] starts to dismantle [src]."), span_notice("You start to dismantle [src]...")) if(W.use_tool(src, user, 80, volume=50)) - to_chat(user, "You dismantle [src].") + to_chat(user, span_notice("You dismantle [src].")) new framebuildstacktype(drop_location(), framebuildstackamount) if(buildstackamount) new buildstacktype(drop_location(), buildstackamount) @@ -97,34 +97,34 @@ if(!W.tool_start_check(user, amount=0)) return - user.visible_message("[user] starts to repair [src].", - "You begin repairing [src]...", - "You hear welding.") + user.visible_message(span_notice("[user] starts to repair [src]."), + span_notice("You begin repairing [src]..."), + span_hear("You hear welding.")) if(W.use_tool(src, user, 40, volume=40)) obj_integrity = max_integrity - user.visible_message("[user] repairs [src].", \ - "You finish repairing [src].") + user.visible_message(span_notice("[user] repairs [src]."), \ + span_notice("You finish repairing [src].")) else if(!anchored) if(!W.tool_start_check(user, amount=0)) return - user.visible_message("[user] starts to weld [src] to the floor.", - "You start to weld [src] to the floor...", - "You hear welding.") + user.visible_message(span_notice("[user] starts to weld [src] to the floor."), + span_notice("You start to weld [src] to the floor..."), + span_hear("You hear welding.")) if (W.use_tool(src, user, 20, volume=50)) set_anchored(TRUE) - to_chat(user, "You weld [src] to the floor.") + to_chat(user, span_notice("You weld [src] to the floor.")) else if(!W.tool_start_check(user, amount=0)) return - user.visible_message("[user] starts to cut [src] free from the floor.", - "You start to cut [src] free from the floor...", - "You hear welding.") + user.visible_message(span_notice("[user] starts to cut [src] free from the floor."), + span_notice("You start to cut [src] free from the floor..."), + span_hear("You hear welding.")) if (W.use_tool(src, user, 20, volume=50)) set_anchored(FALSE) - to_chat(user, "You cut [src] free from the floor.") + to_chat(user, span_notice("You cut [src] free from the floor.")) //Finishing the frame else if(istype(W, /obj/item/stack/sheet)) @@ -136,14 +136,14 @@ new /obj/structure/reflector/single(drop_location()) qdel(src) else - to_chat(user, "You need five sheets of glass to create a reflector!") + to_chat(user, span_warning("You need five sheets of glass to create a reflector!")) return if(istype(S, /obj/item/stack/sheet/rglass)) if(S.use(10)) new /obj/structure/reflector/double(drop_location()) qdel(src) else - to_chat(user, "You need ten sheets of reinforced glass to create a double reflector!") + to_chat(user, span_warning("You need ten sheets of reinforced glass to create a double reflector!")) return if(istype(S, /obj/item/stack/sheet/mineral/diamond)) if(S.use(1)) @@ -154,7 +154,7 @@ /obj/structure/reflector/proc/rotate(mob/user) if (!can_rotate || admin) - to_chat(user, "The rotation is locked!") + to_chat(user, span_warning("The rotation is locked!")) return FALSE var/new_angle = input(user, "Input a new angle for primary reflection face.", "Reflector Angle", rotation_angle) as null|num if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user))) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index c335e1b08fe..83a0e2223c1 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -66,17 +66,17 @@ FLOOR SAFES if(I.w_class + space <= maxspace) space += I.w_class if(!user.transferItemToLoc(I, src)) - to_chat(user, "\The [I] is stuck to your hand, you cannot put it in the safe!") + to_chat(user, span_warning("\The [I] is stuck to your hand, you cannot put it in the safe!")) return - to_chat(user, "You put [I] in [src].") + to_chat(user, span_notice("You put [I] in [src].")) else - to_chat(user, "[I] won't fit in [src].") + to_chat(user, span_warning("[I] won't fit in [src].")) else if(istype(I, /obj/item/clothing/neck/stethoscope)) attack_hand(user) return else - to_chat(user, "You can't put [I] into the safe while it is closed!") + to_chat(user, span_warning("You can't put [I] into the safe while it is closed!")) return /obj/structure/safe/blob_act(obj/structure/blob/B) @@ -141,9 +141,9 @@ FLOOR SAFES switch(action) if("open") if(!check_unlocked() && !open && !broken) - to_chat(user, "You cannot open [src], as its lock is engaged!") + to_chat(user, span_warning("You cannot open [src], as its lock is engaged!")) return - to_chat(user, "You [open ? "close" : "open"] [src].") + to_chat(user, span_notice("You [open ? "close" : "open"] [src].")) open = !open update_appearance() return TRUE @@ -151,7 +151,7 @@ FLOOR SAFES if(open) return if(broken) - to_chat(user, "The dial will not turn, as the mechanism is destroyed!") + to_chat(user, span_warning("The dial will not turn, as the mechanism is destroyed!")) return var/ticks = text2num(params["num"]) for(var/i = 1 to ticks) @@ -172,7 +172,7 @@ FLOOR SAFES if(open) return if(broken) - to_chat(user, "The dial will not turn, as the mechanism is destroyed!") + to_chat(user, span_warning("The dial will not turn, as the mechanism is destroyed!")) return var/ticks = text2num(params["num"]) for(var/i = 1 to ticks) @@ -216,7 +216,7 @@ FLOOR SAFES return TRUE if(current_tumbler_index > number_of_tumblers) locked = FALSE - visible_message("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!") + visible_message(span_boldnotice("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!")) return TRUE locked = TRUE return FALSE diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index b8d0c3c192b..7172c8ddfb8 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -111,17 +111,17 @@ /obj/structure/showcase/attackby(obj/item/W, mob/user) if(W.tool_behaviour == TOOL_SCREWDRIVER && !anchored) if(deconstruction_state == SHOWCASE_SCREWDRIVERED) - to_chat(user, "You screw the screws back into the showcase.") + to_chat(user, span_notice("You screw the screws back into the showcase.")) W.play_tool_sound(src, 100) deconstruction_state = SHOWCASE_CONSTRUCTED else if (deconstruction_state == SHOWCASE_CONSTRUCTED) - to_chat(user, "You unscrew the screws.") + to_chat(user, span_notice("You unscrew the screws.")) W.play_tool_sound(src, 100) deconstruction_state = SHOWCASE_SCREWDRIVERED if(W.tool_behaviour == TOOL_CROWBAR && deconstruction_state == SHOWCASE_SCREWDRIVERED) if(W.use_tool(src, user, 20, volume=100)) - to_chat(user, "You start to crowbar the showcase apart...") + to_chat(user, span_notice("You start to crowbar the showcase apart...")) new /obj/item/stack/sheet/iron(drop_location(), 4) qdel(src) diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index a12fd850970..27556b828e8 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -47,7 +47,7 @@ /obj/machinery/shower/examine(mob/user) . = ..() - . += "[reagents.total_volume]/[reagents.maximum_volume] liquids remaining." + . += span_notice("[reagents.total_volume]/[reagents.maximum_volume] liquids remaining.") /obj/machinery/shower/Destroy() QDEL_NULL(soundloop) @@ -56,7 +56,7 @@ /obj/machinery/shower/interact(mob/M) if(reagents.total_volume < 5) - to_chat(M,"\The [src] is dry.") + to_chat(M,span_notice("\The [src] is dry.")) return FALSE on = !on update_appearance() @@ -74,7 +74,7 @@ /obj/machinery/shower/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_ANALYZER) - to_chat(user, "The water temperature seems to be [current_temperature].") + to_chat(user, span_notice("The water temperature seems to be [current_temperature].")) else return ..() @@ -91,7 +91,7 @@ /obj/machinery/shower/wrench_act(mob/living/user, obj/item/I) ..() - to_chat(user, "You begin to adjust the temperature valve with \the [I]...") + to_chat(user, span_notice("You begin to adjust the temperature valve with \the [I]...")) if(I.use_tool(src, user, 50)) switch(current_temperature) if(SHOWER_NORMAL) @@ -100,7 +100,7 @@ current_temperature = SHOWER_BOILING if(SHOWER_BOILING) current_temperature = SHOWER_NORMAL - user.visible_message("[user] adjusts the shower with \the [I].", "You adjust the shower with \the [I] to [current_temperature] temperature.") + user.visible_message(span_notice("[user] adjusts the shower with \the [I]."), span_notice("You adjust the shower with \the [I] to [current_temperature] temperature.")) user.log_message("has wrenched a shower at [AREACOORD(src)] to [current_temperature].", LOG_ATTACK) add_hiddenprint(user) handle_mist() @@ -179,12 +179,12 @@ if(current_temperature == SHOWER_FREEZING) if(iscarbon(L)) C.adjust_bodytemperature(-80, 80) - to_chat(L, "[src] is freezing!") + to_chat(L, span_warning("[src] is freezing!")) else if(current_temperature == SHOWER_BOILING) if(iscarbon(L)) C.adjust_bodytemperature(35, 0, 500) L.adjustFireLoss(5) - to_chat(L, "[src] is searing!") + to_chat(L, span_danger("[src] is searing!")) /obj/structure/showerframe @@ -209,7 +209,7 @@ /obj/structure/showerframe/proc/can_be_rotated(mob/user, rotation_type) if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, span_warning("It is fastened to the floor!")) return !anchored /obj/effect/mist diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index fae46fcccc8..c451e0ce19d 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -72,14 +72,14 @@ . = ..() if(!buildable_sign) return TRUE - user.visible_message("[user] starts removing [src]...", \ - "You start unfastening [src].") + user.visible_message(span_notice("[user] starts removing [src]..."), \ + span_notice("You start unfastening [src].")) I.play_tool_sound(src) if(!I.use_tool(src, user, 4 SECONDS)) return TRUE playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) - user.visible_message("[user] unfastens [src].", \ - "You unfasten [src].") + user.visible_message(span_notice("[user] unfastens [src]."), \ + span_notice("You unfasten [src].")) var/obj/item/sign/unwrenched_sign = new (get_turf(user)) if(type != /obj/structure/sign/blank) //If it's still just a basic sign backing, we can (and should) skip some of the below variable transfers. unwrenched_sign.name = name //Copy over the sign structure variables to the sign item we're creating when we unwrench a sign. @@ -98,16 +98,16 @@ if(user.combat_mode) return FALSE if(obj_integrity == max_integrity) - to_chat(user, "This sign is already in perfect condition.") + to_chat(user, span_warning("This sign is already in perfect condition.")) return TRUE if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + user.visible_message(span_notice("[user] starts repairing [src]..."), \ + span_notice("You start repairing [src].")) if(!I.use_tool(src, user, 4 SECONDS, volume =50 )) return TRUE - user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + user.visible_message(span_notice("[user] finishes repairing [src]."), \ + span_notice("You finish repairing [src].")) obj_integrity = max_integrity return TRUE @@ -116,16 +116,16 @@ if(user.combat_mode) return FALSE if(obj_integrity == max_integrity) - to_chat(user, "This sign is already in perfect condition.") + to_chat(user, span_warning("This sign is already in perfect condition.")) return TRUE if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + user.visible_message(span_notice("[user] starts repairing [src]..."), \ + span_notice("You start repairing [src].")) if(!I.use_tool(src, user, 4 SECONDS, volume =50 )) return TRUE - user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + user.visible_message(span_notice("[user] finishes repairing [src]."), \ + span_notice("You finish repairing [src].")) obj_integrity = max_integrity return TRUE @@ -137,10 +137,10 @@ if(!choice) return if(!Adjacent(user)) //Make sure user is adjacent still. - to_chat(user, "You need to stand next to the sign to change it!") + to_chat(user, span_warning("You need to stand next to the sign to change it!")) return - user.visible_message("[user] begins changing [src].", \ - "You begin changing [src].") + user.visible_message(span_notice("[user] begins changing [src]."), \ + span_notice("You begin changing [src].")) if(!do_after(user, 4 SECONDS, target = src)) //Small delay for changing signs instead of it being instant, so somebody could be shoved or stunned to prevent them from doing so. return var/sign_type = GLOB.editable_sign_types[choice] @@ -152,8 +152,8 @@ changedsign.pixel_y = pixel_y changedsign.obj_integrity = obj_integrity qdel(src) - user.visible_message("[user] finishes changing the sign.", \ - "You finish changing the sign.") + user.visible_message(span_notice("[user] finishes changing the sign."), \ + span_notice("You finish changing the sign.")) return return ..() @@ -165,15 +165,15 @@ if(!choice) return if(!Adjacent(user)) //Make sure user is adjacent still. - to_chat(user, "You need to stand next to the sign to change it!") + to_chat(user, span_warning("You need to stand next to the sign to change it!")) return if(!choice) return - user.visible_message("You begin changing [src].") + user.visible_message(span_notice("You begin changing [src].")) if(!do_after(user, 4 SECONDS, target = src)) return set_sign_type(GLOB.editable_sign_types[choice]) - user.visible_message("You finish changing the sign.") + user.visible_message(span_notice("You finish changing the sign.")) return return ..() @@ -203,8 +203,8 @@ placed_sign.pixel_x = 32 else if(dir & WEST) placed_sign.pixel_x = -32 - user.visible_message("[user] fastens [src] to [target_turf].", \ - "You attach the sign to [target_turf].") + user.visible_message(span_notice("[user] fastens [src] to [target_turf]."), \ + span_notice("You attach the sign to [target_turf].")) playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) placed_sign.update_integrity(get_integrity()) placed_sign.setDir(dir) diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index a27c24316e3..42306f48193 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -41,7 +41,7 @@ next_use = world.time + rand(30,50) lastuser = M.ckey //blind message is the same because not everyone brings night vision to seances - var/msg = "The planchette slowly moves... and stops at the letter \"[planchette]\"." + var/msg = span_notice("The planchette slowly moves... and stops at the letter \"[planchette]\".") visible_message(msg,"",msg) /obj/structure/spirit_board/proc/spirit_board_checks(mob/M) @@ -60,7 +60,7 @@ if(light_amount > 0.2) - to_chat(M, "It's too bright here to use [src.name]!") + to_chat(M, span_warning("It's too bright here to use [src.name]!")) return FALSE //mobs in range check @@ -68,12 +68,12 @@ for(var/mob/living/L in orange(1,src)) if(L.ckey && L.client) if((world.time - L.client.inactivity) < (world.time - 300) || L.stat != CONSCIOUS || HAS_TRAIT(L, TRAIT_HANDS_BLOCKED))//no playing with braindeads or corpses or handcuffed dudes. - to_chat(M, "[L] doesn't seem to be paying attention...") + to_chat(M, span_warning("[L] doesn't seem to be paying attention...")) else users_in_range++ if(users_in_range < 2) - to_chat(M, "There aren't enough people to use the [src.name]!") + to_chat(M, span_warning("There aren't enough people to use the [src.name]!")) return FALSE return TRUE diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 5942e1be507..e7323cf55a0 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -26,7 +26,7 @@ /obj/structure/statue/proc/can_be_rotated(mob/user) if(!anchored) return TRUE - to_chat(user, "It's bolted to the floor, you'll need to unwrench it first.") + to_chat(user, span_warning("It's bolted to the floor, you'll need to unwrench it first.")) /obj/structure/statue/proc/can_user_rotate(mob/user) return user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !iscyborg(user)) @@ -40,11 +40,11 @@ if(!W.tool_start_check(user, amount=0)) return FALSE - user.visible_message("[user] is slicing apart the [name].", \ - "You are slicing apart the [name]...") + user.visible_message(span_notice("[user] is slicing apart the [name]."), \ + span_notice("You are slicing apart the [name]...")) if(W.use_tool(src, user, 40, volume=50)) - user.visible_message("[user] slices apart the [name].", \ - "You slice apart the [name]!") + user.visible_message(span_notice("[user] slices apart the [name]."), \ + span_notice("You slice apart the [name]!")) deconstruct(TRUE) return return ..() @@ -359,7 +359,7 @@ Moving interrupts prepared_block.set_target(target,user) /obj/item/chisel/proc/start_sculpting(mob/living/user) - to_chat(user,"You start sculpting [prepared_block].",type=MESSAGE_TYPE_INFO) + to_chat(user,span_notice("You start sculpting [prepared_block]."),type=MESSAGE_TYPE_INFO) sculpting = TRUE //How long whole process takes var/sculpting_time = 30 SECONDS @@ -379,14 +379,14 @@ Moving interrupts total_progress_bar.end_progress() if(!interrupted && !QDELETED(prepared_block)) prepared_block.create_statue() - to_chat(user,"The statue is finished!",type=MESSAGE_TYPE_INFO) + to_chat(user,span_notice("The statue is finished!"),type=MESSAGE_TYPE_INFO) break_sculpting() /obj/item/chisel/proc/set_block(obj/structure/carving_block/B,mob/living/user) prepared_block = B tracked_user = user RegisterSignal(tracked_user,COMSIG_MOVABLE_MOVED,.proc/break_sculpting) - to_chat(user,"You prepare to work on [B].",type=MESSAGE_TYPE_INFO) + to_chat(user,span_notice("You prepare to work on [B]."),type=MESSAGE_TYPE_INFO) /obj/item/chisel/dropped(mob/user, silent) . = ..() @@ -413,7 +413,7 @@ Moving interrupts var/image/chosen_looks = choices[choice] prepared_block.current_target = chosen_looks.appearance var/obj/structure/statue/S = choice - to_chat(user,"You decide to sculpt [prepared_block] into [initial(S.name)].",type=MESSAGE_TYPE_INFO) + to_chat(user,span_notice("You decide to sculpt [prepared_block] into [initial(S.name)]."),type=MESSAGE_TYPE_INFO) /obj/structure/carving_block @@ -453,7 +453,7 @@ Moving interrupts else current_target = target.appearance var/mutable_appearance/ma = current_target - to_chat(user,"You decide to sculpt [src] into [ma.name].",type=MESSAGE_TYPE_INFO) + to_chat(user,span_notice("You decide to sculpt [src] into [ma.name]."),type=MESSAGE_TYPE_INFO) /obj/structure/carving_block/proc/reset_target() current_target = null diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index 1d8aa462284..1549687f1ce 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -23,7 +23,7 @@ /obj/structure/table_frame/wrench_act(mob/living/user, obj/item/I) - to_chat(user, "You start disassembling [src]...") + to_chat(user, span_notice("You start disassembling [src]...")) I.play_tool_sound(src) if(!I.use_tool(src, user, 3 SECONDS)) return TRUE @@ -37,23 +37,23 @@ var/obj/item/stack/material = I if(material.tableVariant) if(material.get_amount() < 1) - to_chat(user, "You need one [material.name] sheet to do this!") + to_chat(user, span_warning("You need one [material.name] sheet to do this!")) return if(locate(/obj/structure/table) in loc) - to_chat(user, "There's already a table built here!") + to_chat(user, span_warning("There's already a table built here!")) return - to_chat(user, "You start adding [material] to [src]...") + to_chat(user, span_notice("You start adding [material] to [src]...")) if(!do_after(user, 2 SECONDS, target = src) || !material.use(1) || (locate(/obj/structure/table) in loc)) return make_new_table(material.tableVariant) else if(istype(material, /obj/item/stack/sheet)) if(material.get_amount() < 1) - to_chat(user, "You need one sheet to do this!") + to_chat(user, span_warning("You need one sheet to do this!")) return if(locate(/obj/structure/table) in loc) - to_chat(user, "There's already a table built here!") + to_chat(user, span_warning("There's already a table built here!")) return - to_chat(user, "You start adding [material] to [src]...") + to_chat(user, span_notice("You start adding [material] to [src]...")) if(!do_after(user, 2 SECONDS, target = src) || !material.use(1) || (locate(/obj/structure/table) in loc)) return var/list/material_list = list() @@ -107,9 +107,9 @@ carpet_type = I.type if (toConstruct) if(material.get_amount() < 1) - to_chat(user, "You need one [material.name] sheet to do this!") + to_chat(user, span_warning("You need one [material.name] sheet to do this!")) return - to_chat(user, "You start adding [material] to [src]...") + to_chat(user, span_notice("You start adding [material] to [src]...")) if(do_after(user, 20, target = src) && material.use(1)) make_new_table(toConstruct, null, carpet_type) else diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 168f119607e..5896a30935d 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -47,7 +47,7 @@ . += deconstruction_hints(user) /obj/structure/table/proc/deconstruction_hints(mob/user) - return "The top is screwed on, but the main bolts are also visible." + return span_notice("The top is screwed on, but the main bolts are also visible.") /obj/structure/table/update_icon(updates=ALL) . = ..() @@ -68,20 +68,20 @@ if(isliving(user.pulling)) var/mob/living/pushed_mob = user.pulling if(pushed_mob.buckled) - to_chat(user, "[pushed_mob] is buckled to [pushed_mob.buckled]!") + to_chat(user, span_warning("[pushed_mob] is buckled to [pushed_mob.buckled]!")) return if(user.combat_mode) switch(user.grab_state) if(GRAB_PASSIVE) - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_warning("You need a better grip to do that!")) return if(GRAB_AGGRESSIVE) tablepush(user, pushed_mob) if(GRAB_NECK to GRAB_KILL) tablelimbsmash(user, pushed_mob) else - pushed_mob.visible_message("[user] begins to place [pushed_mob] onto [src]...", \ - "[user] begins to place [pushed_mob] onto [src]...") + pushed_mob.visible_message(span_notice("[user] begins to place [pushed_mob] onto [src]..."), \ + span_userdanger("[user] begins to place [pushed_mob] onto [src]...")) if(do_after(user, 3.5 SECONDS, target = pushed_mob)) tableplace(user, pushed_mob) else @@ -90,8 +90,8 @@ else if(user.pulling.pass_flags & PASSTABLE) user.Move_Pulled(src) if (user.pulling.loc == loc) - user.visible_message("[user] places [user.pulling] onto [src].", - "You place [user.pulling] onto [src].") + user.visible_message(span_notice("[user] places [user.pulling] onto [src]."), + span_notice("You place [user.pulling] onto [src].")) user.stop_pulling() return ..() @@ -117,13 +117,13 @@ /obj/structure/table/proc/tableplace(mob/living/user, mob/living/pushed_mob) pushed_mob.forceMove(loc) pushed_mob.set_resting(TRUE, TRUE) - pushed_mob.visible_message("[user] places [pushed_mob] onto [src].", \ - "[user] places [pushed_mob] onto [src].") + pushed_mob.visible_message(span_notice("[user] places [pushed_mob] onto [src]."), \ + span_notice("[user] places [pushed_mob] onto [src].")) log_combat(user, pushed_mob, "places", null, "onto [src]") /obj/structure/table/proc/tablepush(mob/living/user, mob/living/pushed_mob) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "Throwing [pushed_mob] onto the table might hurt them!") + to_chat(user, span_danger("Throwing [pushed_mob] onto the table might hurt them!")) return var/added_passtable = FALSE if(!(pushed_mob.pass_flags & PASSTABLE)) @@ -140,8 +140,8 @@ if(user.mind?.martial_art.smashes_tables && user.mind?.martial_art.can_use(user)) deconstruct(FALSE) playsound(pushed_mob, 'sound/effects/tableslam.ogg', 90, TRUE) - pushed_mob.visible_message("[user] slams [pushed_mob] onto \the [src]!", \ - "[user] slams you onto \the [src]!") + pushed_mob.visible_message(span_danger("[user] slams [pushed_mob] onto \the [src]!"), \ + span_userdanger("[user] slams you onto \the [src]!")) log_combat(user, pushed_mob, "tabled", null, "onto [src]") SEND_SIGNAL(pushed_mob, COMSIG_ADD_MOOD_EVENT, "table", /datum/mood_event/table) @@ -157,8 +157,8 @@ if(user.mind?.martial_art.smashes_tables && user.mind?.martial_art.can_use(user)) deconstruct(FALSE) playsound(pushed_mob, 'sound/effects/bang.ogg', 90, TRUE) - pushed_mob.visible_message("[user] smashes [pushed_mob]'s [banged_limb.name] against \the [src]!", - "[user] smashes your [banged_limb.name] against \the [src]") + pushed_mob.visible_message(span_danger("[user] smashes [pushed_mob]'s [banged_limb.name] against \the [src]!"), + span_userdanger("[user] smashes your [banged_limb.name] against \the [src]")) log_combat(user, pushed_mob, "head slammed", null, "against [src]") SEND_SIGNAL(pushed_mob, COMSIG_ADD_MOOD_EVENT, "table", /datum/mood_event/table_limbsmash, banged_limb) @@ -166,13 +166,13 @@ var/list/modifiers = params2list(params) if(!(flags_1 & NODECONSTRUCT_1) && LAZYACCESS(modifiers, RIGHT_CLICK)) if(I.tool_behaviour == TOOL_SCREWDRIVER && deconstruction_ready) - to_chat(user, "You start disassembling [src]...") + to_chat(user, span_notice("You start disassembling [src]...")) if(I.use_tool(src, user, 20, volume=50)) deconstruct(TRUE) return if(I.tool_behaviour == TOOL_WRENCH && deconstruction_ready) - to_chat(user, "You start deconstructing [src]...") + to_chat(user, span_notice("You start deconstructing [src]...")) if(I.use_tool(src, user, 40, volume=50)) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) deconstruct(TRUE, 1) @@ -185,7 +185,7 @@ var/obj/item/item = x AfterPutItemOnTable(item, user) SEND_SIGNAL(I, COMSIG_TRY_STORAGE_QUICK_EMPTY, drop_location()) - user.visible_message("[user] empties [I] on [src].") + user.visible_message(span_notice("[user] empties [I] on [src].")) return // If the tray IS empty, continue on (tray will be placed on the table like other items) @@ -206,8 +206,8 @@ else if(HAS_TRAIT(user, TRAIT_QUICK_CARRY)) tableplace_delay = 2.75 SECONDS skills_space = " quickly" - carried_mob.visible_message("[user] begins to[skills_space] place [carried_mob] onto [src]...", - "[user] begins to[skills_space] place [carried_mob] onto [src]...") + carried_mob.visible_message(span_notice("[user] begins to[skills_space] place [carried_mob] onto [src]..."), + span_userdanger("[user] begins to[skills_space] place [carried_mob] onto [src]...")) if(do_after(user, tableplace_delay, target = carried_mob)) user.unbuckle_mob(carried_mob) tableplace(user, carried_mob) @@ -253,7 +253,7 @@ /obj/structure/table/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct the table.") + to_chat(user, span_notice("You deconstruct the table.")) qdel(src) return TRUE return FALSE @@ -354,8 +354,8 @@ table_shatter(M) /obj/structure/table/glass/proc/table_shatter(mob/living/L) - visible_message("[src] breaks!", - "You hear breaking glass.") + visible_message(span_warning("[src] breaks!"), + span_danger("You hear breaking glass.")) var/turf/T = get_turf(src) playsound(T, "shatter", 50, TRUE) for(var/I in debris) @@ -511,22 +511,22 @@ /obj/structure/table/reinforced/deconstruction_hints(mob/user) if(deconstruction_ready) - return "The top cover has been welded loose and the main frame's bolts are exposed." + return span_notice("The top cover has been welded loose and the main frame's bolts are exposed.") else - return "The top cover is firmly welded on." + return span_notice("The top cover is firmly welded on.") /obj/structure/table/reinforced/attackby_secondary(obj/item/weapon, mob/user, params) if(weapon.tool_behaviour == TOOL_WELDER) if(weapon.tool_start_check(user, amount = 0)) if(deconstruction_ready) - to_chat(user, "You start strengthening the reinforced table...") + to_chat(user, span_notice("You start strengthening the reinforced table...")) if (weapon.use_tool(src, user, 50, volume = 50)) - to_chat(user, "You strengthen the table.") + to_chat(user, span_notice("You strengthen the table.")) deconstruction_ready = FALSE else - to_chat(user, "You start weakening the reinforced table...") + to_chat(user, span_notice("You start weakening the reinforced table...")) if (weapon.use_tool(src, user, 50, volume = 50)) - to_chat(user, "You weaken the table.") + to_chat(user, span_notice("You weaken the table.")) deconstruction_ready = TRUE return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN @@ -584,7 +584,7 @@ /obj/structure/table/optable/tablepush(mob/living/user, mob/living/pushed_mob) pushed_mob.forceMove(loc) pushed_mob.set_resting(TRUE, TRUE) - visible_message("[user] lays [pushed_mob] on [src].") + visible_message(span_notice("[user] lays [pushed_mob] on [src].")) get_patient() /obj/structure/table/optable/proc/get_patient() @@ -605,7 +605,7 @@ /obj/structure/table/optable/proc/patient_deleted(datum/source) SIGNAL_HANDLER set_patient(null) - + /obj/structure/table/optable/proc/check_eligible_patient() get_patient() if(!patient) @@ -630,7 +630,7 @@ /obj/structure/rack/examine(mob/user) . = ..() - . += "It's held together by a couple of bolts." + . += span_notice("It's held together by a couple of bolts.") /obj/structure/rack/CanAllowThrough(atom/movable/mover, turf/target) . = ..() @@ -670,7 +670,7 @@ return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_KICK) - user.visible_message("[user] kicks [src].", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] kicks [src]."), null, null, COMBAT_MESSAGE_RANGE) take_damage(rand(4,8), BRUTE, MELEE, 1) /obj/structure/rack/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) @@ -719,13 +719,13 @@ if(building) return building = TRUE - to_chat(user, "You start constructing a rack...") + to_chat(user, span_notice("You start constructing a rack...")) if(do_after(user, 50, target = user, progress=TRUE)) if(!user.temporarilyRemoveItemFromInventory(src)) return var/obj/structure/rack/R = new /obj/structure/rack(user.loc) user.visible_message("[user] assembles \a [R].\ - ", "You assemble \a [R].") + ", span_notice("You assemble \a [R].")) R.add_fingerprint(user) qdel(src) building = FALSE diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 0f0153c9c05..ffb2cb742cd 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -54,17 +54,17 @@ default_unfasten_wrench(user, I, time = 20) return else if(!user.combat_mode) - to_chat(user, "[I] does not fit into [src].") + to_chat(user, span_notice("[I] does not fit into [src].")) return else return ..() if(full) - to_chat(user, "[src] can't hold any more of [I].") + to_chat(user, span_notice("[src] can't hold any more of [I].")) return if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You put [I] in [src].") + to_chat(user, span_notice("You put [I] in [src].")) update_appearance() /obj/structure/tank_dispenser/ui_state(mob/user) diff --git a/code/game/objects/structures/tank_holder.dm b/code/game/objects/structures/tank_holder.dm index a0e22996e17..8c604a2f02e 100644 --- a/code/game/objects/structures/tank_holder.dm +++ b/code/game/objects/structures/tank_holder.dm @@ -40,18 +40,18 @@ . += "It is holding one [tank]." else . += "It is empty." - . += "It is held together by some screws." + . += span_notice("It is held together by some screws.") /obj/structure/tank_holder/attackby(obj/item/W, mob/living/user, params) if(user.combat_mode) return ..() if(W.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") + to_chat(user, span_notice("You begin to [anchored ? "unwrench" : "wrench"] [src].")) if(W.use_tool(src, user, 20, volume=50)) - to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].") + to_chat(user, span_notice("You successfully [anchored ? "unwrench" : "wrench"] [src].")) set_anchored(!anchored) else if(!SEND_SIGNAL(W, COMSIG_CONTAINER_TRY_ATTACH, src, user)) - to_chat(user, "[W] does not fit in [src].") + to_chat(user, span_warning("[W] does not fit in [src].")) return /obj/structure/tank_holder/screwdriver_act(mob/living/user, obj/item/I) @@ -79,7 +79,7 @@ return ..() if(!Adjacent(user) || issilicon(user)) return ..() - to_chat(user, "You take [tank] from [src].") + to_chat(user, span_notice("You take [tank] from [src].")) add_fingerprint(user) tank.add_fingerprint(user) user.put_in_hands(tank) diff --git a/code/game/objects/structures/training_machine.dm b/code/game/objects/structures/training_machine.dm index 1957de98baf..14e85a9c775 100644 --- a/code/game/objects/structures/training_machine.dm +++ b/code/game/objects/structures/training_machine.dm @@ -83,7 +83,7 @@ if(.) return if (moving && obj_flags & EMAGGED) - visible_message("The [src]'s control panel fizzles slightly.") + visible_message(span_warning("The [src]'s control panel fizzles slightly.")) return switch(action) if("toggle") @@ -113,10 +113,10 @@ if (!istype(target, /obj/item/training_toolbox) && !istype(target, /obj/item/target)) return ..() if (obj_flags & EMAGGED) - to_chat(user, "The toolbox is somehow stuck on! It won't budge!") + to_chat(user, span_warning("The toolbox is somehow stuck on! It won't budge!")) return attach_item(target) - to_chat(user, "You attach \the [attached_item] to the training device.") + to_chat(user, span_notice("You attach \the [attached_item] to the training device.")) playsound(src, "rustle", 50, TRUE) /** @@ -183,9 +183,9 @@ if (!attached_item) return if (obj_flags & EMAGGED) - to_chat(user, "The toolbox is somehow stuck on! It won't budge!") + to_chat(user, span_warning("The toolbox is somehow stuck on! It won't budge!")) return - to_chat(user, "You remove \the [attached_item] from the training device.") + to_chat(user, span_notice("You remove \the [attached_item] from the training device.")) remove_attached_item(user) playsound(src, "rustle", 50, TRUE) @@ -320,7 +320,7 @@ obj_flags |= EMAGGED remove_attached_item(throwing = TRUE) //Toss out the old attached item! attach_item(new /obj/item/storage/toolbox/syndicate(src)) - to_chat(user, "You override the training machine's safety protocols, and activate its realistic combat feature. A toolbox pops out of a slot on the top.") + to_chat(user, span_warning("You override the training machine's safety protocols, and activate its realistic combat feature. A toolbox pops out of a slot on the top.")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) add_overlay("evil_trainer") @@ -328,12 +328,12 @@ . = ..() var/has_buckled_mob = has_buckled_mobs() if(has_buckled_mob) - . += "Alt-Click to unbuckle \the [buckled_mobs[1]]" + . += span_notice("Alt-Click to unbuckle \the [buckled_mobs[1]]") if (obj_flags & EMAGGED) - . += "It has a dangerous-looking toolbox attached to it, and the control panel is smoking sightly..." + . += span_warning("It has a dangerous-looking toolbox attached to it, and the control panel is smoking sightly...") else if (!has_buckled_mob && attached_item) //Can't removed the syndicate toolbox! - . += "Alt-Click to remove \the [attached_item]" - . += "Click to open control interface." + . += span_notice("Alt-Click to remove \the [attached_item]") + . += span_notice("Click to open control interface.") /** * Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't. @@ -396,19 +396,19 @@ /obj/item/training_toolbox/AltClick(mob/user) . = ..() - to_chat(user, "You push the 'Lap' button on the toolbox's display.") + to_chat(user, span_notice("You push the 'Lap' button on the toolbox's display.")) lap_hits = initial(lap_hits) /obj/item/training_toolbox/examine(mob/user) . = ..() if(!in_range(src, user) && !isobserver(user)) - . += "You can see a display on the back. You'll need to get closer to read it, though." + . += span_notice("You can see a display on the back. You'll need to get closer to read it, though.") return - . += "A display on the back reads:" - . += "Total Hits: [total_hits]" + . += span_notice("A display on the back reads:") + . += span_notice("Total Hits: [total_hits]") if (lap_hits != total_hits) - . += "Current Lap: [lap_hits]" - . += "Alt-Click to 'Lap' the hit counter." + . += span_notice("Current Lap: [lap_hits]") + . += span_notice("Alt-Click to 'Lap' the hit counter.") #undef MIN_RANGE #undef MIN_SPEED diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index f069005fe05..99e806e23a1 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -55,7 +55,7 @@ R.transfer_fingerprints_to(TP) TP.add_fingerprint(user) TP.setDir(turn(src.dir, -90)) - user.visible_message("[user] inserts [R].", "You insert [R].") + user.visible_message(span_notice("[user] inserts [R]."), span_notice("You insert [R].")) qdel(R) @@ -69,10 +69,10 @@ var/mob/living/GM = user.pulling if(user.grab_state >= GRAB_AGGRESSIVE) if(GM.buckled || GM.has_buckled_mobs()) - to_chat(user, "[GM] is attached to something!") + to_chat(user, span_warning("[GM] is attached to something!")) return for(var/obj/structure/transit_tube_pod/pod in loc) - pod.visible_message("[user] starts putting [GM] into the [pod]!") + pod.visible_message(span_warning("[user] starts putting [GM] into the [pod]!")) if(do_after(user, 15, target = src)) if(open_status == STATION_TUBE_OPEN && GM && user.grab_state >= GRAB_AGGRESSIVE && user.pulling == GM && !GM.buckled && !GM.has_buckled_mobs()) GM.Paralyze(100) @@ -86,7 +86,7 @@ else if(open_status == STATION_TUBE_OPEN) if(pod.contents.len && user.loc != pod) - user.visible_message("[user] starts emptying [pod]'s contents onto the floor.", "You start emptying [pod]'s contents onto the floor...") + user.visible_message(span_notice("[user] starts emptying [pod]'s contents onto the floor."), span_notice("You start emptying [pod]'s contents onto the floor...")) if(do_after(user, 10, target = src)) //So it doesn't default to close_animation() on fail if(pod && pod.loc == loc) for(var/atom/movable/AM in pod) @@ -249,13 +249,13 @@ /obj/structure/transit_tube/station/dispenser/examine(mob/user) . = ..() - . += "This station will create a pod for you to ride, no need to wait for one." + . += span_notice("This station will create a pod for you to ride, no need to wait for one.") /obj/structure/transit_tube/station/dispenser/Bumped(atom/movable/AM) if(!(istype(AM) && AM.dir == boarding_dir)) return var/obj/structure/transit_tube_pod/dispensed/pod = new(loc) - AM.visible_message("[pod] forms around [AM].", "[pod] materializes around you.") + AM.visible_message(span_notice("[pod] forms around [AM]."), span_notice("[pod] materializes around you.")) playsound(src, 'sound/weapons/emitter2.ogg', 50, TRUE) pod.setDir(turn(src.dir, -90)) AM.forceMove(pod) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index e3a8e2e008a..28f36f10163 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -35,11 +35,11 @@ if(W.tool_behaviour == TOOL_WRENCH) if(tube_construction) for(var/obj/structure/transit_tube_pod/pod in src.loc) - to_chat(user, "Remove the pod first!") + to_chat(user, span_warning("Remove the pod first!")) return - user.visible_message("[user] starts to detach \the [src].", "You start to detach the [name]...") + user.visible_message(span_notice("[user] starts to detach \the [src]."), span_notice("You start to detach the [name]...")) if(W.use_tool(src, user, 2 SECONDS, volume=50)) - to_chat(user, "You detach the [name].") + to_chat(user, span_notice("You detach the [name].")) var/obj/structure/c_transit_tube/R = new tube_construction(loc) R.setDir(dir) transfer_fingerprints_to(R) diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm index 9ed25a0bafb..e2e7348ccfb 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm @@ -20,7 +20,7 @@ for(var/obj/structure/transit_tube/tube in source_turf) existing_tubes +=1 if(existing_tubes >= 2) - to_chat(user, "You cannot wrench any more transit tubes! ") + to_chat(user, "[span_warning("You cannot wrench any more transit tubes!")] ") return FALSE return TRUE @@ -43,10 +43,10 @@ ..() if(!can_wrench_in_loc(user)) return - to_chat(user, "You start attaching the [name]...") + to_chat(user, span_notice("You start attaching the [name]...")) add_fingerprint(user) if(I.use_tool(src, user, 2 SECONDS, volume=50, extra_checks=CALLBACK(src, .proc/can_wrench_in_loc, user))) - to_chat(user, "You attach the [name].") + to_chat(user, span_notice("You attach the [name].")) var/obj/structure/transit_tube/R = new build_type(loc, dir) transfer_fingerprints_to(R) qdel(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 9100bfbd6c4..ae678c8496b 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -39,7 +39,7 @@ if(!moving) I.play_tool_sound(src) if(contents.len) - user.visible_message("[user] empties \the [src].", "You empty \the [src].") + user.visible_message(span_notice("[user] empties \the [src]."), span_notice("You empty \the [src].")) empty_pod() else deconstruct(TRUE, user) @@ -52,7 +52,7 @@ if(user) location = user.loc add_fingerprint(user) - user.visible_message("[user] removes [src].", "You remove [src].") + user.visible_message(span_notice("[user] removes [src]."), span_notice("You remove [src].")) var/obj/structure/c_transit_tube_pod/R = new/obj/structure/c_transit_tube_pod(location) transfer_fingerprints_to(R) R.setDir(dir) @@ -85,9 +85,9 @@ if(!moving) user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - to_chat(user, "You start trying to escape from the pod...") + to_chat(user, span_notice("You start trying to escape from the pod...")) if(do_after(user, 1 MINUTES, target = src)) - to_chat(user, "You manage to open the pod.") + to_chat(user, span_notice("You manage to open the pod.")) empty_pod() /obj/structure/transit_tube_pod/proc/empty_pod(atom/location) @@ -167,7 +167,7 @@ var/list/savedcontents = contents.Copy() var/saveddir = dir var/turf/destination = get_edge_target_turf(src,saveddir) - visible_message("[src] ejects its insides out!") + visible_message(span_warning("[src] ejects its insides out!")) deconstruct(FALSE)//we automatically deconstruct the pod for(var/i in savedcontents) var/atom/movable/AM = i diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index c682c19b02f..a3545776559 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -47,7 +47,7 @@ if(user.mind && (user.mind in immune_minds)) return if(get_dist(user, src) <= 1) - . += "You reveal [src]!" + . += span_notice("You reveal [src]!") flare() /obj/structure/trap/proc/flare() @@ -186,7 +186,7 @@ icon_state = "trap-fire" /obj/structure/trap/fire/trap_effect(mob/living/L) - to_chat(L, "Spontaneous combustion!") + to_chat(L, span_danger("Spontaneous combustion!")) L.Paralyze(20) new /obj/effect/hotspot(get_turf(src)) @@ -196,7 +196,7 @@ icon_state = "trap-frost" /obj/structure/trap/chill/trap_effect(mob/living/L) - to_chat(L, "You're frozen solid!") + to_chat(L, span_danger("You're frozen solid!")) L.Paralyze(20) L.adjust_bodytemperature(-300) L.apply_status_effect(/datum/status_effect/freon) @@ -209,7 +209,7 @@ /obj/structure/trap/damage/trap_effect(mob/living/L) - to_chat(L, "The ground quakes beneath your feet!") + to_chat(L, span_danger("The ground quakes beneath your feet!")) L.Paralyze(100) L.adjustBruteLoss(35) var/obj/structure/flora/rock/giant_rock = new(get_turf(src)) @@ -233,7 +233,7 @@ icon_state = "trap-cult" /obj/structure/trap/cult/trap_effect(mob/living/L) - to_chat(L, "With a crack, the hostile constructs come out of hiding, stunning you!") + to_chat(L, span_danger("With a crack, the hostile constructs come out of hiding, stunning you!")) L.electrocute_act(10, src, flags = SHOCK_NOGLOVES) // electrocute act does a message. L.Paralyze(20) new /mob/living/simple_animal/hostile/construct/proteon/hostile(loc) diff --git a/code/game/objects/structures/votingbox.dm b/code/game/objects/structures/votingbox.dm index fe2f3731209..4fa008b9455 100644 --- a/code/game/objects/structures/votingbox.dm +++ b/code/game/objects/structures/votingbox.dm @@ -28,7 +28,7 @@ if(voting_active) apply_vote(I,user) else - to_chat(user,"[src] is in maintenance mode. Voting is not possible at the moment.") + to_chat(user,span_warning("[src] is in maintenance mode. Voting is not possible at the moment.")) return return ..() @@ -64,7 +64,7 @@ if(!can_interact(user)) return if(!is_operator(user)) - to_chat(user,"Voting box operator authorization required!") + to_chat(user,span_warning("Voting box operator authorization required!")) return if(href_list["act"]) @@ -77,7 +77,7 @@ if("reset_voted") if(voted) voted.Cut() - to_chat(user,"You reset the voter buffer. Everyone can vote again.") + to_chat(user,span_notice("You reset the voter buffer. Everyone can vote again.")) if("raffle") raffle(user) if("shred") @@ -90,7 +90,7 @@ /obj/structure/votebox/proc/register_owner(obj/item/card/id/I,mob/living/user) owner = I - to_chat(user,"You register [src] to your ID card.") + to_chat(user,span_notice("You register [src] to your ID card.")) ui_interact(user) /obj/structure/votebox/proc/set_description(mob/user) @@ -105,16 +105,16 @@ var/obj/item/card/id/voter_card = user.get_idcard() if(id_auth) if(!voter_card) - to_chat(user,"[src] requires a valid ID card to vote!") + to_chat(user,span_warning("[src] requires a valid ID card to vote!")) return if(voted && (voter_card in voted)) - to_chat(user,"[src] allows only one vote per person.") + to_chat(user,span_warning("[src] allows only one vote per person.")) return if(user.transferItemToLoc(I,src)) if(!voted) voted = list() voted += voter_card - to_chat(user,"You cast your vote.") + to_chat(user,span_notice("You cast your vote.")) /obj/structure/votebox/proc/valid_vote(obj/item/paper/I) if(length_char(I.info) > VOTE_TEXT_LIMIT || findtext(I.info,"

Voting Results:


    ")) @@ -124,7 +124,7 @@ /obj/structure/votebox/proc/shred(mob/user) for(var/obj/item/paper/P in contents) qdel(P) - to_chat(user,"You shred the current votes.") + to_chat(user,span_notice("You shred the current votes.")) /obj/structure/votebox/wrench_act(mob/living/user, obj/item/I) . = ..() @@ -134,10 +134,10 @@ /obj/structure/votebox/crowbar_act(mob/living/user, obj/item/I) . = ..() if(voting_active) - to_chat(user,"You can only retrieve votes if maintenance mode is active!") + to_chat(user,span_warning("You can only retrieve votes if maintenance mode is active!")) return FALSE dump_contents() - to_chat(user,"You open vote retrieval hatch and dump all the votes.") + to_chat(user,span_notice("You open vote retrieval hatch and dump all the votes.")) return TRUE /obj/structure/votebox/dump_contents() @@ -158,7 +158,7 @@ else var/obj/item/paper/P = pick(options) user.put_in_hands(P) - to_chat(user,"[src] pops out random vote.") + to_chat(user,span_notice("[src] pops out random vote.")) /obj/structure/votebox/proc/print_tally(mob/user) var/list/results = list() @@ -207,7 +207,7 @@ P.name = "Voting Results" P.update_appearance() user.put_in_hands(P) - to_chat(user,"[src] prints out the voting tally.") + to_chat(user,span_notice("[src] prints out the voting tally.")) /obj/structure/votebox/update_icon_state() icon_state = "votebox_[voting_active ? "active" : "maint"]" diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index f35e891250d..79e0fe566ed 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -25,7 +25,7 @@ if(swirlie) user.changeNext_move(CLICK_CD_MELEE) playsound(src.loc, "swing_hit", 25, TRUE) - swirlie.visible_message("[user] slams the toilet seat onto [swirlie]'s head!", "[user] slams the toilet seat onto your head!", "You hear reverberating porcelain.") + swirlie.visible_message(span_danger("[user] slams the toilet seat onto [swirlie]'s head!"), span_userdanger("[user] slams the toilet seat onto your head!"), span_hear("You hear reverberating porcelain.")) log_combat(user, swirlie, "swirlied (brute)") swirlie.adjustBruteLoss(5) @@ -34,15 +34,15 @@ var/mob/living/GM = user.pulling if(user.grab_state >= GRAB_AGGRESSIVE) if(GM.loc != get_turf(src)) - to_chat(user, "[GM] needs to be on [src]!") + to_chat(user, span_warning("[GM] needs to be on [src]!")) return if(!swirlie) if(open) - GM.visible_message("[user] starts to give [GM] a swirlie!", "[user] starts to give you a swirlie...") + GM.visible_message(span_danger("[user] starts to give [GM] a swirlie!"), span_userdanger("[user] starts to give you a swirlie...")) swirlie = GM var/was_alive = (swirlie.stat != DEAD) if(do_after(user, 3 SECONDS, target = src, timed_action_flags = IGNORE_HELD_ITEM)) - GM.visible_message("[user] gives [GM] a swirlie!", "[user] gives you a swirlie!", "You hear a toilet flushing.") + GM.visible_message(span_danger("[user] gives [GM] a swirlie!"), span_userdanger("[user] gives you a swirlie!"), span_hear("You hear a toilet flushing.")) if(iscarbon(GM)) var/mob/living/carbon/C = GM if(!C.internal) @@ -56,22 +56,22 @@ swirlie = null else playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE) - GM.visible_message("[user] slams [GM.name] into [src]!", "[user] slams you into [src]!") + GM.visible_message(span_danger("[user] slams [GM.name] into [src]!"), span_userdanger("[user] slams you into [src]!")) log_combat(user, GM, "toilet slammed") GM.adjustBruteLoss(5) else - to_chat(user, "You need a tighter grip!") + to_chat(user, span_warning("You need a tighter grip!")) else if(cistern && !open && user.CanReach(src)) if(!contents.len) - to_chat(user, "The cistern is empty.") + to_chat(user, span_notice("The cistern is empty.")) else var/obj/item/I = pick(contents) if(ishuman(user)) user.put_in_hands(I) else I.forceMove(drop_location()) - to_chat(user, "You find [I] in the cistern.") + to_chat(user, span_notice("You find [I] in the cistern.")) w_items -= I.w_class else open = !open @@ -97,10 +97,10 @@ /obj/structure/toilet/attackby(obj/item/I, mob/living/user, params) add_fingerprint(user) if(I.tool_behaviour == TOOL_CROWBAR) - to_chat(user, "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...") + to_chat(user, span_notice("You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...")) playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE) 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.") + user.visible_message(span_notice("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!"), span_notice("You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"), span_hear("You hear grinding porcelain.")) cistern = !cistern update_appearance() else if(I.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) @@ -108,16 +108,16 @@ deconstruct() else if(cistern && !user.combat_mode) if(I.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user, "[I] does not fit!") + to_chat(user, span_warning("[I] does not fit!")) return if(w_items + I.w_class > WEIGHT_CLASS_HUGE) - to_chat(user, "The cistern is full!") + to_chat(user, span_warning("The cistern is full!")) return if(!user.transferItemToLoc(I, src)) - to_chat(user, "\The [I] is stuck to your hand, you cannot put it in the cistern!") + to_chat(user, span_warning("\The [I] is stuck to your hand, you cannot put it in the cistern!")) return w_items += I.w_class - to_chat(user, "You carefully place [I] into the cistern.") + to_chat(user, span_notice("You carefully place [I] into the cistern.")) else if(istype(I, /obj/item/reagent_containers) && !user.combat_mode) if (!open) @@ -128,7 +128,7 @@ return var/obj/item/reagent_containers/RG = I RG.reagents.add_reagent(/datum/reagent/water, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - to_chat(user, "You fill [RG] from [src]. Gross.") + to_chat(user, span_notice("You fill [RG] from [src]. Gross.")) . = ..() /obj/structure/toilet/secret @@ -185,23 +185,23 @@ var/mob/living/GM = user.pulling if(user.grab_state >= GRAB_AGGRESSIVE) if(GM.loc != get_turf(src)) - to_chat(user, "[GM.name] needs to be on [src].") + to_chat(user, span_notice("[GM.name] needs to be on [src].")) return user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] slams [GM] into [src]!", "You slam [GM] into [src]!") + user.visible_message(span_danger("[user] slams [GM] into [src]!"), span_danger("You slam [GM] into [src]!")) GM.adjustBruteLoss(8) else - to_chat(user, "You need a tighter grip!") + to_chat(user, span_warning("You need a tighter grip!")) else if(exposed) if(!hiddenitem) - to_chat(user, "There is nothing in the drain holder!") + to_chat(user, span_warning("There is nothing in the drain holder!")) else if(ishuman(user)) user.put_in_hands(hiddenitem) else hiddenitem.forceMove(get_turf(src)) - to_chat(user, "You fish [hiddenitem] out of the drain enclosure.") + to_chat(user, span_notice("You fish [hiddenitem] out of the drain enclosure.")) hiddenitem = null else ..() @@ -209,28 +209,28 @@ /obj/structure/urinal/attackby(obj/item/I, mob/living/user, params) if(exposed) if (hiddenitem) - to_chat(user, "There is already something in the drain enclosure!") + to_chat(user, span_warning("There is already something in the drain enclosure!")) return if(I.w_class > 1) - to_chat(user, "[I] is too large for the drain enclosure.") + to_chat(user, span_warning("[I] is too large for the drain enclosure.")) return if(!user.transferItemToLoc(I, src)) - to_chat(user, "\[I] is stuck to your hand, you cannot put it in the drain enclosure!") + to_chat(user, span_warning("\[I] is stuck to your hand, you cannot put it in the drain enclosure!")) return hiddenitem = I - to_chat(user, "You place [I] into the drain enclosure.") + to_chat(user, span_notice("You place [I] into the drain enclosure.")) else return ..() /obj/structure/urinal/screwdriver_act(mob/living/user, obj/item/I) if(..()) return TRUE - to_chat(user, "You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]...") + to_chat(user, span_notice("You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]...")) playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE) if(I.use_tool(src, user, 20)) - user.visible_message("[user] [exposed ? "screws the cap back into place" : "unscrew the cap to the drain protector"]!", - "You [exposed ? "screw the cap back into place" : "unscrew the cap on the drain"]!", - "You hear metal and squishing noises.") + user.visible_message(span_notice("[user] [exposed ? "screws the cap back into place" : "unscrew the cap to the drain protector"]!"), + span_notice("You [exposed ? "screw the cap back into place" : "unscrew the cap on the drain"]!"), + span_hear("You hear metal and squishing noises.")) exposed = !exposed return TRUE @@ -245,7 +245,7 @@ foodtypes = TOXIC | GROSS /obj/item/food/urinalcake/attack_self(mob/living/user) - user.visible_message("[user] squishes [src]!", "You squish [src].", "You hear a squish.") + user.visible_message(span_notice("[user] squishes [src]!"), span_notice("You squish [src]."), "You hear a squish.") icon_state = "urinalcake_squish" addtimer(VARSET_CALLBACK(src, icon_state, "urinalcake"), 8) @@ -292,7 +292,7 @@ /obj/structure/sink/examine(mob/user) . = ..() - . += "[reagents.total_volume]/[reagents.maximum_volume] liquids remaining." + . += span_notice("[reagents.total_volume]/[reagents.maximum_volume] liquids remaining.") /obj/structure/sink/attack_hand(mob/living/user, list/modifiers) . = ..() @@ -305,17 +305,17 @@ if(!Adjacent(user)) return if(reagents.total_volume < 5) - to_chat(user, "The sink has no more contents left!") + to_chat(user, span_warning("The sink has no more contents left!")) return if(busy) - to_chat(user, "Someone's already washing here!") + to_chat(user, span_warning("Someone's already washing here!")) return var/selected_area = parse_zone(user.zone_selected) var/washing_face = 0 if(selected_area in list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES)) washing_face = 1 - user.visible_message("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]...", \ - "You start washing your [washing_face ? "face" : "hands"]...") + user.visible_message(span_notice("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \ + span_notice("You start washing your [washing_face ? "face" : "hands"]...")) busy = TRUE if(!do_after(user, 40, target = src)) @@ -332,31 +332,31 @@ else if(ishuman(user)) var/mob/living/carbon/human/human_user = user if(!human_user.wash_hands(CLEAN_WASH)) - to_chat(user, "Your hands are covered by something!") + to_chat(user, span_warning("Your hands are covered by something!")) return else user.wash(CLEAN_WASH) - user.visible_message("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src].", \ - "You wash your [washing_face ? "face" : "hands"] using [src].") + user.visible_message(span_notice("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \ + span_notice("You wash your [washing_face ? "face" : "hands"] using [src].")) /obj/structure/sink/attackby(obj/item/O, mob/living/user, params) if(busy) - to_chat(user, "Someone's already washing here!") + to_chat(user, span_warning("Someone's already washing here!")) return if(istype(O, /obj/item/reagent_containers)) var/obj/item/reagent_containers/RG = O if(reagents.total_volume <= 0) - to_chat(user, "\The [src] is dry.") + to_chat(user, span_notice("\The [src] is dry.")) return FALSE if(RG.is_refillable()) if(!RG.reagents.holder_full()) reagents.trans_to(RG, RG.amount_per_transfer_from_this, transfered_by = user) begin_reclamation() - to_chat(user, "You fill [RG] from [src].") + to_chat(user, span_notice("You fill [RG] from [src].")) return TRUE - to_chat(user, "\The [RG] is full.") + to_chat(user, span_notice("\The [RG] is full.")) return FALSE if(istype(O, /obj/item/melee/baton)) @@ -366,18 +366,18 @@ user.Paralyze(B.stun_time) user.stuttering = B.stun_time/20 B.deductcharge(B.cell_hit_cost) - user.visible_message("[user] shocks [user.p_them()]self while attempting to wash the active [B.name]!", \ - "You unwisely attempt to wash [B] while it's still on.") + user.visible_message(span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [B.name]!"), \ + span_userdanger("You unwisely attempt to wash [B] while it's still on.")) playsound(src, B.stun_sound, 50, TRUE) return if(istype(O, /obj/item/mop)) if(reagents.total_volume <= 0) - to_chat(user, "\The [src] is dry.") + to_chat(user, span_notice("\The [src] is dry.")) return FALSE reagents.trans_to(O, 5, transfered_by = user) begin_reclamation() - to_chat(user, "You wet [O] in [src].") + to_chat(user, span_notice("You wet [O] in [src].")) playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) return @@ -389,20 +389,20 @@ if(istype(O, /obj/item/stack/medical/gauze)) var/obj/item/stack/medical/gauze/G = O new /obj/item/reagent_containers/glass/rag(src.loc) - to_chat(user, "You tear off a strip of gauze and make a rag.") + to_chat(user, span_notice("You tear off a strip of gauze and make a rag.")) G.use(1) return if(istype(O, /obj/item/stack/sheet/cloth)) var/obj/item/stack/sheet/cloth/cloth = O new /obj/item/reagent_containers/glass/rag(loc) - to_chat(user, "You tear off a strip of cloth and make a rag.") + to_chat(user, span_notice("You tear off a strip of cloth and make a rag.")) cloth.use(1) return if(istype(O, /obj/item/stack/ore/glass)) new /obj/item/stack/sheet/sandblock(loc) - to_chat(user, "You wet the sand in the sink and form it into a block.") + to_chat(user, span_notice("You wet the sand in the sink and form it into a block.")) O.use(1) return @@ -412,7 +412,7 @@ return if(!user.combat_mode) - to_chat(user, "You start washing [O]...") + to_chat(user, span_notice("You start washing [O]...")) busy = TRUE if(!do_after(user, 40, target = src)) busy = FALSE @@ -420,8 +420,8 @@ busy = FALSE O.wash(CLEAN_WASH) reagents.expose(O, TOUCH, 5 / max(reagents.total_volume, 5)) - user.visible_message("[user] washes [O] using [src].", \ - "You wash [O] using [src].") + user.visible_message(span_notice("[user] washes [O] using [src]."), \ + span_notice("You wash [O] using [src].")) return 1 else return ..() @@ -474,7 +474,7 @@ /obj/structure/sinkframe/proc/can_be_rotated(mob/user, rotation_type) if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, span_warning("It is fastened to the floor!")) return !anchored /obj/structure/sinkframe/attackby(obj/item/I, mob/living/user, params) @@ -508,14 +508,14 @@ return if(busy) - to_chat(user, "Someone's already washing here!") + to_chat(user, span_warning("Someone's already washing here!")) return var/selected_area = parse_zone(user.zone_selected) var/washing_face = FALSE if(selected_area in list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES)) washing_face = TRUE - user.visible_message("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]...", \ - "You start washing your [washing_face ? "face" : "hands"]...") + user.visible_message(span_notice("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \ + span_notice("You start washing your [washing_face ? "face" : "hands"]...")) busy = TRUE if(!do_after(user, 4 SECONDS, target = src)) @@ -530,17 +530,17 @@ else if(ishuman(user)) var/mob/living/carbon/human/human_user = user if(!human_user.wash_hands(CLEAN_WASH)) - to_chat(user, "Your hands are covered by something!") + to_chat(user, span_warning("Your hands are covered by something!")) return else user.wash(CLEAN_WASH) - user.visible_message("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src].", \ - "You wash your [washing_face ? "face" : "hands"] using [src].") + user.visible_message(span_notice("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \ + span_notice("You wash your [washing_face ? "face" : "hands"] using [src].")) /obj/structure/water_source/attackby(obj/item/O, mob/living/user, params) if(busy) - to_chat(user, "Someone's already washing here!") + to_chat(user, span_warning("Someone's already washing here!")) return if(istype(O, /obj/item/reagent_containers)) @@ -548,9 +548,9 @@ if(container.is_refillable()) if(!container.reagents.holder_full()) container.reagents.add_reagent(dispensedreagent, min(container.volume - container.reagents.total_volume, container.amount_per_transfer_from_this)) - to_chat(user, "You fill [container] from [src].") + to_chat(user, span_notice("You fill [container] from [src].")) return TRUE - to_chat(user, "\The [container] is full.") + to_chat(user, span_notice("\The [container] is full.")) return FALSE if(istype(O, /obj/item/melee/baton)) @@ -560,34 +560,34 @@ user.Paralyze(baton.stun_time) user.stuttering = baton.stun_time * 0.05 baton.deductcharge(baton.cell_hit_cost) - user.visible_message("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!", \ - "You unwisely attempt to wash [baton] while it's still on.") + user.visible_message(span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!"), \ + span_userdanger("You unwisely attempt to wash [baton] while it's still on.")) playsound(src, baton.stun_sound, 50, TRUE) return if(istype(O, /obj/item/mop)) O.reagents.add_reagent(dispensedreagent, 5) - to_chat(user, "You wet [O] in [src].") + to_chat(user, span_notice("You wet [O] in [src].")) playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) return if(istype(O, /obj/item/stack/medical/gauze)) var/obj/item/stack/medical/gauze/G = O new /obj/item/reagent_containers/glass/rag(loc) - to_chat(user, "You tear off a strip of gauze and make a rag.") + to_chat(user, span_notice("You tear off a strip of gauze and make a rag.")) G.use(1) return if(istype(O, /obj/item/stack/sheet/cloth)) var/obj/item/stack/sheet/cloth/cloth = O new /obj/item/reagent_containers/glass/rag(loc) - to_chat(user, "You tear off a strip of cloth and make a rag.") + to_chat(user, span_notice("You tear off a strip of cloth and make a rag.")) cloth.use(1) return if(istype(O, /obj/item/stack/ore/glass)) new /obj/item/stack/sheet/sandblock(loc) - to_chat(user, "You wet the sand and form it into a block.") + to_chat(user, span_notice("You wet the sand and form it into a block.")) O.use(1) return @@ -595,7 +595,7 @@ return if(!user.combat_mode) - to_chat(user, "You start washing [O]...") + to_chat(user, span_notice("You start washing [O]...")) busy = TRUE if(!do_after(user, 4 SECONDS, target = src)) busy = FALSE @@ -603,8 +603,8 @@ busy = FALSE O.wash(CLEAN_WASH) reagents.expose(O, TOUCH, 5 / max(reagents.total_volume, 5)) - user.visible_message("[user] washes [O] using [src].", \ - "You wash [O] using [src].") + user.visible_message(span_notice("[user] washes [O] using [src]."), \ + span_notice("You wash [O] using [src].")) return TRUE return ..() @@ -686,10 +686,10 @@ if(anchored) return TRUE - user.visible_message("[user] cuts apart [src].", - "You start to cut apart [src].", "You hear cutting.") + user.visible_message(span_warning("[user] cuts apart [src]."), + span_notice("You start to cut apart [src]."), span_hear("You hear cutting.")) if(I.use_tool(src, user, 50, volume=100) && !anchored) - to_chat(user, "You cut apart [src].") + to_chat(user, span_notice("You cut apart [src].")) deconstruct() return TRUE diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index eddea789005..efe5503f1de 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -93,11 +93,11 @@ if(!W.tool_start_check(user, amount=0)) return - user.visible_message("[user] disassembles the windoor assembly.", - "You start to disassemble the windoor assembly...") + user.visible_message(span_notice("[user] disassembles the windoor assembly."), + span_notice("You start to disassemble the windoor assembly...")) if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You disassemble the windoor assembly.") + to_chat(user, span_notice("You disassemble the windoor assembly.")) var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5) RG.add_fingerprint(user) if(secure) @@ -110,19 +110,19 @@ if(W.tool_behaviour == TOOL_WRENCH && !anchored) for(var/obj/machinery/door/window/WD in loc) if(WD.dir == dir) - to_chat(user, "There is already a windoor in that location!") + to_chat(user, span_warning("There is already a windoor in that location!")) return - user.visible_message("[user] secures the windoor assembly to the floor.", - "You start to secure the windoor assembly to the floor...") + user.visible_message(span_notice("[user] secures the windoor assembly to the floor."), + span_notice("You start to secure the windoor assembly to the floor...")) if(W.use_tool(src, user, 40, volume=100)) if(anchored) return for(var/obj/machinery/door/window/WD in loc) if(WD.dir == dir) - to_chat(user, "There is already a windoor in that location!") + to_chat(user, span_warning("There is already a windoor in that location!")) return - to_chat(user, "You secure the windoor assembly.") + to_chat(user, span_notice("You secure the windoor assembly.")) set_anchored(TRUE) if(secure) name = "secure anchored windoor assembly" @@ -131,13 +131,13 @@ //Unwrenching an unsecure assembly un-anchors it. Step 4 undone else if(W.tool_behaviour == TOOL_WRENCH && anchored) - user.visible_message("[user] unsecures the windoor assembly to the floor.", - "You start to unsecure the windoor assembly to the floor...") + user.visible_message(span_notice("[user] unsecures the windoor assembly to the floor."), + span_notice("You start to unsecure the windoor assembly to the floor...")) if(W.use_tool(src, user, 40, volume=100)) if(!anchored) return - to_chat(user, "You unsecure the windoor assembly.") + to_chat(user, span_notice("You unsecure the windoor assembly.")) set_anchored(FALSE) if(secure) name = "secure windoor assembly" @@ -148,16 +148,16 @@ else if(istype(W, /obj/item/stack/sheet/plasteel) && !secure) var/obj/item/stack/sheet/plasteel/P = W if(P.get_amount() < 2) - to_chat(user, "You need more plasteel to do this!") + to_chat(user, span_warning("You need more plasteel to do this!")) return - to_chat(user, "You start to reinforce the windoor with plasteel...") + to_chat(user, span_notice("You start to reinforce the windoor with plasteel...")) if(do_after(user,40, target = src)) if(!src || secure || P.get_amount() < 2) return P.use(2) - to_chat(user, "You reinforce the windoor.") + to_chat(user, span_notice("You reinforce the windoor.")) secure = TRUE if(anchored) name = "secure anchored windoor assembly" @@ -166,16 +166,16 @@ //Adding cable to the assembly. Step 5 complete. else if(istype(W, /obj/item/stack/cable_coil) && anchored) - user.visible_message("[user] wires the windoor assembly.", "You start to wire the windoor assembly...") + user.visible_message(span_notice("[user] wires the windoor assembly."), span_notice("You start to wire the windoor assembly...")) if(do_after(user, 40, target = src)) if(!src || !anchored || src.state != "01") return var/obj/item/stack/cable_coil/CC = W if(!CC.use(1)) - to_chat(user, "You need more cable to do this!") + to_chat(user, span_warning("You need more cable to do this!")) return - to_chat(user, "You wire the windoor.") + to_chat(user, span_notice("You wire the windoor.")) state = "02" if(secure) name = "secure wired windoor assembly" @@ -188,13 +188,13 @@ //Removing wire from the assembly. Step 5 undone. if(W.tool_behaviour == TOOL_WIRECUTTER) - user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly...") + user.visible_message(span_notice("[user] cuts the wires from the airlock assembly."), span_notice("You start to cut the wires from airlock assembly...")) if(W.use_tool(src, user, 40, volume=100)) if(state != "02") return - to_chat(user, "You cut the windoor wires.") + to_chat(user, span_notice("You cut the windoor wires.")) new/obj/item/stack/cable_coil(get_turf(user), 1) state = "01" if(secure) @@ -207,14 +207,14 @@ if(!user.transferItemToLoc(W, src)) return W.play_tool_sound(src, 100) - user.visible_message("[user] installs the electronics into the airlock assembly.", - "You start to install electronics into the airlock assembly...") + user.visible_message(span_notice("[user] installs the electronics into the airlock assembly."), + span_notice("You start to install electronics into the airlock assembly...")) if(do_after(user, 40, target = src)) if(!src || electronics) W.forceMove(drop_location()) return - to_chat(user, "You install the airlock electronics.") + to_chat(user, span_notice("You install the airlock electronics.")) name = "near finished windoor assembly" electronics = W else @@ -225,11 +225,11 @@ if(!electronics) return - user.visible_message("[user] removes the electronics from the airlock assembly.", - "You start to uninstall electronics from the airlock assembly...") + user.visible_message(span_notice("[user] removes the electronics from the airlock assembly."), + span_notice("You start to uninstall electronics from the airlock assembly...")) if(W.use_tool(src, user, 40, volume=100) && electronics) - to_chat(user, "You remove the airlock electronics.") + to_chat(user, span_notice("You remove the airlock electronics.")) name = "wired windoor assembly" var/obj/item/electronics/airlock/ae ae = electronics @@ -250,16 +250,16 @@ //Crowbar to complete the assembly, Step 7 complete. else if(W.tool_behaviour == TOOL_CROWBAR) if(!electronics) - to_chat(usr, "The assembly is missing electronics!") + to_chat(usr, span_warning("The assembly is missing electronics!")) return user << browse(null, "window=windoor_access") - user.visible_message("[user] pries the windoor into the frame.", - "You start prying the windoor into the frame...") + user.visible_message(span_notice("[user] pries the windoor into the frame."), + span_notice("You start prying the windoor into the frame...")) if(W.use_tool(src, user, 40, volume=100) && electronics) density = TRUE //Shouldn't matter but just incase - to_chat(user, "You finish the windoor.") + to_chat(user, span_notice("You finish the windoor.")) if(secure) var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(loc) @@ -322,12 +322,12 @@ /obj/structure/windoor_assembly/proc/can_be_rotated(mob/user,rotation_type) if(anchored) - to_chat(user, "[src] cannot be rotated while it is fastened to the floor!") + to_chat(user, span_warning("[src] cannot be rotated while it is fastened to the floor!")) return FALSE var/target_dir = turn(dir, rotation_type == ROTATION_CLOCKWISE ? -90 : 90) if(!valid_window_location(loc, target_dir, is_fulltile = FALSE)) - to_chat(user, "[src] cannot be rotated in that direction!") + to_chat(user, span_warning("[src] cannot be rotated in that direction!")) return FALSE return TRUE @@ -348,11 +348,11 @@ return if(facing == "l") - to_chat(usr, "The windoor will now slide to the right.") + to_chat(usr, span_notice("The windoor will now slide to the right.")) facing = "r" else facing = "l" - to_chat(usr, "The windoor will now slide to the left.") + to_chat(usr, span_notice("The windoor will now slide to the left.")) update_appearance() return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 53410eb1e85..85ef6282693 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -36,18 +36,18 @@ . = ..() if(reinf) if(anchored && state == WINDOW_SCREWED_TO_FRAME) - . += "The window is screwed to the frame." + . += span_notice("The window is screwed to the frame.") else if(anchored && state == WINDOW_IN_FRAME) - . += "The window is unscrewed but pried into the frame." + . += span_notice("The window is unscrewed but pried into the frame.") else if(anchored && state == WINDOW_OUT_OF_FRAME) - . += "The window is out of the frame, but could be pried in. It is screwed to the floor." + . += span_notice("The window is out of the frame, but could be pried in. It is screwed to the floor.") else if(!anchored) - . += "The window is unscrewed from the floor, and could be deconstructed by wrenching." + . += span_notice("The window is unscrewed from the floor, and could be deconstructed by wrenching.") else if(anchored) - . += "The window is screwed to the floor." + . += span_notice("The window is screwed to the floor.") else - . += "The window is unscrewed from the floor, and could be deconstructed by wrenching." + . += span_notice("The window is unscrewed from the floor, and could be deconstructed by wrenching.") /obj/structure/window/Initialize(mapload, direct) . = ..() @@ -89,7 +89,7 @@ /obj/structure/window/rcd_act(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct the window.") + to_chat(user, span_notice("You deconstruct the window.")) qdel(src) return TRUE return FALSE @@ -139,7 +139,7 @@ /obj/structure/window/attack_tk(mob/user) user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("Something knocks on [src].") + user.visible_message(span_notice("Something knocks on [src].")) add_fingerprint(user) playsound(src, knocksound, 50, TRUE) return COMPONENT_CANCEL_ATTACK_CHAIN @@ -159,12 +159,12 @@ user.changeNext_move(CLICK_CD_MELEE) if(!user.combat_mode) - user.visible_message("[user] knocks on [src].", \ - "You knock on [src].") + user.visible_message(span_notice("[user] knocks on [src]."), \ + span_notice("You knock on [src].")) playsound(src, knocksound, 50, TRUE) else - user.visible_message("[user] bashes [src]!", \ - "You bash [src]!") + user.visible_message(span_warning("[user] bashes [src]!"), \ + span_warning("You bash [src]!")) playsound(src, bashsound, 100, TRUE) /obj/structure/window/attack_paw(mob/user, list/modifiers) @@ -186,36 +186,36 @@ if(!I.tool_start_check(user, amount = 0)) return - to_chat(user, "You begin repairing [src]...") + to_chat(user, span_notice("You begin repairing [src]...")) if(I.use_tool(src, user, 40, volume = 50)) obj_integrity = max_integrity update_nearby_icons() - to_chat(user, "You repair [src].") + to_chat(user, span_notice("You repair [src].")) else - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return if(!(flags_1&NODECONSTRUCT_1) && !(reinf && state >= RWINDOW_FRAME_BOLTED)) if(I.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...") + to_chat(user, span_notice("You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...")) if(I.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored))) set_anchored(!anchored) - to_chat(user, "You [anchored ? "fasten the window to":"unfasten the window from"] the floor.") + to_chat(user, span_notice("You [anchored ? "fasten the window to":"unfasten the window from"] the floor.")) return else if(I.tool_behaviour == TOOL_WRENCH && !anchored) - to_chat(user, "You begin to disassemble [src]...") + to_chat(user, span_notice("You begin to disassemble [src]...")) if(I.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount) G.add_fingerprint(user) playsound(src, 'sound/items/Deconstruct.ogg', 50, TRUE) - to_chat(user, "You successfully disassemble [src].") + to_chat(user, span_notice("You successfully disassemble [src].")) qdel(src) return else if(I.tool_behaviour == TOOL_CROWBAR && reinf && (state == WINDOW_OUT_OF_FRAME) && anchored) - to_chat(user, "You begin to lever the window into the frame...") + to_chat(user, span_notice("You begin to lever the window into the frame...")) if(I.use_tool(src, user, 100, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) state = RWINDOW_SECURE - to_chat(user, "You pry the window into the frame.") + to_chat(user, span_notice("You pry the window into the frame.")) return return ..() @@ -282,13 +282,13 @@ /obj/structure/window/proc/can_be_rotated(mob/user,rotation_type) if(anchored) - to_chat(user, "[src] cannot be rotated while it is fastened to the floor!") + to_chat(user, span_warning("[src] cannot be rotated while it is fastened to the floor!")) return FALSE var/target_dir = turn(dir, rotation_type == ROTATION_CLOCKWISE ? -90 : 90) if(!valid_window_location(loc, target_dir, is_fulltile = fulltile)) - to_chat(user, "[src] cannot be rotated in that direction!") + to_chat(user, span_warning("[src] cannot be rotated in that direction!")) return FALSE return TRUE @@ -401,76 +401,76 @@ if(tool.tool_behaviour == TOOL_WELDER) var/obj/item/weldingtool/welder = tool if(welder.isOn()) - user.visible_message("[user] holds \the [tool] to the security screws on \the [src]...", - "You begin heating the security screws on \the [src]...") + user.visible_message(span_notice("[user] holds \the [tool] to the security screws on \the [src]..."), + span_notice("You begin heating the security screws on \the [src]...")) if(tool.use_tool(src, user, 150, volume = 100)) - to_chat(user, "The security screws are glowing white hot and look ready to be removed.") + to_chat(user, span_notice("The security screws are glowing white hot and look ready to be removed.")) state = RWINDOW_BOLTS_HEATED addtimer(CALLBACK(src, .proc/cool_bolts), 300) else if (tool.tool_behaviour) - to_chat(user, "The security screws need to be heated first!") + to_chat(user, span_warning("The security screws need to be heated first!")) if(RWINDOW_BOLTS_HEATED) if(tool.tool_behaviour == TOOL_SCREWDRIVER) - user.visible_message("[user] digs into the heated security screws and starts removing them...", - "You dig into the heated screws hard and they start turning...") + user.visible_message(span_notice("[user] digs into the heated security screws and starts removing them..."), + span_notice("You dig into the heated screws hard and they start turning...")) if(tool.use_tool(src, user, 50, volume = 50)) state = RWINDOW_BOLTS_OUT - to_chat(user, "The screws come out, and a gap forms around the edge of the pane.") + to_chat(user, span_notice("The screws come out, and a gap forms around the edge of the pane.")) else if (tool.tool_behaviour) - to_chat(user, "The security screws need to be removed first!") + to_chat(user, span_warning("The security screws need to be removed first!")) if(RWINDOW_BOLTS_OUT) if(tool.tool_behaviour == TOOL_CROWBAR) - user.visible_message("[user] wedges \the [tool] into the gap in the frame and starts prying...", - "You wedge \the [tool] into the gap in the frame and start prying...") + user.visible_message(span_notice("[user] wedges \the [tool] into the gap in the frame and starts prying..."), + span_notice("You wedge \the [tool] into the gap in the frame and start prying...")) if(tool.use_tool(src, user, 40, volume = 50)) state = RWINDOW_POPPED - to_chat(user, "The panel pops out of the frame, exposing some thin metal bars that looks like they can be cut.") + to_chat(user, span_notice("The panel pops out of the frame, exposing some thin metal bars that looks like they can be cut.")) else if (tool.tool_behaviour) - to_chat(user, "The gap needs to be pried first!") + to_chat(user, span_warning("The gap needs to be pried first!")) if(RWINDOW_POPPED) if(tool.tool_behaviour == TOOL_WIRECUTTER) - user.visible_message("[user] starts cutting the exposed bars on \the [src]...", - "You start cutting the exposed bars on \the [src]") + user.visible_message(span_notice("[user] starts cutting the exposed bars on \the [src]..."), + span_notice("You start cutting the exposed bars on \the [src]")) if(tool.use_tool(src, user, 20, volume = 50)) state = RWINDOW_BARS_CUT - to_chat(user, "The panels falls out of the way exposing the frame bolts.") + to_chat(user, span_notice("The panels falls out of the way exposing the frame bolts.")) else if (tool.tool_behaviour) - to_chat(user, "The bars need to be cut first!") + to_chat(user, span_warning("The bars need to be cut first!")) if(RWINDOW_BARS_CUT) if(tool.tool_behaviour == TOOL_WRENCH) - user.visible_message("[user] starts unfastening \the [src] from the frame...", - "You start unfastening the bolts from the frame...") + user.visible_message(span_notice("[user] starts unfastening \the [src] from the frame..."), + span_notice("You start unfastening the bolts from the frame...")) if(tool.use_tool(src, user, 40, volume = 50)) - to_chat(user, "You unscrew the bolts from the frame and the window pops loose.") + to_chat(user, span_notice("You unscrew the bolts from the frame and the window pops loose.")) state = WINDOW_OUT_OF_FRAME set_anchored(FALSE) else if (tool.tool_behaviour) - to_chat(user, "The bolts need to be loosened first!") + to_chat(user, span_warning("The bolts need to be loosened first!")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /obj/structure/window/proc/cool_bolts() if(state == RWINDOW_BOLTS_HEATED) state = RWINDOW_SECURE - visible_message("The bolts on \the [src] look like they've cooled off...") + visible_message(span_notice("The bolts on \the [src] look like they've cooled off...")) /obj/structure/window/reinforced/examine(mob/user) . = ..() switch(state) if(RWINDOW_SECURE) - . += "It's been screwed in with one way screws, you'd need to heat them to have any chance of backing them out." + . += span_notice("It's been screwed in with one way screws, you'd need to heat them to have any chance of backing them out.") if(RWINDOW_BOLTS_HEATED) - . += "The screws are glowing white hot, and you'll likely be able to unscrew them now." + . += span_notice("The screws are glowing white hot, and you'll likely be able to unscrew them now.") if(RWINDOW_BOLTS_OUT) - . += "The screws have been removed, revealing a small gap you could fit a prying tool in." + . += span_notice("The screws have been removed, revealing a small gap you could fit a prying tool in.") if(RWINDOW_POPPED) - . += "The main plate of the window has popped out of the frame, exposing some bars that look like they can be cut." + . += span_notice("The main plate of the window has popped out of the frame, exposing some bars that look like they can be cut.") if(RWINDOW_BARS_CUT) - . += "The main pane can be easily moved out of the way to reveal some bolts holding the frame in." + . += span_notice("The main pane can be easily moved out of the way to reveal some bolts holding the frame in.") /obj/structure/window/reinforced/spawner/east dir = EAST @@ -542,43 +542,43 @@ switch(state) if(RWINDOW_SECURE) if(I.tool_behaviour == TOOL_WELDER && user.combat_mode) - user.visible_message("[user] holds \the [I] to the security screws on \the [src]...", - "You begin heating the security screws on \the [src]...") + user.visible_message(span_notice("[user] holds \the [I] to the security screws on \the [src]..."), + span_notice("You begin heating the security screws on \the [src]...")) if(I.use_tool(src, user, 180, volume = 100)) - to_chat(user, "The security screws are glowing white hot and look ready to be removed.") + to_chat(user, span_notice("The security screws are glowing white hot and look ready to be removed.")) state = RWINDOW_BOLTS_HEATED addtimer(CALLBACK(src, .proc/cool_bolts), 300) return if(RWINDOW_BOLTS_HEATED) if(I.tool_behaviour == TOOL_SCREWDRIVER) - user.visible_message("[user] digs into the heated security screws and starts removing them...", - "You dig into the heated screws hard and they start turning...") + user.visible_message(span_notice("[user] digs into the heated security screws and starts removing them..."), + span_notice("You dig into the heated screws hard and they start turning...")) if(I.use_tool(src, user, 80, volume = 50)) state = RWINDOW_BOLTS_OUT - to_chat(user, "The screws come out, and a gap forms around the edge of the pane.") + to_chat(user, span_notice("The screws come out, and a gap forms around the edge of the pane.")) return if(RWINDOW_BOLTS_OUT) if(I.tool_behaviour == TOOL_CROWBAR) - user.visible_message("[user] wedges \the [I] into the gap in the frame and starts prying...", - "You wedge \the [I] into the gap in the frame and start prying...") + user.visible_message(span_notice("[user] wedges \the [I] into the gap in the frame and starts prying..."), + span_notice("You wedge \the [I] into the gap in the frame and start prying...")) if(I.use_tool(src, user, 50, volume = 50)) state = RWINDOW_POPPED - to_chat(user, "The panel pops out of the frame, exposing some thin metal bars that looks like they can be cut.") + to_chat(user, span_notice("The panel pops out of the frame, exposing some thin metal bars that looks like they can be cut.")) return if(RWINDOW_POPPED) if(I.tool_behaviour == TOOL_WIRECUTTER) - user.visible_message("[user] starts cutting the exposed bars on \the [src]...", - "You start cutting the exposed bars on \the [src]") + user.visible_message(span_notice("[user] starts cutting the exposed bars on \the [src]..."), + span_notice("You start cutting the exposed bars on \the [src]")) if(I.use_tool(src, user, 30, volume = 50)) state = RWINDOW_BARS_CUT - to_chat(user, "The panels falls out of the way exposing the frame bolts.") + to_chat(user, span_notice("The panels falls out of the way exposing the frame bolts.")) return if(RWINDOW_BARS_CUT) if(I.tool_behaviour == TOOL_WRENCH) - user.visible_message("[user] starts unfastening \the [src] from the frame...", - "You start unfastening the bolts from the frame...") + user.visible_message(span_notice("[user] starts unfastening \the [src] from the frame..."), + span_notice("You start unfastening the bolts from the frame...")) if(I.use_tool(src, user, 50, volume = 50)) - to_chat(user, "You unfasten the bolts from the frame and the window pops loose.") + to_chat(user, span_notice("You unfasten the bolts from the frame and the window pops loose.")) state = WINDOW_OUT_OF_FRAME set_anchored(FALSE) return @@ -588,15 +588,15 @@ . = ..() switch(state) if(RWINDOW_SECURE) - . += "It's been screwed in with one way screws, you'd need to heat them to have any chance of backing them out." + . += span_notice("It's been screwed in with one way screws, you'd need to heat them to have any chance of backing them out.") if(RWINDOW_BOLTS_HEATED) - . += "The screws are glowing white hot, and you'll likely be able to unscrew them now." + . += span_notice("The screws are glowing white hot, and you'll likely be able to unscrew them now.") if(RWINDOW_BOLTS_OUT) - . += "The screws have been removed, revealing a small gap you could fit a prying tool in." + . += span_notice("The screws have been removed, revealing a small gap you could fit a prying tool in.") if(RWINDOW_POPPED) - . += "The main plate of the window has popped out of the frame, exposing some bars that look like they can be cut." + . += span_notice("The main plate of the window has popped out of the frame, exposing some bars that look like they can be cut.") if(RWINDOW_BARS_CUT) - . += "The main pane can be easily moved out of the way to reveal some bolts holding the frame in." + . += span_notice("The main pane can be easily moved out of the way to reveal some bolts holding the frame in.") /obj/structure/window/plasma/reinforced/spawner/east dir = EAST @@ -792,7 +792,7 @@ /obj/structure/window/paperframe/examine(mob/user) . = ..() if(obj_integrity < max_integrity) - . += "It looks a bit damaged, you may be able to fix it with some paper." + . += span_info("It looks a bit damaged, you may be able to fix it with some paper.") /obj/structure/window/paperframe/spawnDebris(location) . = list(new /obj/item/stack/sheet/mineral/wood(location)) @@ -828,11 +828,11 @@ if(user.combat_mode) return ..() if(istype(W, /obj/item/paper) && obj_integrity < max_integrity) - user.visible_message("[user] starts to patch the holes in \the [src].") + user.visible_message(span_notice("[user] starts to patch the holes in \the [src].")) if(do_after(user, 20, target = src)) obj_integrity = min(obj_integrity+4,max_integrity) qdel(W) - user.visible_message("[user] patches some of the holes in \the [src].") + user.visible_message(span_notice("[user] patches some of the holes in \the [src].")) if(obj_integrity == max_integrity) update_appearance() return diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index 54bfb3251c8..82062525828 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -24,7 +24,7 @@ /obj/structure/shuttle/engine/can_be_unfasten_wrench(mob/user, silent) if(state == ENGINE_WELDED) if(!silent) - to_chat(user, "[src] is welded to the floor!") + to_chat(user, span_warning("[src] is welded to the floor!")) return FAILED_UNFASTEN return ..() @@ -45,31 +45,31 @@ . = ..() switch(state) if(ENGINE_UNWRENCHED) - to_chat(user, "The [src.name] needs to be wrenched to the floor!") + to_chat(user, span_warning("The [src.name] needs to be wrenched to the floor!")) if(ENGINE_WRENCHED) if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user.name] starts to weld the [name] to the floor.", \ - "You start to weld \the [src] to the floor...", \ - "You hear welding.") + user.visible_message(span_notice("[user.name] starts to weld the [name] to the floor."), \ + span_notice("You start to weld \the [src] to the floor..."), \ + span_hear("You hear welding.")) if(I.use_tool(src, user, ENGINE_WELDTIME, volume=50)) state = ENGINE_WELDED - to_chat(user, "You weld \the [src] to the floor.") + to_chat(user, span_notice("You weld \the [src] to the floor.")) alter_engine_power(engine_power) if(ENGINE_WELDED) if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user.name] starts to cut the [name] free from the floor.", \ - "You start to cut \the [src] free from the floor...", \ - "You hear welding.") + user.visible_message(span_notice("[user.name] starts to cut the [name] free from the floor."), \ + span_notice("You start to cut \the [src] free from the floor..."), \ + span_hear("You hear welding.")) if(I.use_tool(src, user, ENGINE_WELDTIME, volume=50)) state = ENGINE_WRENCHED - to_chat(user, "You cut \the [src] free from the floor.") + to_chat(user, span_notice("You cut \the [src] free from the floor.")) alter_engine_power(-engine_power) return TRUE diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 33e55d0dd9f..b8c6bf0523f 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -63,7 +63,7 @@ /turf/closed/mineral/attackby(obj/item/I, mob/user, params) if (!ISADVANCEDTOOLUSER(user)) - to_chat(usr, "You don't have the dexterity to do this!") + to_chat(usr, span_warning("You don't have the dexterity to do this!")) return if(I.tool_behaviour == TOOL_MINING) @@ -74,11 +74,11 @@ if(last_act + (40 * I.toolspeed) > world.time)//prevents message spam return last_act = world.time - to_chat(user, "You start picking...") + to_chat(user, span_notice("You start picking...")) if(I.use_tool(src, user, 40, volume=50)) if(ismineralturf(src)) - to_chat(user, "You finish cutting into the rock.") + to_chat(user, span_notice("You finish cutting into the rock.")) gets_drilled(user, TRUE) SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type) else @@ -93,11 +93,11 @@ if(last_act + MINING_MESSAGE_COOLDOWN > world.time)//prevents message spam return last_act = world.time - to_chat(user, "You start pulling out pieces of [src] with your hands...") + to_chat(user, span_notice("You start pulling out pieces of [src] with your hands...")) if(!do_after(user, 15 SECONDS, target = src)) return if(ismineralturf(src)) - to_chat(user, "You finish pulling apart [src].") + to_chat(user, span_notice("You finish pulling apart [src].")) gets_drilled(user) /turf/closed/mineral/proc/gets_drilled(user, give_exp = FALSE) @@ -129,10 +129,10 @@ ..() /turf/closed/mineral/attack_alien(mob/living/carbon/alien/user, list/modifiers) - to_chat(user, "You start digging into the rock...") + to_chat(user, span_notice("You start digging into the rock...")) playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) if(do_after(user, 4 SECONDS, target = src)) - to_chat(user, "You tunnel into the rock.") + to_chat(user, span_notice("You tunnel into the rock.")) gets_drilled(user) /turf/closed/mineral/attack_hulk(mob/living/carbon/human/H) @@ -534,7 +534,7 @@ /turf/closed/mineral/gibtonite/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/mining_scanner) || istype(I, /obj/item/t_scanner/adv_mining_scanner) && stage == 1) - user.visible_message("[user] holds [I] to [src]...", "You use [I] to locate where to cut off the chain reaction and attempt to stop it...") + user.visible_message(span_notice("[user] holds [I] to [src]..."), span_notice("You use [I] to locate where to cut off the chain reaction and attempt to stop it...")) defuse() ..() @@ -545,7 +545,7 @@ name = "gibtonite deposit" desc = "An active gibtonite reserve. Run!" stage = GIBTONITE_ACTIVE - visible_message("There's gibtonite inside! It's going to explode!") + visible_message(span_danger("There's gibtonite inside! It's going to explode!")) var/notify_admins = !is_mining_level(z) @@ -578,7 +578,7 @@ stage = GIBTONITE_STABLE if(det_time < 0) det_time = 0 - visible_message("The chain reaction stopped! The gibtonite had [det_time] reactions left till the explosion!") + visible_message(span_notice("The chain reaction stopped! The gibtonite had [det_time] reactions left till the explosion!")) /turf/closed/mineral/gibtonite/gets_drilled(mob/user, triggered_by_explosion = FALSE) if(stage == GIBTONITE_UNSTRUCK && mineralAmt >= 1) //Gibtonite deposit is activated @@ -644,12 +644,12 @@ /turf/closed/mineral/strong/attackby(obj/item/I, mob/user, params) if(!ishuman(user)) - to_chat(usr, "Only a more advanced species could break a rock such as this one!") + to_chat(usr, span_warning("Only a more advanced species could break a rock such as this one!")) return FALSE if(user.mind?.get_skill_level(/datum/skill/mining) >= SKILL_LEVEL_MASTER) . = ..() else - to_chat(usr, "The rock seems to be too strong to destroy. Maybe I can break it once I become a master miner.") + to_chat(usr, span_warning("The rock seems to be too strong to destroy. Maybe I can break it once I become a master miner.")) /turf/closed/mineral/strong/gets_drilled(mob/user) diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index 3d155d04ef8..fbcff87ac79 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -21,19 +21,19 @@ /turf/closed/wall/r_wall/deconstruction_hints(mob/user) switch(d_state) if(INTACT) - return "The outer grille is fully intact." + return span_notice("The outer grille is fully intact.") if(SUPPORT_LINES) - return "The outer grille has been cut, and the support lines are screwed securely to the outer cover." + return span_notice("The outer grille has been cut, and the support lines are screwed securely to the outer cover.") if(COVER) - return "The support lines have been unscrewed, and the metal cover is welded firmly in place." + return span_notice("The support lines have been unscrewed, and the metal cover is welded firmly in place.") if(CUT_COVER) - return "The metal cover has been sliced through, and is connected loosely to the girder." + return span_notice("The metal cover has been sliced through, and is connected loosely to the girder.") if(ANCHOR_BOLTS) - return "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place." + return span_notice("The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place.") if(SUPPORT_RODS) - return "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder." + return span_notice("The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder.") if(SHEATH) - return "The support rods have been sliced through, and the outer sheath is connected loosely to the girder." + return span_notice("The support rods have been sliced through, and the outer sheath is connected loosely to the girder.") /turf/closed/wall/r_wall/devastate_wall() new sheet_type(src, sheet_amount) @@ -49,7 +49,7 @@ playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) else playsound(src, 'sound/effects/bang.ogg', 50, TRUE) - to_chat(user, "This wall is far too strong for you to destroy.") + to_chat(user, span_warning("This wall is far too strong for you to destroy.")) /turf/closed/wall/r_wall/hulk_recoil(obj/item/bodypart/arm, mob/living/carbon/human/hulkman, damage = 41) return ..() @@ -62,138 +62,138 @@ W.play_tool_sound(src, 100) d_state = SUPPORT_LINES update_appearance() - to_chat(user, "You cut the outer grille.") + to_chat(user, span_notice("You cut the outer grille.")) return TRUE if(SUPPORT_LINES) if(W.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You begin unsecuring the support lines...") + to_chat(user, span_notice("You begin unsecuring the support lines...")) if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES) return TRUE d_state = COVER update_appearance() - to_chat(user, "You unsecure the support lines.") + to_chat(user, span_notice("You unsecure the support lines.")) return TRUE else if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) d_state = INTACT update_appearance() - to_chat(user, "You repair the outer grille.") + to_chat(user, span_notice("You repair the outer grille.")) return TRUE if(COVER) if(W.tool_behaviour == TOOL_WELDER) if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You begin slicing through the metal cover...") + to_chat(user, span_notice("You begin slicing through the metal cover...")) if(W.use_tool(src, user, 60, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return TRUE d_state = CUT_COVER update_appearance() - to_chat(user, "You press firmly on the cover, dislodging it.") + to_chat(user, span_notice("You press firmly on the cover, dislodging it.")) return TRUE if(W.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You begin securing the support lines...") + to_chat(user, span_notice("You begin securing the support lines...")) if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return TRUE d_state = SUPPORT_LINES update_appearance() - to_chat(user, "The support lines have been secured.") + to_chat(user, span_notice("The support lines have been secured.")) return TRUE if(CUT_COVER) if(W.tool_behaviour == TOOL_CROWBAR) - to_chat(user, "You struggle to pry off the cover...") + to_chat(user, span_notice("You struggle to pry off the cover...")) if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE d_state = ANCHOR_BOLTS update_appearance() - to_chat(user, "You pry off the cover.") + to_chat(user, span_notice("You pry off the cover.")) return TRUE if(W.tool_behaviour == TOOL_WELDER) if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You begin welding the metal cover back to the frame...") + to_chat(user, span_notice("You begin welding the metal cover back to the frame...")) if(W.use_tool(src, user, 60, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE d_state = COVER update_appearance() - to_chat(user, "The metal cover has been welded securely to the frame.") + to_chat(user, span_notice("The metal cover has been welded securely to the frame.")) return TRUE if(ANCHOR_BOLTS) if(W.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start loosening the anchoring bolts which secure the support rods to their frame...") + to_chat(user, span_notice("You start loosening the anchoring bolts which secure the support rods to their frame...")) if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return TRUE d_state = SUPPORT_RODS update_appearance() - to_chat(user, "You remove the bolts anchoring the support rods.") + to_chat(user, span_notice("You remove the bolts anchoring the support rods.")) return TRUE if(W.tool_behaviour == TOOL_CROWBAR) - to_chat(user, "You start to pry the cover back into place...") + to_chat(user, span_notice("You start to pry the cover back into place...")) if(W.use_tool(src, user, 20, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return TRUE d_state = CUT_COVER update_appearance() - to_chat(user, "The metal cover has been pried back into place.") + to_chat(user, span_notice("The metal cover has been pried back into place.")) return TRUE if(SUPPORT_RODS) if(W.tool_behaviour == TOOL_WELDER) if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You begin slicing through the support rods...") + to_chat(user, span_notice("You begin slicing through the support rods...")) if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return TRUE d_state = SHEATH update_appearance() - to_chat(user, "You slice through the support rods.") + to_chat(user, span_notice("You slice through the support rods.")) return TRUE if(W.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start tightening the bolts which secure the support rods to their frame...") + to_chat(user, span_notice("You start tightening the bolts which secure the support rods to their frame...")) W.play_tool_sound(src, 100) if(W.use_tool(src, user, 40)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return TRUE d_state = ANCHOR_BOLTS update_appearance() - to_chat(user, "You tighten the bolts anchoring the support rods.") + to_chat(user, span_notice("You tighten the bolts anchoring the support rods.")) return TRUE if(SHEATH) if(W.tool_behaviour == TOOL_CROWBAR) - to_chat(user, "You struggle to pry off the outer sheath...") + to_chat(user, span_notice("You struggle to pry off the outer sheath...")) if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) return TRUE - to_chat(user, "You pry off the outer sheath.") + to_chat(user, span_notice("You pry off the outer sheath.")) dismantle_wall() return TRUE if(W.tool_behaviour == TOOL_WELDER) if(!W.tool_start_check(user, amount=0)) return - to_chat(user, "You begin welding the support rods back together...") + to_chat(user, span_notice("You begin welding the support rods back together...")) if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) return TRUE d_state = SUPPORT_RODS update_appearance() - to_chat(user, "You weld the support rods back together.") + to_chat(user, span_notice("You weld the support rods back together.")) return TRUE return FALSE diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index df5038a50fa..282caf3ae6e 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -59,7 +59,7 @@ . += deconstruction_hints(user) /turf/closed/wall/proc/deconstruction_hints(mob/user) - return "The outer plating is welded firmly in place." + return span_notice("The outer plating is welded firmly in place.") /turf/closed/wall/attack_tk() return @@ -145,9 +145,9 @@ else playsound(src, 'sound/effects/bang.ogg', 50, TRUE) add_dent(WALL_DENT_HIT) - user.visible_message("[user] smashes \the [src]!", \ - "You smash \the [src]!", \ - "You hear a booming smash!") + user.visible_message(span_danger("[user] smashes \the [src]!"), \ + span_danger("You smash \the [src]!"), \ + span_hear("You hear a booming smash!")) return TRUE /** @@ -173,14 +173,14 @@ if(.) return user.changeNext_move(CLICK_CD_MELEE) - to_chat(user, "You push the wall but nothing happens!") + to_chat(user, span_notice("You push the wall but nothing happens!")) playsound(src, 'sound/weapons/genhit.ogg', 25, TRUE) add_fingerprint(user) /turf/closed/wall/attackby(obj/item/W, mob/user, params) user.changeNext_move(CLICK_CD_MELEE) if (!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return //get the user's location @@ -205,10 +205,10 @@ if(!W.tool_start_check(user, amount=0)) return FALSE - to_chat(user, "You begin fixing dents on the wall...") + to_chat(user, span_notice("You begin fixing dents on the wall...")) if(W.use_tool(src, user, 0, volume=100)) if(iswallturf(src) && LAZYLEN(dent_decals)) - to_chat(user, "You fix some dents on the wall.") + to_chat(user, span_notice("You fix some dents on the wall.")) cut_overlay(dent_decals) dent_decals.Cut() return TRUE @@ -234,10 +234,10 @@ if(!I.tool_start_check(user, amount=0)) return FALSE - to_chat(user, "You begin slicing through the outer plating...") + to_chat(user, span_notice("You begin slicing through the outer plating...")) if(I.use_tool(src, user, slicing_duration, volume=100)) if(iswallturf(src)) - to_chat(user, "You remove the outer plating.") + to_chat(user, span_notice("You remove the outer plating.")) dismantle_wall() return TRUE @@ -281,7 +281,7 @@ /turf/closed/wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_DECONSTRUCT) - to_chat(user, "You deconstruct the wall.") + to_chat(user, span_notice("You deconstruct the wall.")) ScrapeAway() return TRUE return FALSE diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 6f55f5b881c..1c01db8e5e9 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -219,7 +219,7 @@ if(C.m_intent == MOVE_INTENT_WALK && (lube&NO_SLIP_WHEN_WALKING)) return FALSE if(!(lube&SLIDE_ICE)) - to_chat(C, "You slipped[ O ? " on the [O.name]" : ""]!") + to_chat(C, span_notice("You slipped[ O ? " on the [O.name]" : ""]!")) playsound(C.loc, 'sound/misc/slip.ogg', 50, TRUE, -3) SEND_SIGNAL(C, COMSIG_ON_CARBON_SLIP) diff --git a/code/game/turfs/open/chasm.dm b/code/game/turfs/open/chasm.dm index f0c5e0f4dba..31b94fbab45 100644 --- a/code/game/turfs/open/chasm.dm +++ b/code/game/turfs/open/chasm.dm @@ -44,7 +44,7 @@ /turf/open/chasm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE @@ -61,12 +61,12 @@ var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) if(!L) if(R.use(1)) - to_chat(user, "You construct a lattice.") + to_chat(user, span_notice("You construct a lattice.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) // Create a lattice, without reverting to our baseturf new /obj/structure/lattice(src) else - to_chat(user, "You need one rod to build a lattice.") + to_chat(user, span_warning("You need one rod to build a lattice.")) return if(istype(C, /obj/item/stack/tile/iron)) var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) @@ -75,13 +75,13 @@ if(S.use(1)) qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) // Create a floor, which has this chasm underneath it PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) else - to_chat(user, "You need one floor tile to build a floor!") + to_chat(user, span_warning("You need one floor tile to build a floor!")) else - to_chat(user, "The plating is going to need some support! Place iron rods first.") + to_chat(user, span_warning("The plating is going to need some support! Place iron rods first.")) // Chasms for Lavaland, with planetary atmos and lava glow /turf/open/chasm/lavaland diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index ea79895ba52..74f9876d7d6 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -198,10 +198,10 @@ broken = FALSE burnt = FALSE if(user && !silent) - to_chat(user, "You remove the broken plating.") + to_chat(user, span_notice("You remove the broken plating.")) else if(user && !silent) - to_chat(user, "You remove the floor tile.") + to_chat(user, span_notice("You remove the floor tile.")) if(make_tile) spawn_tile() return make_plating(force_plating) @@ -272,17 +272,17 @@ /turf/open/floor/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, "You build a wall.") + to_chat(user, span_notice("You build a wall.")) PlaceOnTop(/turf/closed/wall) return TRUE if(RCD_AIRLOCK) for(var/obj/machinery/door/door in src) if(door.sub_door) continue - to_chat(user, "There is another door here!") + to_chat(user, span_notice("There is another door here!")) return FALSE if(ispath(the_rcd.airlock_type, /obj/machinery/door/window)) - to_chat(user, "You build a windoor.") + to_chat(user, span_notice("You build a windoor.")) var/obj/machinery/door/window/new_window = new the_rcd.airlock_type(src, user.dir) if(the_rcd.airlock_electronics) new_window.req_access = the_rcd.airlock_electronics.accesses.Copy() @@ -291,7 +291,7 @@ new_window.autoclose = TRUE new_window.update_appearance() return TRUE - to_chat(user, "You build an airlock.") + to_chat(user, span_notice("You build an airlock.")) var/obj/machinery/door/airlock/new_airlock = new the_rcd.airlock_type(src) new_airlock.electronics = new /obj/item/electronics/airlock(new_airlock) if(the_rcd.airlock_electronics) @@ -310,12 +310,12 @@ if(RCD_DECONSTRUCT) if(!ScrapeAway(flags = CHANGETURF_INHERIT_AIR)) return FALSE - to_chat(user, "You deconstruct [src].") + to_chat(user, span_notice("You deconstruct [src].")) return TRUE if(RCD_WINDOWGRILLE) if(locate(/obj/structure/grille) in src) return FALSE - to_chat(user, "You construct the grille.") + to_chat(user, span_notice("You construct the grille.")) var/obj/structure/grille/new_grille = new(src) new_grille.set_anchored(TRUE) return TRUE diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm index 1b3fd8ba381..7636fae66ac 100644 --- a/code/game/turfs/open/floor/fancy_floor.dm +++ b/code/game/turfs/open/floor/fancy_floor.dm @@ -22,7 +22,7 @@ /turf/open/floor/wood/examine(mob/user) . = ..() - . += "There's a few screws and a small crack visible." + . += span_notice("There's a few screws and a small crack visible.") /turf/open/floor/wood/screwdriver_act(mob/living/user, obj/item/I) if(..()) @@ -51,15 +51,15 @@ broken = FALSE burnt = FALSE if(user && !silent) - to_chat(user, "You remove the broken planks.") + to_chat(user, span_notice("You remove the broken planks.")) else if(make_tile) if(user && !silent) - to_chat(user, "You unscrew the planks.") + to_chat(user, span_notice("You unscrew the planks.")) spawn_tile() else if(user && !silent) - to_chat(user, "You forcefully pry off the planks, destroying them in the process.") + to_chat(user, span_notice("You forcefully pry off the planks, destroying them in the process.")) return make_plating(force_plating) /turf/open/floor/wood/cold @@ -117,7 +117,7 @@ /turf/open/floor/grass/attackby(obj/item/C, mob/user, params) if((C.tool_behaviour == TOOL_SHOVEL) && params) new ore_type(src, 2) - user.visible_message("[user] digs up [src].", "You [turfverb] [src].") + user.visible_message(span_notice("[user] digs up [src]."), span_notice("You [turfverb] [src].")) playsound(src, 'sound/effects/shovel_dig.ogg', 50, TRUE) make_plating() if(..()) @@ -228,7 +228,7 @@ /turf/open/floor/carpet/examine(mob/user) . = ..() - . += "There's a small crack on the edge of it." + . += span_notice("There's a small crack on the edge of it.") /turf/open/floor/carpet/Initialize() . = ..() diff --git a/code/game/turfs/open/floor/hull.dm b/code/game/turfs/open/floor/hull.dm index aef424ada81..a617c1d3576 100644 --- a/code/game/turfs/open/floor/hull.dm +++ b/code/game/turfs/open/floor/hull.dm @@ -5,10 +5,10 @@ icon_state = "regular_hull" initial_gas_mix = AIRLESS_ATMOS temperature = TCMB - + /turf/open/floor/engine/hull/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) //no rcd destroying this flooring if(passed_mode == RCD_DECONSTRUCT) - to_chat(user, "The flooring is too thick to be regularly deconstructed!") + to_chat(user, span_warning("The flooring is too thick to be regularly deconstructed!")) return FALSE return ..() diff --git a/code/game/turfs/open/floor/iron_floor.dm b/code/game/turfs/open/floor/iron_floor.dm index 101c57cc37b..99245d0a587 100644 --- a/code/game/turfs/open/floor/iron_floor.dm +++ b/code/game/turfs/open/floor/iron_floor.dm @@ -11,7 +11,7 @@ /turf/open/floor/iron/examine(mob/user) . = ..() - . += "There's a small crack on the edge of it." + . += span_notice("There's a small crack on the edge of it.") /turf/open/floor/iron/rust_heretic_act() diff --git a/code/game/turfs/open/floor/light_floor.dm b/code/game/turfs/open/floor/light_floor.dm index dd2b655e5ba..8c056adcc5f 100644 --- a/code/game/turfs/open/floor/light_floor.dm +++ b/code/game/turfs/open/floor/light_floor.dm @@ -30,11 +30,11 @@ /turf/open/floor/light/examine(mob/user) . = ..() - . += "There's a small crack on the edge of it." - . += "Use a multitool on it to change colors." - . += "Use a screwdriver to turn it off or on." + . += span_notice("There's a small crack on the edge of it.") + . += span_notice("Use a multitool on it to change colors.") + . += span_notice("Use a screwdriver to turn it off or on.") if(state) ///check if broken - . += "The light bulb seems fried!" + . += span_danger("The light bulb seems fried!") ///create radial menu /turf/open/floor/light/proc/populate_lighttile_designs() @@ -135,15 +135,15 @@ if(istype(C, /obj/item/light/bulb)) //only for light tiles var/obj/item/light/bulb/B = C if(B.status)/// check if broken - to_chat(user, "The light bulb is broken!") + to_chat(user, span_danger("The light bulb is broken!")) return if(state && user.temporarilyRemoveItemFromInventory(C)) qdel(C) state = LIGHTFLOOR_FINE //fixing it by bashing it with a light bulb, fun eh? update_appearance() - to_chat(user, "You replace the light bulb.") + to_chat(user, span_notice("You replace the light bulb.")) else - to_chat(user, "The light bulb seems fine, no need to replace it.") + to_chat(user, span_notice("The light bulb seems fine, no need to replace it.")) /turf/open/floor/light/emp_act(severity) . = ..() diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index d5749b8055a..687386bc49d 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -29,12 +29,12 @@ /turf/open/floor/plating/examine(mob/user) . = ..() if(broken || burnt) - . += "It looks like the dents could be welded smooth." + . += span_notice("It looks like the dents could be welded smooth.") return if(attachment_holes) - . += "There are a few attachment holes for a new tile or reinforcement rods." + . += span_notice("There are a few attachment holes for a new tile or reinforcement rods.") else - . += "You might be able to build ontop of it with some tiles..." + . += span_notice("You might be able to build ontop of it with some tiles...") /turf/open/floor/plating/attackby(obj/item/C, mob/user, params) @@ -43,40 +43,40 @@ if(istype(C, /obj/item/stack/rods) && attachment_holes) if(broken || burnt) if(!iscyborg(user)) - to_chat(user, "Repair the plating first! Use a welding tool to fix the damage.") + to_chat(user, span_warning("Repair the plating first! Use a welding tool to fix the damage.")) else - to_chat(user, "Repair the plating first! Use a welding tool or a plating repair tool to fix the damage.") //we don't need to confuse humans by giving them a message about plating repair tools, since only janiborgs should have access to them outside of Christmas presents or admin intervention + to_chat(user, span_warning("Repair the plating first! Use a welding tool or a plating repair tool to fix the damage.")) //we don't need to confuse humans by giving them a message about plating repair tools, since only janiborgs should have access to them outside of Christmas presents or admin intervention return var/obj/item/stack/rods/R = C if (R.get_amount() < 2) - to_chat(user, "You need two rods to make a reinforced floor!") + to_chat(user, span_warning("You need two rods to make a reinforced floor!")) return else - to_chat(user, "You begin reinforcing the floor...") + to_chat(user, span_notice("You begin reinforcing the floor...")) if(do_after(user, 30, target = src)) if (R.get_amount() >= 2 && !istype(src, /turf/open/floor/engine)) PlaceOnTop(/turf/open/floor/engine, flags = CHANGETURF_INHERIT_AIR) playsound(src, 'sound/items/deconstruct.ogg', 80, TRUE) R.use(2) - to_chat(user, "You reinforce the floor.") + to_chat(user, span_notice("You reinforce the floor.")) return else if(istype(C, /obj/item/stack/tile)) if(!broken && !burnt) for(var/obj/O in src) for(var/M in O.buckled_mobs) - to_chat(user, "Someone is buckled to \the [O]! Unbuckle [M] to move \him out of the way.") + to_chat(user, span_warning("Someone is buckled to \the [O]! Unbuckle [M] to move \him out of the way.")) return var/obj/item/stack/tile/tile = C tile.place_tile(src) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) else if(!iscyborg(user)) - to_chat(user, "This section is too damaged to support a tile! Use a welding tool to fix the damage.") + to_chat(user, span_warning("This section is too damaged to support a tile! Use a welding tool to fix the damage.")) else - to_chat(user, "This section is too damaged to support a tile! Use a welding tool or a plating repair tool to fix the damage.") + to_chat(user, span_warning("This section is too damaged to support a tile! Use a welding tool or a plating repair tool to fix the damage.")) else if(istype(C, /obj/item/cautery/prt)) //plating repair tool if((broken || burnt) && C.use_tool(src, user, 0, volume=80)) - to_chat(user, "You fix some dents on the broken plating.") + to_chat(user, span_danger("You fix some dents on the broken plating.")) icon_state = base_icon_state burnt = FALSE broken = FALSE @@ -85,7 +85,7 @@ /turf/open/floor/plating/welder_act(mob/living/user, obj/item/I) ..() if((broken || burnt) && I.use_tool(src, user, 0, volume=80)) - to_chat(user, "You fix some dents on the broken plating.") + to_chat(user, span_danger("You fix some dents on the broken plating.")) icon_state = base_icon_state burnt = FALSE broken = FALSE @@ -118,7 +118,7 @@ var/obj/L = locate(/obj/structure/lattice) in src if(L) qdel(L) - to_chat(user, "You reinforce the foamed plating with tiling.") + to_chat(user, span_notice("You reinforce the foamed plating with tiling.")) playsound(src, 'sound/weapons/Genhit.ogg', 50, TRUE) ChangeTurf(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) else @@ -126,11 +126,11 @@ user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) if(prob(I.force * 20 - 25)) - user.visible_message("[user] smashes through [src]!", \ - "You smash through [src] with [I]!") + user.visible_message(span_danger("[user] smashes through [src]!"), \ + span_danger("You smash through [src] with [I]!")) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) else - to_chat(user, "You hit [src], to no effect!") + to_chat(user, span_danger("You hit [src], to no effect!")) /turf/open/floor/plating/foam/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) if(the_rcd.mode == RCD_FLOORWALL) @@ -138,7 +138,7 @@ /turf/open/floor/plating/foam/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) if(passed_mode == RCD_FLOORWALL) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) ChangeTurf(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE diff --git a/code/game/turfs/open/floor/plating/asteroid.dm b/code/game/turfs/open/floor/plating/asteroid.dm index d100be9c116..10fc2bda648 100644 --- a/code/game/turfs/open/floor/plating/asteroid.dm +++ b/code/game/turfs/open/floor/plating/asteroid.dm @@ -46,7 +46,7 @@ if(!dug) return TRUE if(user) - to_chat(user, "Looks like someone has dug here already!") + to_chat(user, span_warning("Looks like someone has dug here already!")) /turf/open/floor/plating/asteroid/try_replace_tile(obj/item/stack/tile/T, mob/user, params) return @@ -73,12 +73,12 @@ if(!isturf(user.loc)) return - to_chat(user, "You start digging...") + to_chat(user, span_notice("You start digging...")) if(W.use_tool(src, user, 40, volume=50)) if(!can_dig(user)) return TRUE - to_chat(user, "You dig a hole.") + to_chat(user, span_notice("You dig a hole.")) getDug() SSblackbox.record_feedback("tally", "pick_used_mining", 1, W.type) return TRUE @@ -164,7 +164,7 @@ /turf/open/floor/plating/asteroid/snow/burn_tile() if(!burnt) - visible_message("[src] melts away!.") + visible_message(span_danger("[src] melts away!.")) slowdown = 0 burnt = TRUE icon_state = "snow_dug" diff --git a/code/game/turfs/open/floor/reinf_floor.dm b/code/game/turfs/open/floor/reinf_floor.dm index 9987c396974..64701642146 100644 --- a/code/game/turfs/open/floor/reinf_floor.dm +++ b/code/game/turfs/open/floor/reinf_floor.dm @@ -16,7 +16,7 @@ /turf/open/floor/engine/examine(mob/user) . += ..() - . += "The reinforcement rods are wrenched firmly in place." + . += span_notice("The reinforcement rods are wrenched firmly in place.") /turf/open/floor/engine/airless initial_gas_mix = AIRLESS_ATMOS @@ -40,7 +40,7 @@ /turf/open/floor/engine/wrench_act(mob/living/user, obj/item/I) ..() - to_chat(user, "You begin removing rods...") + to_chat(user, span_notice("You begin removing rods...")) if(I.use_tool(src, user, 30, volume=80)) if(!istype(src, /turf/open/floor/engine)) return TRUE diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index a4c26960d93..1df6a7f2f67 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -66,7 +66,7 @@ /turf/open/lava/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE @@ -96,14 +96,14 @@ var/obj/item/stack/rods/lava/R = C var/obj/structure/lattice/lava/H = locate(/obj/structure/lattice/lava, src) if(H) - to_chat(user, "There is already a lattice here!") + to_chat(user, span_warning("There is already a lattice here!")) return if(R.use(1)) - to_chat(user, "You construct a lattice.") + to_chat(user, span_notice("You construct a lattice.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) new /obj/structure/lattice/lava(locate(x, y, z)) else - to_chat(user, "You need one rod to build a heatproof lattice.") + to_chat(user, span_warning("You need one rod to build a heatproof lattice.")) return /turf/open/lava/proc/is_safe() diff --git a/code/game/turfs/open/openspace.dm b/code/game/turfs/open/openspace.dm index 5e94406f426..9c94438f6b2 100644 --- a/code/game/turfs/open/openspace.dm +++ b/code/game/turfs/open/openspace.dm @@ -92,23 +92,23 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src) if(W) - to_chat(user, "There is already a catwalk here!") + to_chat(user, span_warning("There is already a catwalk here!")) return if(L) if(R.use(1)) qdel(L) - to_chat(user, "You construct a catwalk.") + to_chat(user, span_notice("You construct a catwalk.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) new/obj/structure/lattice/catwalk(src) else - to_chat(user, "You need two rods to build a catwalk!") + to_chat(user, span_warning("You need two rods to build a catwalk!")) return if(R.use(1)) - to_chat(user, "You construct a lattice.") + to_chat(user, span_notice("You construct a lattice.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) ReplaceWithLattice() else - to_chat(user, "You need one rod to build a lattice.") + to_chat(user, span_warning("You need one rod to build a lattice.")) return if(istype(C, /obj/item/stack/tile/iron)) if(!CanCoverUp()) @@ -119,12 +119,12 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr if(S.use(1)) qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) else - to_chat(user, "You need one floor tile to build a floor!") + to_chat(user, span_warning("You need one floor tile to build a floor!")) else - to_chat(user, "The plating is going to need some support! Place iron rods first.") + to_chat(user, span_warning("The plating is going to need some support! Place iron rods first.")) /turf/open/openspace/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) if(!CanBuildHere()) @@ -142,7 +142,7 @@ GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdr /turf/open/openspace/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE diff --git a/code/game/turfs/open/space/space.dm b/code/game/turfs/open/space/space.dm index d329058b96f..8182baaafdd 100644 --- a/code/game/turfs/open/space/space.dm +++ b/code/game/turfs/open/space/space.dm @@ -126,23 +126,23 @@ var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src) if(W) - to_chat(user, "There is already a catwalk here!") + to_chat(user, span_warning("There is already a catwalk here!")) return if(L) if(R.use(1)) qdel(L) - to_chat(user, "You construct a catwalk.") + to_chat(user, span_notice("You construct a catwalk.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) new/obj/structure/lattice/catwalk(src) else - to_chat(user, "You need two rods to build a catwalk!") + to_chat(user, span_warning("You need two rods to build a catwalk!")) return if(R.use(1)) - to_chat(user, "You construct a lattice.") + to_chat(user, span_notice("You construct a lattice.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) ReplaceWithLattice() else - to_chat(user, "You need one rod to build a lattice.") + to_chat(user, span_warning("You need one rod to build a lattice.")) return if(istype(C, /obj/item/stack/tile/iron)) var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) @@ -151,12 +151,12 @@ if(S.use(1)) qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) else - to_chat(user, "You need one floor tile to build a floor!") + to_chat(user, span_warning("You need one floor tile to build a floor!")) else - to_chat(user, "The plating is going to need some support! Place metal rods first.") + to_chat(user, span_warning("The plating is going to need some support! Place metal rods first.")) /turf/open/space/Entered(atom/movable/A) . = ..() @@ -246,7 +246,7 @@ /turf/open/space/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 6a06b313756..36ac43c06de 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -231,12 +231,12 @@ GLOBAL_LIST_EMPTY(station_turfs) if(flags & FALL_STOP_INTERCEPTING) break if(prev_turf && !(flags & FALL_NO_MESSAGE)) - prev_turf.visible_message("[mov_name] falls through [prev_turf]!") + prev_turf.visible_message(span_danger("[mov_name] falls through [prev_turf]!")) if(flags & FALL_INTERCEPTED) return if(zFall(A, levels + 1)) return FALSE - A.visible_message("[A] crashes into [src]!") + A.visible_message(span_danger("[A] crashes into [src]!")) A.onZImpact(src, levels) return TRUE @@ -414,7 +414,7 @@ GLOBAL_LIST_EMPTY(station_turfs) if(.) return if(length(src_object.contents())) - to_chat(usr, "You start dumping out the contents...") + to_chat(usr, span_notice("You start dumping out the contents...")) if(!do_after(usr,20,target=src_object.parent)) return FALSE diff --git a/code/game/world.dm b/code/game/world.dm index ac7511db2dc..8c97a88c5a9 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -210,7 +210,7 @@ GLOBAL_VAR(restart_counter) if(PRcounts[id] > PR_ANNOUNCEMENTS_PER_ROUND) return - var/final_composed = "PR: [announcement]" + var/final_composed = span_announce("PR: [announcement]") for(var/client/C in GLOB.clients) C.AnnouncePR(final_composed) @@ -240,9 +240,9 @@ GLOBAL_VAR(restart_counter) if (usr) log_admin("[key_name(usr)] Has requested an immediate world restart via client side debugging tools") message_admins("[key_name_admin(usr)] Has requested an immediate world restart via client side debugging tools") - to_chat(world, "Rebooting World immediately due to host request.") + to_chat(world, span_boldannounce("Rebooting World immediately due to host request.")) else - to_chat(world, "Rebooting world...") + to_chat(world, span_boldannounce("Rebooting world...")) Master.Shutdown() //run SS shutdowns #ifdef UNIT_TESTS diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index c70d50be86a..02790fe08da 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -39,8 +39,8 @@ if (admin) log_admin("The admin [key] has been allowed to bypass the whitelist") if (message) - message_admins("The admin [key] has been allowed to bypass the whitelist") - addclientmessage(ckey,"You have been allowed to bypass the whitelist") + message_admins(span_adminnotice("The admin [key] has been allowed to bypass the whitelist")) + addclientmessage(ckey,span_adminnotice("You have been allowed to bypass the whitelist")) else log_access("Failed Login: [key] - Not on whitelist") return list("reason"="whitelist", "desc" = "\nReason: You are not on the white list for this server") @@ -83,7 +83,7 @@ log_admin(msg) if (message) message_admins(msg) - addclientmessage(ckey,"Admin [key] has been allowed to bypass a matching non-admin ban on [i["key"]] [i["ip"]]-[i["computerid"]].") + addclientmessage(ckey,span_adminnotice("Admin [key] has been allowed to bypass a matching non-admin ban on [i["key"]] [i["ip"]]-[i["computerid"]].")) continue var/expires = "This is a permanent ban." if(i["expiration_time"]) @@ -216,12 +216,12 @@ if (admin) log_admin("The admin [key] has been allowed to bypass a matching host/sticky ban on [bannedckey]") if (message) - message_admins("The admin [key] has been allowed to bypass a matching host/sticky ban on [bannedckey]") - addclientmessage(ckey,"You have been allowed to bypass a matching host/sticky ban on [bannedckey]") + message_admins(span_adminnotice("The admin [key] has been allowed to bypass a matching host/sticky ban on [bannedckey]")) + addclientmessage(ckey,span_adminnotice("You have been allowed to bypass a matching host/sticky ban on [bannedckey]")) return null if (C) //user is already connected!. - to_chat(C, "You are about to get disconnected for matching a sticky ban after you connected. If this turns out to be the ban evasion detection system going haywire, we will automatically detect this and revert the matches. if you feel that this is the case, please wait EXACTLY 6 seconds then reconnect using file -> reconnect to see if the match was automatically reversed.", confidential = TRUE) + to_chat(C, span_redtext("You are about to get disconnected for matching a sticky ban after you connected. If this turns out to be the ban evasion detection system going haywire, we will automatically detect this and revert the matches. if you feel that this is the case, please wait EXACTLY 6 seconds then reconnect using file -> reconnect to see if the match was automatically reversed."), confidential = TRUE) var/desc = "\nReason:(StickyBan) You, or another user of this computer or connection ([bannedckey]) is banned from playing here. The ban reason is:\n[ban["message"]]\nThis ban was applied by [ban["admin"]]\nThis is a BanEvasion Detection System ban, if you think this ban is a mistake, please wait EXACTLY 6 seconds, then try again before filing an appeal.\n" . = list("reason" = "Stickyban", "desc" = desc) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 146e6e3b1ae..c9bd7b74d7a 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -28,7 +28,7 @@ log_admin("[key_name(usr)] checked the individual player panel for [key_name(M)][isobserver(usr)?"":" while in game"].") if(!M) - to_chat(usr, "You seem to be selecting a mob that doesn't exist anymore.", confidential = TRUE) + to_chat(usr, span_warning("You seem to be selecting a mob that doesn't exist anymore."), confidential = TRUE) return var/body = "Options for [M.key]" @@ -508,7 +508,7 @@ if(message) if(!check_rights(R_SERVER,0)) message = adminscrub(message,500) - to_chat(world, "[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:\n \t [message]", confidential = TRUE) + to_chat(world, "[span_adminnotice("[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:")]\n \t [message]", confidential = TRUE) log_admin("Announce: [key_name(usr)] : [message]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Announce") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -530,7 +530,7 @@ else message_admins("[key_name(usr)] set the admin notice.") log_admin("[key_name(usr)] set the admin notice:\n[new_admin_notice]") - to_chat(world, "Admin Notice:\n \t [new_admin_notice]", confidential = TRUE) + to_chat(world, span_adminnotice("Admin Notice:\n \t [new_admin_notice]"), confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Set Admin Notice") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! GLOB.admin_notice = new_admin_notice return @@ -593,7 +593,7 @@ else to_chat(world, "New players may now enter the game.", confidential = TRUE) log_admin("[key_name(usr)] toggled new player game entering.") - message_admins("[key_name_admin(usr)] toggled new player game entering.") + message_admins(span_adminnotice("[key_name_admin(usr)] toggled new player game entering.")) world.update_status() SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle Entering", "[GLOB.enter_allowed ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -621,7 +621,7 @@ to_chat(world, "You may now respawn.", confidential = TRUE) else to_chat(world, "You may no longer respawn :(", confidential = TRUE) - message_admins("[key_name_admin(usr)] toggled respawn to [!new_nores ? "On" : "Off"].") + message_admins(span_adminnotice("[key_name_admin(usr)] toggled respawn to [!new_nores ? "On" : "Off"].")) log_admin("[key_name(usr)] toggled respawn to [!new_nores ? "On" : "Off"].") world.update_status() SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle Respawn", "[!new_nores ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -788,7 +788,7 @@ else to_chat(world, "Guests may now enter the game.", confidential = TRUE) log_admin("[key_name(usr)] toggled guests game entering [!new_guest_ban ? "" : "dis"]allowed.") - message_admins("[key_name_admin(usr)] toggled guests game entering [!new_guest_ban ? "" : "dis"]allowed.") + message_admins(span_adminnotice("[key_name_admin(usr)] toggled guests game entering [!new_guest_ban ? "" : "dis"]allowed.")) SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle Guests", "[!new_guest_ban ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/output_ai_laws() @@ -936,7 +936,7 @@ if(tomob.mind == ghost.mind) ghost.mind = null - message_admins("[key_name_admin(usr)] has put [frommob.key] in control of [tomob.name].") + message_admins(span_adminnotice("[key_name_admin(usr)] has put [frommob.key] in control of [tomob.name].")) log_admin("[key_name(usr)] stuffed [frommob.key] into [tomob.name].") SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag Control") diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index cc33538781f..ee1a3e97325 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -37,6 +37,6 @@ var/F = file("[GLOB.log_directory]/[selected].html") if(!fexists(F)) - to_chat(src, "No [selected] logfile was found.", confidential = TRUE) + to_chat(src, span_danger("No [selected] logfile was found."), confidential = TRUE) return src << browse(F,"window=investigate[selected];size=800x300") diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index d39fa489e46..aeafb797d33 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -328,7 +328,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) remove_admin_verbs() add_verb(src, /client/proc/show_verbs) - to_chat(src, "Almost all of your adminverbs have been hidden.", confidential = TRUE) + to_chat(src, span_interface("Almost all of your adminverbs have been hidden."), confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Hide All Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return @@ -339,7 +339,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) remove_verb(src, /client/proc/show_verbs) add_admin_verbs() - to_chat(src, "All of your adminverbs are now visible.", confidential = TRUE) + to_chat(src, span_interface("All of your adminverbs are now visible."), confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -383,10 +383,10 @@ GLOBAL_PROTECT(admin_verbs_hideable) if(holder && mob) if(mob.invisibility == INVISIBILITY_OBSERVER) mob.invisibility = initial(mob.invisibility) - to_chat(mob, "Invisimin off. Invisibility reset.", confidential = TRUE) + to_chat(mob, span_boldannounce("Invisimin off. Invisibility reset."), confidential = TRUE) else mob.invisibility = INVISIBILITY_OBSERVER - to_chat(mob, "Invisimin on. You are now as invisible as a ghost.", confidential = TRUE) + to_chat(mob, span_adminnotice("Invisimin on. You are now as invisible as a ghost."), confidential = TRUE) /client/proc/check_antagonists() set name = "Check Antagonists" @@ -634,12 +634,12 @@ GLOBAL_PROTECT(admin_verbs_hideable) var/robeless = (tgui_alert(usr, "Would you like to force this spell to be robeless?", "Robeless Casting?", list("Force Robeless", "Use Spell Setting")) == "Force Robeless") if(QDELETED(spell_recipient)) - to_chat(usr, "The intended spell recipient no longer exists.") + to_chat(usr, span_warning("The intended spell recipient no longer exists.")) return SSblackbox.record_feedback("tally", "admin_verb", 1, "Give Spell") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] gave [key_name(spell_recipient)] the spell [spell_desc][robeless ? " (Forced robeless)" : ""].") - message_admins("[key_name_admin(usr)] gave [key_name_admin(spell_recipient)] the spell [spell_desc][spell_desc][robeless ? " (Forced robeless)" : ""].") + message_admins(span_adminnotice("[key_name_admin(usr)] gave [key_name_admin(spell_recipient)] the spell [spell_desc][spell_desc][robeless ? " (Forced robeless)" : ""].")) var/spell_path = spell_list[spell_desc] var/obj/effect/proc_holder/spell/new_spell = new spell_path() @@ -652,7 +652,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) spell_recipient.mind.AddSpell(new_spell) else spell_recipient.AddSpell(new_spell) - message_admins("Spells given to mindless mobs will not be transferred in mindswap or cloning!") + message_admins(span_danger("Spells given to mindless mobs will not be transferred in mindswap or cloning!")) /client/proc/remove_spell(mob/removal_target in GLOB.mob_list) set category = "Admin.Fun" @@ -668,7 +668,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) if(removed_spell) removal_target.mind.RemoveSpell(removed_spell) log_admin("[key_name(usr)] removed the spell [removed_spell] from [key_name(removal_target)].") - message_admins("[key_name_admin(usr)] removed the spell [removed_spell] from [key_name_admin(removal_target)].") + message_admins(span_adminnotice("[key_name_admin(usr)] removed the spell [removed_spell] from [key_name_admin(removal_target)].")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Remove Spell") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/give_disease(mob/living/T in GLOB.mob_living_list) @@ -676,7 +676,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) set name = "Give Disease" set desc = "Gives a Disease to a mob." if(!istype(T)) - to_chat(src, "You can only give a disease to a mob of type /mob/living.", confidential = TRUE) + to_chat(src, span_notice("You can only give a disease to a mob of type /mob/living."), confidential = TRUE) return var/datum/disease/D = input("Choose the disease to give to that guy", "ACHOO") as null|anything in sortList(SSdisease.diseases, /proc/cmp_typepaths_asc) if(!D) @@ -684,7 +684,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) T.ForceContractDisease(new D, FALSE, TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Give Disease") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] gave [key_name(T)] the disease [D].") - message_admins("[key_name_admin(usr)] gave [key_name_admin(T)] the disease [D].") + message_admins(span_adminnotice("[key_name_admin(usr)] gave [key_name_admin(T)] the disease [D].")) /client/proc/object_say(obj/O in world) set category = "Admin.Events" @@ -695,7 +695,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) return O.say(message) log_admin("[key_name(usr)] made [O] at [AREACOORD(O)] say \"[message]\"") - message_admins("[key_name_admin(usr)] made [O] at [AREACOORD(O)]. say \"[message]\"") + message_admins(span_adminnotice("[key_name_admin(usr)] made [O] at [AREACOORD(O)]. say \"[message]\"")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Object Say") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/togglebuildmodeself() set name = "Toggle Build Mode Self" @@ -725,7 +725,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) holder.deactivate() - to_chat(src, "You are now a normal player.") + to_chat(src, span_interface("You are now a normal player.")) log_admin("[src] deadminned themselves.") message_admins("[src] deadminned themselves.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Deadmin") @@ -750,7 +750,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) if (!holder) return //This can happen if an admin attempts to vv themself into somebody elses's deadmin datum by getting ref via brute force - to_chat(src, "You are now an admin.", confidential = TRUE) + to_chat(src, span_interface("You are now an admin."), confidential = TRUE) message_admins("[src] re-adminned themselves.") log_admin("[src] re-adminned themselves.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Readmin") diff --git a/code/modules/admin/antag_panel.dm b/code/modules/admin/antag_panel.dm index b784ce7468c..bf2109b16c3 100644 --- a/code/modules/admin/antag_panel.dm +++ b/code/modules/admin/antag_panel.dm @@ -146,7 +146,7 @@ GLOBAL_VAR(antag_prototypes) if(!current_antag) //Show antagging options if(possible_admin_antags.len) - antag_header_parts += "None" + antag_header_parts += span_highlight("None") antag_header_parts += possible_admin_antags else //If there's no antags to show in this category skip the section completely diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm index e4cfb280e21..66fc387f572 100644 --- a/code/modules/admin/callproc/callproc.dm +++ b/code/modules/admin/callproc/callproc.dm @@ -20,7 +20,7 @@ return target = value["value"] if(!istype(target)) - to_chat(usr, "Invalid target.", confidential = TRUE) + to_chat(usr, span_danger("Invalid target."), confidential = TRUE) return if("No") target = null @@ -40,12 +40,12 @@ if(targetselected) if(!hascall(target, procname)) - to_chat(usr, "Error: callproc(): type [target.type] has no [proctype] named [procpath].", confidential = TRUE) + to_chat(usr, span_warning("Error: callproc(): type [target.type] has no [proctype] named [procpath]."), confidential = TRUE) return else procpath = "/[proctype]/[procname]" if(!text2path(procpath)) - to_chat(usr, "Error: callproc(): [procpath] does not exist.", confidential = TRUE) + to_chat(usr, span_warning("Error: callproc(): [procpath] does not exist."), confidential = TRUE) return var/list/lst = get_callproc_args() @@ -99,7 +99,7 @@ GLOBAL_PROTECT(LastAdminCalledProc) CRASH("WrapAdminProcCall with no ckey: [target] [procname] [english_list(arguments)]") if(current_caller && current_caller != ckey) - to_chat(usr, "Another set of admin called procs are still running. Try again later.", confidential = TRUE) + to_chat(usr, span_adminnotice("Another set of admin called procs are still running. Try again later."), confidential = TRUE) return GLOB.LastAdminCalledProc = procname @@ -146,7 +146,7 @@ GLOBAL_PROTECT(LastAdminCalledProc) return if(!A || !IsValidSrc(A)) - to_chat(usr, "Error: callproc_datum(): owner of proc no longer exists.", confidential = TRUE) + to_chat(usr, span_warning("Error: callproc_datum(): owner of proc no longer exists."), confidential = TRUE) return log_admin("[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].") var/msg = "[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]." diff --git a/code/modules/admin/check_antagonists.dm b/code/modules/admin/check_antagonists.dm index d5d8bebc5f0..1c0581c0282 100644 --- a/code/modules/admin/check_antagonists.dm +++ b/code/modules/admin/check_antagonists.dm @@ -186,7 +186,7 @@ dat += "
    SKIPPED \[On centcom Z-level\]: [living_skipped] living players|[drones] living drones|" dat += "
    Dead/Observing players:|[observers_connected] active|[observers - observers_connected] disconnected|[brains] brains|" if(other_players) - dat += "
    [other_players] players in invalid state or the statistics code is bugged!" + dat += "
    [span_userdanger("[other_players] players in invalid state or the statistics code is bugged!")]" dat += "

    " dat += build_antag_listing() diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index c9671174762..4d7f08b6abc 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -28,7 +28,7 @@ return /obj/effect/fun_balloon/proc/pop() - visible_message("[src] pops!") + visible_message(span_notice("[src] pops!")) playsound(get_turf(src), pop_sound_effect, 50, TRUE, -1) qdel(src) @@ -119,7 +119,7 @@ var/turf/T = find_safe_turf() new /obj/effect/temp_visual/gravpush(get_turf(M)) M.forceMove(T) - to_chat(M, "Pop!", confidential = TRUE) + to_chat(M, span_notice("Pop!"), confidential = TRUE) // ----------- Station Crash // Can't think of anywhere better to put it right now diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 660fc225653..d8a1bf0a334 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -319,7 +319,7 @@ GLOBAL_PROTECT(href_token) to_chat( admin_client, type = MESSAGE_TYPE_ADMINLOG, - html = "ADMIN 2FA: You have the ability to verify [key_name_admin(client)] by using the Permissions Panel.", + html = span_admin("[span_prefix("ADMIN 2FA:")] You have the ability to verify [key_name_admin(client)] by using the Permissions Panel."), confidential = TRUE, ) diff --git a/code/modules/admin/outfit_editor.dm b/code/modules/admin/outfit_editor.dm index a144b37779b..356dca2c097 100644 --- a/code/modules/admin/outfit_editor.dm +++ b/code/modules/admin/outfit_editor.dm @@ -168,7 +168,7 @@ suit = new suit //initial() doesn't like lists options = suit.allowed if(!options.len) //nothing will happen, but don't let the user think it's broken - to_chat(owner, "No options available for the current suit.") + to_chat(owner, span_warning("No options available for the current suit.")) if("belt") options = typesof(/obj/item/storage/belt) diff --git a/code/modules/admin/outfits.dm b/code/modules/admin/outfits.dm index 05bb2a47017..eebefab79a1 100644 --- a/code/modules/admin/outfits.dm +++ b/code/modules/admin/outfits.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits /datum/admins/proc/delete_outfit(mob/admin, datum/outfit/O) GLOB.custom_outfits -= O qdel(O) - to_chat(admin,"Outfit deleted.") + to_chat(admin,span_notice("Outfit deleted.")) SStgui.update_user_uis(admin) /datum/admins/proc/load_outfit(mob/admin) @@ -18,15 +18,15 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits var/filedata = file2text(outfit_file) var/json = json_decode(filedata) if(!json) - to_chat(admin,"JSON decode error.") + to_chat(admin,span_warning("JSON decode error.")) return var/otype = text2path(json["outfit_type"]) if(!ispath(otype,/datum/outfit)) - to_chat(admin,"Malformed/Outdated file.") + to_chat(admin,span_warning("Malformed/Outdated file.")) return var/datum/outfit/O = new otype if(!O.load_from(json)) - to_chat(admin,"Malformed/Outdated file.") + to_chat(admin,span_warning("Malformed/Outdated file.")) return GLOB.custom_outfits += O SStgui.update_user_uis(admin) diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index 0408d20601a..cc6bef7831f 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -169,7 +169,7 @@ if(check_rights(R_DBRANKS, FALSE)) if(!skip) if(!SSdbcore.Connect()) - to_chat(usr, "Unable to connect to database, changes are temporary only.", confidential = TRUE) + to_chat(usr, span_danger("Unable to connect to database, changes are temporary only."), confidential = TRUE) use_db = FALSE else use_db = tgui_alert(usr,"Permanent changes are saved to the database for future rounds, temporary changes will affect only the current round", "Permanent or Temporary?", list("Permanent", "Temporary", "Cancel")) @@ -227,7 +227,7 @@ if(!.) return FALSE if(!admin_ckey && (. in GLOB.admin_datums+GLOB.deadmins)) - to_chat(usr, "[admin_key] is already an admin.", confidential = TRUE) + to_chat(usr, span_danger("[admin_key] is already an admin."), confidential = TRUE) return FALSE if(use_db) //if an admin exists without a datum they won't be caught by the above @@ -240,7 +240,7 @@ return FALSE if(query_admin_in_db.NextRow()) qdel(query_admin_in_db) - to_chat(usr, "[admin_key] already listed in admin database. Check the Management tab if they don't appear in the list of admins.", confidential = TRUE) + to_chat(usr, span_danger("[admin_key] already listed in admin database. Check the Management tab if they don't appear in the list of admins."), confidential = TRUE) return FALSE qdel(query_admin_in_db) var/datum/db_query/query_add_admin = SSdbcore.NewQuery( @@ -304,7 +304,7 @@ D.deactivate() //after logs so the deadmined admin can see the message. /datum/admins/proc/auto_deadmin() - to_chat(owner, "You are now a normal player.", confidential = TRUE) + to_chat(owner, span_interface("You are now a normal player."), confidential = TRUE) var/old_owner = owner deactivate() message_admins("[old_owner] deadmined via auto-deadmin config.") @@ -506,7 +506,7 @@ return if(query_admins_with_rank.NextRow()) qdel(query_admins_with_rank) - to_chat(usr, "Error: Rank deletion attempted while rank still used; Tell a coder, this shouldn't happen.", confidential = TRUE) + to_chat(usr, span_danger("Error: Rank deletion attempted while rank still used; Tell a coder, this shouldn't happen."), confidential = TRUE) return qdel(query_admins_with_rank) if(tgui_alert(usr,"Are you sure you want to remove [admin_rank]?","Confirm Removal",list("Do it","Cancel")) == "Do it") @@ -543,4 +543,4 @@ qdel(query_sync_lastadminrank) return qdel(query_sync_lastadminrank) - to_chat(usr, "Sync of [admin_key] successful.", confidential = TRUE) + to_chat(usr, span_admin("Sync of [admin_key] successful."), confidential = TRUE) diff --git a/code/modules/admin/poll_management.dm b/code/modules/admin/poll_management.dm index 281e92bf774..7b6c4bddd6d 100644 --- a/code/modules/admin/poll_management.dm +++ b/code/modules/admin/poll_management.dm @@ -245,7 +245,7 @@ if(!check_rights(R_POLL)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/list/error_state = list() var/new_poll = FALSE @@ -309,9 +309,9 @@ error_state += "This poll type requires at least one option." if(error_state.len) if(poll.edit_ready) - to_chat(usr, "Not all edits were applied because the following errors were present:\n[error_state.Join("\n")]", confidential = TRUE) + to_chat(usr, span_danger("Not all edits were applied because the following errors were present:\n[error_state.Join("\n")]"), confidential = TRUE) else - to_chat(usr, "Poll not [new_poll ? "initialized" : "submitted"] because the following errors were present:\n[error_state.Join("\n")]", confidential = TRUE) + to_chat(usr, span_danger("Poll not [new_poll ? "initialized" : "submitted"] because the following errors were present:\n[error_state.Join("\n")]"), confidential = TRUE) if(new_poll) qdel(poll) return @@ -354,7 +354,7 @@ if(!check_rights(R_POLL)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/datum/db_query/query_delete_poll = SSdbcore.NewQuery( "CALL set_poll_deleted(:poll_id)", @@ -383,7 +383,7 @@ if(!check_rights(R_POLL)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/new_poll = !poll_id if(poll_type != POLLTYPE_MULTI) @@ -446,7 +446,7 @@ */ /datum/poll_question/proc/save_all_options() if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return for(var/o in options) var/datum/poll_option/option = o @@ -460,7 +460,7 @@ if(!check_rights(R_POLL)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/table = "poll_vote" if(poll_type == POLLTYPE_TEXT) @@ -474,7 +474,7 @@ return qdel(query_clear_poll_votes) poll_votes = 0 - to_chat(usr, "Poll [poll_type == POLLTYPE_TEXT ? "responses" : "votes"] cleared.", confidential = TRUE) + to_chat(usr, span_danger("Poll [poll_type == POLLTYPE_TEXT ? "responses" : "votes"] cleared."), confidential = TRUE) /** * Show the options for creating a poll option or editing its parameters. @@ -543,7 +543,7 @@ if(!check_rights(R_POLL)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/list/error_state = list() var/new_option = FALSE @@ -601,10 +601,10 @@ option.desc_max = null if(error_state.len) if(new_option) - to_chat(usr, "Option not added because the following errors were present:\n[error_state.Join("\n")]", confidential = TRUE) + to_chat(usr, span_danger("Option not added because the following errors were present:\n[error_state.Join("\n")]"), confidential = TRUE) qdel(option) else - to_chat(usr, "Not all edits were applied because the following errors were present:\n[error_state.Join("\n")]", confidential = TRUE) + to_chat(usr, span_danger("Not all edits were applied because the following errors were present:\n[error_state.Join("\n")]"), confidential = TRUE) return if(new_option) poll.options += option @@ -641,7 +641,7 @@ if(!check_rights(R_POLL)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/list/values = list("text" = text, "default_percentage_calc" = default_percentage_calc, "pollid" = parent_poll.poll_id, "id" = option_id) @@ -677,7 +677,7 @@ . = parent_poll if(option_id) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/datum/db_query/query_delete_poll_option = SSdbcore.NewQuery( "UPDATE [format_table_name("poll_option")] AS o INNER JOIN [format_table_name("poll_vote")] AS v ON o.id = v.optionid SET o.deleted = 1, v.deleted = 1 WHERE o.id = :option_id", @@ -695,7 +695,7 @@ */ /proc/load_poll_data() if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/datum/db_query/query_load_polls = SSdbcore.NewQuery("SELECT id, polltype, starttime, endtime, question, subtitle, adminonly, multiplechoiceoptions, dontshow, allow_revoting, IF(polltype='TEXT',(SELECT COUNT(ckey) FROM [format_table_name("poll_textreply")] AS t WHERE t.pollid = q.id AND deleted = 0), (SELECT COUNT(DISTINCT ckey) FROM [format_table_name("poll_vote")] AS v WHERE v.pollid = q.id AND deleted = 0)), IFNULL((SELECT byond_key FROM [format_table_name("player")] AS p WHERE p.ckey = q.createdby_ckey), createdby_ckey), IF(starttime > NOW(), 1, 0) FROM [format_table_name("poll_question")] AS q WHERE NOW() < endtime AND deleted = 0") if(!query_load_polls.Execute()) diff --git a/code/modules/admin/smites/berforate.dm b/code/modules/admin/smites/berforate.dm index ce573237565..a2bcd8747fc 100644 --- a/code/modules/admin/smites/berforate.dm +++ b/code/modules/admin/smites/berforate.dm @@ -12,7 +12,7 @@ /datum/smite/berforate/effect(client/user, mob/living/target) . = ..() if (!iscarbon(target)) - to_chat(user, "This must be used on a carbon mob.", confidential = TRUE) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) return var/repetitions diff --git a/code/modules/admin/smites/bloodless.dm b/code/modules/admin/smites/bloodless.dm index cc6e0c7d920..f42711c0f74 100644 --- a/code/modules/admin/smites/bloodless.dm +++ b/code/modules/admin/smites/bloodless.dm @@ -5,7 +5,7 @@ /datum/smite/bloodless/effect(client/user, mob/living/target) . = ..() if (!iscarbon(target)) - to_chat(user, "This must be used on a carbon mob.", confidential = TRUE) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) return var/mob/living/carbon/carbon_target = target for(var/_limb in carbon_target.bodyparts) diff --git a/code/modules/admin/smites/boneless.dm b/code/modules/admin/smites/boneless.dm index e622f2c4f1e..a18b439c5c0 100644 --- a/code/modules/admin/smites/boneless.dm +++ b/code/modules/admin/smites/boneless.dm @@ -6,7 +6,7 @@ . = ..() if (!iscarbon(target)) - to_chat(user, "This must be used on a carbon mob.", confidential = TRUE) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) return var/mob/living/carbon/carbon_target = target diff --git a/code/modules/admin/smites/dock_pay.dm b/code/modules/admin/smites/dock_pay.dm index 8c220e25c9f..0ce91bbd4b7 100644 --- a/code/modules/admin/smites/dock_pay.dm +++ b/code/modules/admin/smites/dock_pay.dm @@ -5,24 +5,24 @@ /datum/smite/dock_pay/effect(client/user, mob/living/target) . = ..() if (!iscarbon(target)) - to_chat(user, "This must be used on a carbon mob.", confidential = TRUE) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) return var/mob/living/carbon/dude = target var/obj/item/card/id/card = dude.get_idcard(TRUE) if (!card) - to_chat(user, "[dude] does not have an ID card on!", confidential = TRUE) + to_chat(user, span_warning("[dude] does not have an ID card on!"), confidential = TRUE) return if (!card.registered_account) - to_chat(user, "[dude] does not have an ID card with an account!", confidential = TRUE) + to_chat(user, span_warning("[dude] does not have an ID card with an account!"), confidential = TRUE) return if (card.registered_account.account_balance == 0) - to_chat(user, "ID Card lacks any funds. No pay to dock.") + to_chat(user, span_warning("ID Card lacks any funds. No pay to dock.")) return var/new_cost = input("How much pay are we docking? Current balance: [card.registered_account.account_balance] credits.", "BUDGET CUTS") as num|null if (!new_cost) return if (!(card.registered_account.has_money(new_cost))) - to_chat(user, "ID Card lacked funds. Emptying account.") + to_chat(user, span_warning("ID Card lacked funds. Emptying account.")) card.registered_account.bank_card_talk("[new_cost] credits deducted from your account based on performance review.") card.registered_account.account_balance = 0 else diff --git a/code/modules/admin/smites/knot_shoes.dm b/code/modules/admin/smites/knot_shoes.dm index 42d41e238e9..057dbd74360 100644 --- a/code/modules/admin/smites/knot_shoes.dm +++ b/code/modules/admin/smites/knot_shoes.dm @@ -5,11 +5,11 @@ /datum/smite/knot_shoes/effect(client/user, mob/living/target) . = ..() if (!iscarbon(target)) - to_chat(user, "This must be used on a carbon mob.", confidential = TRUE) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) return var/mob/living/carbon/dude = target var/obj/item/clothing/shoes/sick_kicks = dude.shoes if (!sick_kicks?.can_be_tied) - to_chat(user, "[dude] does not have knottable shoes!", confidential = TRUE) + to_chat(user, span_warning("[dude] does not have knottable shoes!"), confidential = TRUE) return sick_kicks.adjust_laces(SHOES_KNOTTED) diff --git a/code/modules/admin/smites/lightning.dm b/code/modules/admin/smites/lightning.dm index 92eca51f291..27cab44e2d0 100644 --- a/code/modules/admin/smites/lightning.dm +++ b/code/modules/admin/smites/lightning.dm @@ -11,4 +11,4 @@ if(ishuman(target)) var/mob/living/carbon/human/human_target = target human_target.electrocution_animation(LIGHTNING_BOLT_ELECTROCUTION_ANIMATION_LENGTH) - to_chat(target, "The gods have punished you for your sins!", confidential = TRUE) + to_chat(target, span_userdanger("The gods have punished you for your sins!"), confidential = TRUE) diff --git a/code/modules/admin/smites/nugget.dm b/code/modules/admin/smites/nugget.dm index 77f92536ff5..4d3ed826a7b 100644 --- a/code/modules/admin/smites/nugget.dm +++ b/code/modules/admin/smites/nugget.dm @@ -6,7 +6,7 @@ . = ..() if (!iscarbon(target)) - to_chat(user, "This must be used on a carbon mob.", confidential = TRUE) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) return var/mob/living/carbon/carbon_target = target diff --git a/code/modules/admin/smites/puzzle.dm b/code/modules/admin/smites/puzzle.dm index ffaee144120..bf5429411c0 100644 --- a/code/modules/admin/smites/puzzle.dm +++ b/code/modules/admin/smites/puzzle.dm @@ -5,4 +5,4 @@ /datum/smite/puzzle/effect(client/user, mob/living/target) . = ..() if(!puzzle_imprison(target)) - to_chat(user, "Imprisonment failed!", confidential = TRUE) + to_chat(user, span_warning("Imprisonment failed!"), confidential = TRUE) diff --git a/code/modules/admin/smites/scarify.dm b/code/modules/admin/smites/scarify.dm index d2d445f23e3..fcbe2062e89 100644 --- a/code/modules/admin/smites/scarify.dm +++ b/code/modules/admin/smites/scarify.dm @@ -5,8 +5,8 @@ /datum/smite/scarify/effect(client/user, mob/living/target) . = ..() if(!iscarbon(target)) - to_chat(user, "This must be used on a carbon mob.", confidential = TRUE) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) return var/mob/living/carbon/dude = target dude.generate_fake_scars(rand(1, 4)) - to_chat(dude, "You feel your body grow jaded and torn...") + to_chat(dude, span_warning("You feel your body grow jaded and torn...")) diff --git a/code/modules/admin/sound_emitter.dm b/code/modules/admin/sound_emitter.dm index 6b248a2e8e9..37980e04a6e 100644 --- a/code/modules/admin/sound_emitter.dm +++ b/code/modules/admin/sound_emitter.dm @@ -37,9 +37,9 @@ . = ..() if(!isobserver(user)) return - . += "Sound File: [sound_file ? sound_file : "None chosen"]" - . += "Mode: [motus_operandi]" - . += "Range: [emitter_range]" + . += "[span_boldnotice("Sound File:")] [sound_file ? sound_file : "None chosen"]" + . += span_boldnotice("Mode: [motus_operandi]") + . += span_boldnotice("Range: [emitter_range]") . += "Sound is playing at [sound_volume]% volume." if(user.client.holder) . += "Alt-click it to quickly activate it!" @@ -54,7 +54,7 @@ /obj/effect/sound_emitter/AltClick(mob/user) if(check_rights_for(user.client, R_SOUND)) activate(user) - to_chat(user, "Sound emitter activated.", confidential = TRUE) + to_chat(user, span_notice("Sound emitter activated."), confidential = TRUE) /obj/effect/sound_emitter/proc/edit_emitter(mob/user) var/dat = "" @@ -82,20 +82,20 @@ if(!new_label) return maptext = MAPTEXT(new_label) - to_chat(user, "Label set to [maptext].", confidential = TRUE) + to_chat(user, span_notice("Label set to [maptext]."), confidential = TRUE) if(href_list["edit_sound_file"]) var/new_file = input(user, "Choose a sound file.", "Sound Emitter") as null|sound if(!new_file) return sound_file = new_file - to_chat(user, "New sound file set to [sound_file].", confidential = TRUE) + to_chat(user, span_notice("New sound file set to [sound_file]."), confidential = TRUE) if(href_list["edit_volume"]) var/new_volume = input(user, "Choose a volume.", "Sound Emitter", sound_volume) as null|num if(isnull(new_volume)) return new_volume = clamp(new_volume, 0, 100) sound_volume = new_volume - to_chat(user, "Volume set to [sound_volume]%.", confidential = TRUE) + to_chat(user, span_notice("Volume set to [sound_volume]%."), confidential = TRUE) if(href_list["edit_mode"]) var/new_mode var/mode_list = list("Local (normal sound)" = SOUND_EMITTER_LOCAL, "Direct (not affected by environment/location)" = SOUND_EMITTER_DIRECT) @@ -103,7 +103,7 @@ if(!new_mode) return motus_operandi = mode_list[new_mode] - to_chat(user, "Mode set to [motus_operandi].", confidential = TRUE) + to_chat(user, span_notice("Mode set to [motus_operandi]."), confidential = TRUE) if(href_list["edit_range"]) var/new_range var/range_list = list("Radius (all mobs within a radius)" = SOUND_EMITTER_RADIUS, "Z-Level (all mobs on the same z)" = SOUND_EMITTER_ZLEVEL, "Global (all players)" = SOUND_EMITTER_GLOBAL) @@ -111,14 +111,14 @@ if(!new_range) return emitter_range = range_list[new_range] - to_chat(user, "Range set to [emitter_range].", confidential = TRUE) + to_chat(user, span_notice("Range set to [emitter_range]."), confidential = TRUE) if(href_list["edit_radius"]) var/new_radius = input(user, "Choose a radius.", "Sound Emitter", sound_volume) as null|num if(isnull(new_radius)) return new_radius = clamp(new_radius, 0, 127) play_radius = new_radius - to_chat(user, "Audible radius set to [play_radius].", confidential = TRUE) + to_chat(user, span_notice("Audible radius set to [play_radius]."), confidential = TRUE) if(href_list["play"]) activate(user) edit_emitter(user) //Refresh the UI to see our changes diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index 4865e19ef74..dd9e691ecc7 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -337,7 +337,7 @@ if(!check_rights(R_BAN)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/list/error_state = list() var/player_key @@ -443,7 +443,7 @@ else error_state += "No ban type was selected." if(error_state.len) - to_chat(usr, "Ban not [edit_id ? "edited" : "created"] because the following errors were present:\n[error_state.Join("\n")]", confidential = TRUE) + to_chat(usr, span_danger("Ban not [edit_id ? "edited" : "created"] because the following errors were present:\n[error_state.Join("\n")]"), confidential = TRUE) return if(edit_id) edit_ban(edit_id, player_key, ip_check, player_ip, cid_check, player_cid, use_last_connection, applies_to_admins, duration, interval, reason, mirror_edit, old_key, old_ip, old_cid, old_applies, page, admin_key, changes) @@ -454,7 +454,7 @@ if(!check_rights(R_BAN)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/player_ckey = ckey(player_key) if(player_ckey) @@ -501,7 +501,7 @@ if(R_EVERYTHING && !(R_EVERYTHING & rank.can_edit_rights)) //edit rights are a more effective way to check hierarchical rank since many non-headmins have R_PERMISSIONS now max_adminbans = MAX_ADMINBANS_PER_HEADMIN if(adminban_count >= max_adminbans) - to_chat(usr, "You've already logged [max_adminbans] admin ban(s) or more. Do not abuse this function!", confidential = TRUE) + to_chat(usr, span_danger("You've already logged [max_adminbans] admin ban(s) or more. Do not abuse this function!"), confidential = TRUE) qdel(query_check_adminban_count) return qdel(query_check_adminban_count) @@ -567,7 +567,7 @@ var/is_admin = FALSE if(C) build_ban_cache(C) - to_chat(C, "You have been [applies_to_admins ? "admin " : ""]banned by [usr.client.key] from [roles_to_ban[1] == "Server" ? "the server" : " Roles: [roles_to_ban.Join(", ")]"].\nReason: [reason]
    This ban is [isnull(duration) ? "permanent." : "temporary, it will be removed in [time_message]."] The round ID is [GLOB.round_id].
    To appeal this ban go to [appeal_url]", confidential = TRUE) + to_chat(C, span_boldannounce("You have been [applies_to_admins ? "admin " : ""]banned by [usr.client.key] from [roles_to_ban[1] == "Server" ? "the server" : " Roles: [roles_to_ban.Join(", ")]"].\nReason: [reason]
    [span_danger("This ban is [isnull(duration) ? "permanent." : "temporary, it will be removed in [time_message]."] The round ID is [GLOB.round_id].")]
    To appeal this ban go to [appeal_url]"), confidential = TRUE) if(GLOB.admin_datums[C.ckey] || GLOB.deadmins[C.ckey]) is_admin = TRUE if(roles_to_ban[1] == "Server" && (!is_admin || (is_admin && applies_to_admins))) @@ -577,7 +577,7 @@ for(var/client/i in GLOB.clients - C) if(i.address == player_ip || i.computer_id == player_cid) build_ban_cache(i) - to_chat(i, "You have been [applies_to_admins ? "admin " : ""]banned by [usr.client.key] from [roles_to_ban[1] == "Server" ? "the server" : " Roles: [roles_to_ban.Join(", ")]"].\nReason: [reason]
    This ban is [isnull(duration) ? "permanent." : "temporary, it will be removed in [time_message]."] The round ID is [GLOB.round_id].
    To appeal this ban go to [appeal_url]", confidential = TRUE) + to_chat(i, span_boldannounce("You have been [applies_to_admins ? "admin " : ""]banned by [usr.client.key] from [roles_to_ban[1] == "Server" ? "the server" : " Roles: [roles_to_ban.Join(", ")]"].\nReason: [reason]

    [span_danger("This ban is [isnull(duration) ? "permanent." : "temporary, it will be removed in [time_message]."] The round ID is [GLOB.round_id].")]
    To appeal this ban go to [appeal_url]"), confidential = TRUE) if(GLOB.admin_datums[i.ckey] || GLOB.deadmins[i.ckey]) is_admin = TRUE if(roles_to_ban[1] == "Server" && (!is_admin || (is_admin && applies_to_admins))) @@ -587,7 +587,7 @@ if(!check_rights(R_BAN)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/datum/browser/unban_panel = new(usr, "unbanpanel", "Unbanning Panel", 850, 600) unban_panel.add_stylesheet("unbanpanelcss", 'html/admin/unbanpanel.css') @@ -729,7 +729,7 @@ if(!check_rights(R_BAN)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/target = ban_target_string(player_key, player_ip, player_cid) if(tgui_alert(usr, "Please confirm unban of [target] from [role].", "Unban confirmation", list("Yes", "No")) == "No") @@ -754,18 +754,18 @@ var/client/C = GLOB.directory[player_key] if(C) build_ban_cache(C) - to_chat(C, "[usr.client.key] has removed a ban from [role] for your key.", confidential = TRUE) + to_chat(C, span_boldannounce("[usr.client.key] has removed a ban from [role] for your key."), confidential = TRUE) for(var/client/i in GLOB.clients - C) if(i.address == player_ip || i.computer_id == player_cid) build_ban_cache(i) - to_chat(i, "[usr.client.key] has removed a ban from [role] for your IP or CID.", confidential = TRUE) + to_chat(i, span_boldannounce("[usr.client.key] has removed a ban from [role] for your IP or CID."), confidential = TRUE) unban_panel(player_key, admin_key, player_ip, player_cid, page) /datum/admins/proc/edit_ban(ban_id, player_key, ip_check, player_ip, cid_check, player_cid, use_last_connection, applies_to_admins, duration, interval, reason, mirror_edit, old_key, old_ip, old_cid, old_applies, admin_key, page, list/changes) if(!check_rights(R_BAN)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/player_ckey = ckey(player_key) var/bantime @@ -818,7 +818,7 @@ if(R_EVERYTHING && !(R_EVERYTHING & rank.can_edit_rights)) //edit rights are a more effective way to check hierarchical rank since many non-headmins have R_PERMISSIONS now max_adminbans = MAX_ADMINBANS_PER_HEADMIN if(adminban_count >= max_adminbans) - to_chat(usr, "You've already logged [max_adminbans] admin ban(s) or more. Do not abuse this function!", confidential = TRUE) + to_chat(usr, span_danger("You've already logged [max_adminbans] admin ban(s) or more. Do not abuse this function!"), confidential = TRUE) qdel(query_check_adminban_count) return qdel(query_check_adminban_count) @@ -886,18 +886,18 @@ var/client/C = GLOB.directory[old_key] if(C) build_ban_cache(C) - to_chat(C, "[usr.client.key] has edited the [changes_keys_text] of a ban for your key.", confidential = TRUE) + to_chat(C, span_boldannounce("[usr.client.key] has edited the [changes_keys_text] of a ban for your key."), confidential = TRUE) for(var/client/i in GLOB.clients - C) if(i.address == old_ip || i.computer_id == old_cid) build_ban_cache(i) - to_chat(i, "[usr.client.key] has edited the [changes_keys_text] of a ban for your IP or CID.", confidential = TRUE) + to_chat(i, span_boldannounce("[usr.client.key] has edited the [changes_keys_text] of a ban for your IP or CID."), confidential = TRUE) unban_panel(player_key, null, null, null, page) /datum/admins/proc/ban_log(ban_id) if(!check_rights(R_BAN)) return if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/datum/db_query/query_get_ban_edits = SSdbcore.NewQuery({" SELECT edits FROM [format_table_name("ban")] WHERE id = :ban_id diff --git a/code/modules/admin/sql_message_system.dm b/code/modules/admin/sql_message_system.dm index f5ef2e89b02..934a0d8a76b 100644 --- a/code/modules/admin/sql_message_system.dm +++ b/code/modules/admin/sql_message_system.dm @@ -1,6 +1,6 @@ /proc/create_message(type, target_key, admin_ckey, text, timestamp, server, secret, logged = 1, browse, expiry, note_severity) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return if(!type) return @@ -111,7 +111,7 @@ /proc/delete_message(message_id, logged = 1, browse) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return message_id = text2num(message_id) if(!message_id) @@ -154,7 +154,7 @@ /proc/edit_message(message_id, browse) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return message_id = text2num(message_id) if(!message_id) @@ -204,7 +204,7 @@ /proc/edit_message_expiry(message_id, browse) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return message_id = text2num(message_id) if(!message_id) @@ -275,7 +275,7 @@ /proc/edit_message_severity(message_id) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return message_id = text2num(message_id) if(!message_id) @@ -326,7 +326,7 @@ /proc/toggle_message_secrecy(message_id) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return message_id = text2num(message_id) if(!message_id) @@ -370,7 +370,7 @@ /proc/browse_messages(type, target_ckey, index, linkless = FALSE, filter, agegate = FALSE) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return var/list/output = list() var/ruler = "
    " @@ -623,7 +623,7 @@ /proc/get_message_output(type, target_ckey) if(!SSdbcore.Connect()) - to_chat(usr, "Failed to establish database connection.", confidential = TRUE) + to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE) return if(!type) return @@ -652,7 +652,7 @@ var/editor_key = query_get_message_output.item[5] switch(type) if("message") - output += "Admin message left by [admin_key] on [timestamp]" + output += "Admin message left by [span_prefix("[admin_key]")] on [timestamp]" output += "
    [text]
    " var/datum/db_query/query_message_read = SSdbcore.NewQuery( "UPDATE [format_table_name("messages")] SET type = 'message sent' WHERE id = :id", @@ -667,9 +667,9 @@ message_admins("Notice: [key_name_admin(target_ckey)] has been on the watchlist since [timestamp] and has just connected - Reason: [text]") send2tgs_adminless_only("Watchlist", "[key_name(target_ckey)] is on the watchlist and has just connected - Reason: [text]") if("memo") - output += "Memo by [admin_key] on [timestamp]" + output += "[span_memo("Memo by [admin_key]")] on [timestamp]" if(editor_key) - output += "
    Last edit by [editor_key] (Click here to see edit log)" + output += "
    [span_memoedit("Last edit by [editor_key] (Click here to see edit log)")]" output += "
    [text]

    " qdel(query_get_message_output) return output diff --git a/code/modules/admin/stickyban.dm b/code/modules/admin/stickyban.dm index 065e7e3edfb..c7e42241905 100644 --- a/code/modules/admin/stickyban.dm +++ b/code/modules/admin/stickyban.dm @@ -21,7 +21,7 @@ ban["ckey"] = ckey if (get_stickyban_from_ckey(ckey)) - to_chat(usr, "Error: Can not add a stickyban: User already has a current sticky ban", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: Can not add a stickyban: User already has a current sticky ban"), confidential = TRUE) return if (data["reason"]) @@ -50,7 +50,7 @@ SSstickyban.cache[ckey] = ban log_admin_private("[key_name(usr)] has stickybanned [ckey].\nReason: [ban["message"]]") - message_admins("[key_name_admin(usr)] has stickybanned [ckey].\nReason: [ban["message"]]") + message_admins(span_adminnotice("[key_name_admin(usr)] has stickybanned [ckey].\nReason: [ban["message"]]")) if ("remove") if (!data["ckey"]) @@ -59,12 +59,12 @@ var/ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return if (tgui_alert(usr,"Are you sure you want to remove the sticky ban on [ckey]?","Are you sure",list("Yes","No")) == "No") return if (!get_stickyban_from_ckey(ckey)) - to_chat(usr, "Error: The ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: The ban disappeared."), confidential = TRUE) return world.SetConfig("ban",ckey, null) SSstickyban.cache -= ckey @@ -79,7 +79,7 @@ log_admin_private("[key_name(usr)] removed [ckey]'s stickyban") - message_admins("[key_name_admin(usr)] removed [ckey]'s stickyban") + message_admins(span_adminnotice("[key_name_admin(usr)] removed [ckey]'s stickyban")) if ("remove_alt") if (!data["ckey"]) @@ -90,12 +90,12 @@ var/alt = ckey(data["alt"]) var/ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return var/key = LAZYACCESS(ban["keys"], alt) if (!key) - to_chat(usr, "Error: [alt] is not linked to [ckey]'s sticky ban!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: [alt] is not linked to [ckey]'s sticky ban!"), confidential = TRUE) return if (tgui_alert(usr,"Are you sure you want to disassociate [alt] from [ckey]'s sticky ban? \nNote: Nothing stops byond from re-linking them, Use \[E] to exempt them","Are you sure",list("Yes","No")) == "No") @@ -104,13 +104,13 @@ //we have to do this again incase something changes ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: The ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: The ban disappeared."), confidential = TRUE) return key = LAZYACCESS(ban["keys"], alt) if (!key) - to_chat(usr, "Error: [alt] link to [ckey]'s sticky ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: [alt] link to [ckey]'s sticky ban disappeared."), confidential = TRUE) return LAZYREMOVE(ban["keys"], alt) @@ -127,7 +127,7 @@ qdel(query_remove_stickyban_alt) log_admin_private("[key_name(usr)] has disassociated [alt] from [ckey]'s sticky ban") - message_admins("[key_name_admin(usr)] has disassociated [alt] from [ckey]'s sticky ban") + message_admins(span_adminnotice("[key_name_admin(usr)] has disassociated [alt] from [ckey]'s sticky ban")) if ("edit") if (!data["ckey"]) @@ -135,7 +135,7 @@ var/ckey = data["ckey"] var/ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return var/oldreason = ban["message"] var/reason = input(usr,"Reason","Reason","[ban["message"]]") as text|null @@ -144,7 +144,7 @@ //we have to do this again incase something changed while we waited for input ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: The ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: The ban disappeared."), confidential = TRUE) return ban["message"] = "[reason]" @@ -161,7 +161,7 @@ qdel(query_edit_stickyban) log_admin_private("[key_name(usr)] has edited [ckey]'s sticky ban reason from [oldreason] to [reason]") - message_admins("[key_name_admin(usr)] has edited [ckey]'s sticky ban reason from [oldreason] to [reason]") + message_admins(span_adminnotice("[key_name_admin(usr)] has edited [ckey]'s sticky ban reason from [oldreason] to [reason]")) if ("exempt") if (!data["ckey"]) @@ -172,12 +172,12 @@ var/alt = ckey(data["alt"]) var/ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return var/key = LAZYACCESS(ban["keys"], alt) if (!key) - to_chat(usr, "Error: [alt] is not linked to [ckey]'s sticky ban!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: [alt] is not linked to [ckey]'s sticky ban!"), confidential = TRUE) return if (tgui_alert(usr,"Are you sure you want to exempt [alt] from [ckey]'s sticky ban?","Are you sure",list("Yes","No")) == "No") @@ -186,13 +186,13 @@ //we have to do this again incase something changes ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: The ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: The ban disappeared."), confidential = TRUE) return key = LAZYACCESS(ban["keys"], alt) if (!key) - to_chat(usr, "Error: [alt]'s link to [ckey]'s sticky ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: [alt]'s link to [ckey]'s sticky ban disappeared."), confidential = TRUE) return LAZYREMOVE(ban["keys"], alt) key["exempt"] = TRUE @@ -211,7 +211,7 @@ qdel(query_exempt_stickyban_alt) log_admin_private("[key_name(usr)] has exempted [alt] from [ckey]'s sticky ban") - message_admins("[key_name_admin(usr)] has exempted [alt] from [ckey]'s sticky ban") + message_admins(span_adminnotice("[key_name_admin(usr)] has exempted [alt] from [ckey]'s sticky ban")) if ("unexempt") if (!data["ckey"]) @@ -222,12 +222,12 @@ var/alt = ckey(data["alt"]) var/ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return var/key = LAZYACCESS(ban["whitelist"], alt) if (!key) - to_chat(usr, "Error: [alt] is not exempt from [ckey]'s sticky ban!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: [alt] is not exempt from [ckey]'s sticky ban!"), confidential = TRUE) return if (tgui_alert(usr,"Are you sure you want to unexempt [alt] from [ckey]'s sticky ban?","Are you sure",list("Yes","No")) == "No") @@ -236,12 +236,12 @@ //we have to do this again incase something changes ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: The ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: The ban disappeared."), confidential = TRUE) return key = LAZYACCESS(ban["whitelist"], alt) if (!key) - to_chat(usr, "Error: [alt]'s exemption from [ckey]'s sticky ban disappeared.", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: [alt]'s exemption from [ckey]'s sticky ban disappeared."), confidential = TRUE) return LAZYREMOVE(ban["whitelist"], alt) @@ -261,13 +261,13 @@ qdel(query_unexempt_stickyban_alt) log_admin_private("[key_name(usr)] has unexempted [alt] from [ckey]'s sticky ban") - message_admins("[key_name_admin(usr)] has unexempted [alt] from [ckey]'s sticky ban") + message_admins(span_adminnotice("[key_name_admin(usr)] has unexempted [alt] from [ckey]'s sticky ban")) if ("timeout") if (!data["ckey"]) return if (!SSdbcore.Connect()) - to_chat(usr, "No database connection!", confidential = TRUE) + to_chat(usr, span_adminnotice("No database connection!"), confidential = TRUE) return var/ckey = data["ckey"] @@ -276,7 +276,7 @@ return var/ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return ban["timeout"] = TRUE @@ -288,13 +288,13 @@ cachedban["timeout"] = TRUE log_admin_private("[key_name(usr)] has put [ckey]'s sticky ban on timeout.") - message_admins("[key_name_admin(usr)] has put [ckey]'s sticky ban on timeout.") + message_admins(span_adminnotice("[key_name_admin(usr)] has put [ckey]'s sticky ban on timeout.")) if ("untimeout") if (!data["ckey"]) return if (!SSdbcore.Connect()) - to_chat(usr, "No database connection!", confidential = TRUE) + to_chat(usr, span_adminnotice("No database connection!"), confidential = TRUE) return var/ckey = data["ckey"] @@ -307,7 +307,7 @@ cachedban["timeout"] = FALSE if (!ban) if (!cachedban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return ban = cachedban @@ -316,7 +316,7 @@ world.SetConfig("ban",ckey,list2stickyban(ban)) log_admin_private("[key_name(usr)] has taken [ckey]'s sticky ban off of timeout.") - message_admins("[key_name_admin(usr)] has taken [ckey]'s sticky ban off of timeout.") + message_admins(span_adminnotice("[key_name_admin(usr)] has taken [ckey]'s sticky ban off of timeout.")) if ("revert") @@ -327,15 +327,15 @@ return var/ban = get_stickyban_from_ckey(ckey) if (!ban) - to_chat(usr, "Error: No sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No sticky ban for [ckey] found!"), confidential = TRUE) return var/cached_ban = SSstickyban.cache[ckey] if (!cached_ban) - to_chat(usr, "Error: No cached sticky ban for [ckey] found!", confidential = TRUE) + to_chat(usr, span_adminnotice("Error: No cached sticky ban for [ckey] found!"), confidential = TRUE) world.SetConfig("ban",ckey,null) log_admin_private("[key_name(usr)] has reverted [ckey]'s sticky ban to its state at round start.") - message_admins("[key_name_admin(usr)] has reverted [ckey]'s sticky ban to its state at round start.") + message_admins(span_adminnotice("[key_name_admin(usr)] has reverted [ckey]'s sticky ban to its state at round start.")) //revert is mostly used when shit goes rouge, so we have to set it to null // and wait a byond tick before assigning it to ensure byond clears its shit. sleep(world.tick_lag) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a6f20b79f28..e3d73063ce4 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -44,7 +44,7 @@ return var/mob/M = locate(href_list["getplaytimewindow"]) in GLOB.mob_list if(!M) - to_chat(usr, "ERROR: Mob not found.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Mob not found."), confidential = TRUE) return cmd_show_exp_panel(M.client) else if(href_list["forceevent"]) @@ -104,7 +104,7 @@ return SSshuttle.emergency.request() log_admin("[key_name(usr)] called the Emergency Shuttle.") - message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station.") + message_admins(span_adminnotice("[key_name_admin(usr)] called the Emergency Shuttle to the station.")) if("2") if(EMERGENCY_AT_LEAST_DOCKED) @@ -113,11 +113,11 @@ if(SHUTTLE_CALL) SSshuttle.emergency.cancel() log_admin("[key_name(usr)] sent the Emergency Shuttle back.") - message_admins("[key_name_admin(usr)] sent the Emergency Shuttle back.") + message_admins(span_adminnotice("[key_name_admin(usr)] sent the Emergency Shuttle back.")) else SSshuttle.emergency.cancel() log_admin("[key_name(usr)] called the Emergency Shuttle.") - message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station.") + message_admins(span_adminnotice("[key_name_admin(usr)] called the Emergency Shuttle to the station.")) @@ -131,7 +131,7 @@ SSshuttle.emergency.setTimer(timer SECONDS) log_admin("[key_name(usr)] edited the Emergency Shuttle's timeleft to [timer] seconds.") minor_announce("The emergency shuttle will reach its destination in [DisplayTimeText(timer SECONDS)].") - message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] seconds.") + message_admins(span_adminnotice("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] seconds.")) else if(href_list["trigger_centcom_recall"]) if(!check_rights(R_ADMIN)) return @@ -197,16 +197,16 @@ if(!check_rights(R_ADMIN)) return - message_admins("[key_name_admin(usr)] is considering ending the round.") + message_admins(span_adminnotice("[key_name_admin(usr)] is considering ending the round.")) if(tgui_alert(usr, "This will end the round, are you SURE you want to do this?", "Confirmation", list("Yes", "No")) == "Yes") if(tgui_alert(usr, "Final Confirmation: End the round NOW?", "Confirmation", list("Yes", "No")) == "Yes") - message_admins("[key_name_admin(usr)] has ended the round.") + message_admins(span_adminnotice("[key_name_admin(usr)] has ended the round.")) SSticker.force_ending = 1 //Yeah there we go APC destroyed mission accomplished return else - message_admins("[key_name_admin(usr)] decided against ending the round.") + message_admins(span_adminnotice("[key_name_admin(usr)] decided against ending the round.")) else - message_admins("[key_name_admin(usr)] decided against ending the round.") + message_admins(span_adminnotice("[key_name_admin(usr)] decided against ending the round.")) else if(href_list["simplemake"]) if(!check_rights(R_SPAWN)) @@ -226,7 +226,7 @@ delmob = FALSE log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]].; deletemob=[delmob]") - message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]].; deletemob=[delmob]") + message_admins(span_adminnotice("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]].; deletemob=[delmob]")) switch(href_list["simplemake"]) if("observer") M.change_mob_type( /mob/dead/observer , null, null, delmob ) @@ -292,19 +292,19 @@ var/mob/M = locate(href_list["boot2"]) if(ismob(M)) if(!check_if_greater_rights_than(M.client)) - to_chat(usr, "Error: They have more rights than you do.", confidential = TRUE) + to_chat(usr, span_danger("Error: They have more rights than you do."), confidential = TRUE) return if(tgui_alert(usr, "Kick [key_name(M)]?", "Confirm", list("Yes", "No")) != "Yes") return if(!M) - to_chat(usr, "Error: [M] no longer exists!", confidential = TRUE) + to_chat(usr, span_danger("Error: [M] no longer exists!"), confidential = TRUE) return if(!M.client) - to_chat(usr, "Error: [M] no longer has a client!", confidential = TRUE) + to_chat(usr, span_danger("Error: [M] no longer has a client!"), confidential = TRUE) return - to_chat(M, "You have been kicked from the server by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.key]"].", confidential = TRUE) + to_chat(M, span_danger("You have been kicked from the server by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.key]"]."), confidential = TRUE) log_admin("[key_name(usr)] kicked [key_name(M)].") - message_admins("[key_name_admin(usr)] kicked [key_name_admin(M)].") + message_admins(span_adminnotice("[key_name_admin(usr)] kicked [key_name_admin(M)].")) qdel(M.client) else if(href_list["addmessage"]) @@ -560,7 +560,7 @@ return log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)].") - message_admins("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)].") + message_admins(span_adminnotice("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)].")) H.monkeyize() else if(href_list["humanone"]) @@ -573,7 +573,7 @@ return log_admin("[key_name(usr)] attempting to humanize [key_name(Mo)].") - message_admins("[key_name_admin(usr)] attempting to humanize [key_name_admin(Mo)].") + message_admins(span_adminnotice("[key_name_admin(usr)] attempting to humanize [key_name_admin(Mo)].")) Mo.humanize() else if(href_list["corgione"]) @@ -586,7 +586,7 @@ return log_admin("[key_name(usr)] attempting to corgize [key_name(H)].") - message_admins("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)].") + message_admins(span_adminnotice("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)].")) H.corgize() @@ -604,7 +604,7 @@ M.say(speech, forced = "admin speech") speech = sanitize(speech) // Nah, we don't trust them log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]") - message_admins("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]") + message_admins(span_adminnotice("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]")) else if(href_list["sendtoprison"]) if(!check_rights(R_ADMIN)) @@ -622,7 +622,7 @@ return M.forceMove(pick(GLOB.prisonwarp)) - to_chat(M, "You have been sent to Prison!", confidential = TRUE) + to_chat(M, span_adminnotice("You have been sent to Prison!"), confidential = TRUE) log_admin("[key_name(usr)] has sent [key_name(M)] to Prison!") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to Prison!") @@ -634,11 +634,11 @@ var/mob/M = locate(href_list["sendbacktolobby"]) if(!isobserver(M)) - to_chat(usr, "You can only send ghost players back to the Lobby.", confidential = TRUE) + to_chat(usr, span_notice("You can only send ghost players back to the Lobby."), confidential = TRUE) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.", confidential = TRUE) + to_chat(usr, span_warning("[M] doesn't seem to have an active client."), confidential = TRUE) return if(tgui_alert(usr, "Send [key_name(M)] back to Lobby?", "Message", list("Yes", "No")) != "Yes") @@ -673,7 +673,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdome1)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, span_adminnotice("You have been sent to the Thunderdome.")), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Team 1)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Team 1)") @@ -699,7 +699,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdome2)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, span_adminnotice("You have been sent to the Thunderdome.")), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Team 2)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Team 2)") @@ -722,7 +722,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdomeadmin)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, span_adminnotice("You have been sent to the Thunderdome.")), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Admin.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Admin.)") @@ -752,7 +752,7 @@ L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdomeobserve)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, "You have been sent to the Thunderdome."), 5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, L, span_adminnotice("You have been sent to the Thunderdome.")), 5 SECONDS) log_admin("[key_name(usr)] has sent [key_name(L)] to the thunderdome. (Observer.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Observer.)") @@ -766,7 +766,7 @@ return L.revive(full_heal = TRUE, admin_revive = TRUE) - message_admins("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!") + message_admins(span_danger("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!")) log_admin("[key_name(usr)] healed / Revived [key_name(L)].") else if(href_list["makeai"]) @@ -785,9 +785,9 @@ if("No") move = FALSE if(QDELETED(H)) - to_chat(usr, "Subject was deleted already. Transform canceled.") + to_chat(usr, span_danger("Subject was deleted already. Transform canceled.")) return - message_admins("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!") + message_admins(span_danger("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!")) log_admin("[key_name(usr)] AIized [key_name(H)].") H.AIize(TRUE, H.client, move) @@ -1063,7 +1063,7 @@ log_admin("[key_name(H)] got their [new_item], spawned by [key_name(src.owner)].") message_admins("[key_name(H)] got their [new_item], spawned by [key_name(src.owner)].") SSblackbox.record_feedback("amount", "admin_cookies_spawned", 1) - to_chat(H, "Your prayers have been answered!! You received the best [new_item.name]!", confidential = TRUE) + to_chat(H, span_adminnotice("Your prayers have been answered!! You received the best [new_item.name]!"), confidential = TRUE) SEND_SOUND(H, sound('sound/effects/pray_chaplain.ogg')) else if(href_list["adminsmite"]) @@ -1634,7 +1634,7 @@ if(tgui_alert(usr,"Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby??","Message",list("Yes","Cancel")) != "Yes") to_chat(usr, "Kick clients from lobby aborted", confidential = TRUE) return - var/list/listkicked = kick_clients_in_lobby("You were kicked from the lobby by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.key]"].", afkonly) + var/list/listkicked = kick_clients_in_lobby(span_danger("You were kicked from the lobby by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.key]"]."), afkonly) var/strkicked = "" for(var/name in listkicked) @@ -1677,7 +1677,7 @@ else if(href_list["viewruntime"]) var/datum/error_viewer/error_viewer = locate(href_list["viewruntime"]) if(!istype(error_viewer)) - to_chat(usr, "That runtime viewer no longer exists.", confidential = TRUE) + to_chat(usr, span_warning("That runtime viewer no longer exists."), confidential = TRUE) return if(href_list["viewruntime_backto"]) @@ -1707,7 +1707,7 @@ return if(!CONFIG_GET(string/centcom_ban_db)) - to_chat(usr, "Centcom Galactic Ban DB is disabled!") + to_chat(usr, span_warning("Centcom Galactic Ban DB is disabled!")) return var/ckey = href_list["centcomlookup"] @@ -1949,11 +1949,11 @@ else if(href_list["admincommend"]) if(!SSticker.IsRoundInProgress()) - to_chat(usr, "The round must be in progress to use this!") + to_chat(usr, span_warning("The round must be in progress to use this!")) return var/mob/heart_recepient = locate(href_list["admincommend"]) if(!heart_recepient?.ckey) - to_chat(usr, "This mob either no longer exists or no longer is being controlled by someone!") + to_chat(usr, span_warning("This mob either no longer exists or no longer is being controlled by someone!")) return switch(tgui_alert(usr, "Would you like the effects to apply immediately or at the end of the round? Applying them now will make it clear it was an admin commendation.", "<3?", list("Apply now", "Apply at round end", "Cancel"))) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 25026833c56..bd9088eff2e 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -203,7 +203,7 @@ /client/proc/SDQL2_query(query_text as message) set category = "Debug" if(!check_rights(R_DEBUG)) //Shouldn't happen... but just to be safe. - message_admins("ERROR: Non-admin [key_name(usr)] attempted to execute a SDQL query!") + message_admins(span_danger("ERROR: Non-admin [key_name(usr)] attempted to execute a SDQL query!")) log_admin("Non-admin [key_name(usr)] attempted to execute a SDQL query!") return FALSE var/list/results = world.SDQL2_query(query_text, key_name_admin(usr), "[key_name(usr)]") @@ -248,7 +248,7 @@ running += query var/msg = "Starting query #[query.id] - [query.get_query_text()]." if(usr) - to_chat(usr, "[msg]", confidential = TRUE) + to_chat(usr, span_admin("[msg]"), confidential = TRUE) log_admin(msg) query.ARun() else //Start all @@ -256,7 +256,7 @@ running += query var/msg = "Starting query #[query.id] - [query.get_query_text()]." if(usr) - to_chat(usr, "[msg]", confidential = TRUE) + to_chat(usr, span_admin("[msg]"), confidential = TRUE) log_admin(msg) query.ARun() @@ -277,7 +277,7 @@ finished = FALSE if(query.state == SDQL2_STATE_ERROR) if(usr) - to_chat(usr, "SDQL query [query.get_query_text()] errored. It will NOT be automatically garbage collected. Please remove manually.", confidential = TRUE) + to_chat(usr, span_admin("SDQL query [query.get_query_text()] errored. It will NOT be automatically garbage collected. Please remove manually."), confidential = TRUE) running -= query else if(query.finished) @@ -294,19 +294,19 @@ running += next_query var/msg = "Starting query #[next_query.id] - [next_query.get_query_text()]." if(usr) - to_chat(usr, "[msg]", confidential = TRUE) + to_chat(usr, span_admin("[msg]"), confidential = TRUE) log_admin(msg) next_query.ARun() else if(usr) - to_chat(usr, "SDQL query [query.get_query_text()] was halted. It will NOT be automatically garbage collected. Please remove manually.", confidential = TRUE) + to_chat(usr, span_admin("SDQL query [query.get_query_text()] was halted. It will NOT be automatically garbage collected. Please remove manually."), confidential = TRUE) running -= query while(!finished) var/end_time_total = REALTIMEOFDAY - start_time_total - return list("SDQL query combined results: [query_text]",\ - "SDQL query completed: [objs_all] objects selected by path, and [selectors_used ? objs_eligible : objs_all] objects executed on after WHERE filtering/MAPping if applicable.",\ - "SDQL combined querys took [DisplayTimeText(end_time_total)] to complete.") + combined_refs + return list(span_admin("SDQL query combined results: [query_text]"),\ + span_admin("SDQL query completed: [objs_all] objects selected by path, and [selectors_used ? objs_eligible : objs_all] objects executed on after WHERE filtering/MAPping if applicable."),\ + span_admin("SDQL combined querys took [DisplayTimeText(end_time_total)] to complete.")) + combined_refs GLOBAL_LIST_INIT(sdql2_queries, GLOB.sdql2_queries || list()) GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null, "VIEW VARIABLES (all)", null)) @@ -860,7 +860,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null if("or", "||") result = (result || val) else - to_chat(usr, "SDQL2: Unknown op [op]", confidential = TRUE) + to_chat(usr, span_danger("SDQL2: Unknown op [op]"), confidential = TRUE) result = null else result = val @@ -970,7 +970,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null querys[querys_pos] = parsed_tree querys_pos++ else //There was an error so don't run anything, and tell the user which query has errored. - to_chat(usr, "Parsing error on [querys_pos]\th query. Nothing was executed.", confidential = TRUE) + to_chat(usr, span_danger("Parsing error on [querys_pos]\th query. Nothing was executed."), confidential = TRUE) return list() query_tree = list() do_parse = 0 @@ -1016,16 +1016,16 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null D = object if (object == world && (!long || expression[start + 1] == ".") && !(expression[start] in exclude) && copytext(expression[start], 1, 3) != "SS") //3 == length("SS") + 1 - to_chat(usr, "World variables are not allowed to be accessed. Use global.", confidential = TRUE) + to_chat(usr, span_danger("World variables are not allowed to be accessed. Use global."), confidential = TRUE) return null else if(expression [start] == "{" && long) if(lowertext(copytext(expression[start + 1], 1, 3)) != "0x") //3 == length("0x") + 1 - to_chat(usr, "Invalid pointer syntax: [expression[start + 1]]", confidential = TRUE) + to_chat(usr, span_danger("Invalid pointer syntax: [expression[start + 1]]"), confidential = TRUE) return null v = locate("\[[expression[start + 1]]]") if(!v) - to_chat(usr, "Invalid pointer: [expression[start + 1]]", confidential = TRUE) + to_chat(usr, span_danger("Invalid pointer: [expression[start + 1]]"), confidential = TRUE) return null start++ long = start < expression.len @@ -1088,7 +1088,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null var/list/L = v var/index = query.SDQL_expression(source, expression[start + 2]) if(isnum(index) && (!ISINTEGER(index) || L.len < index)) - to_chat(usr, "Invalid list index: [index]", confidential = TRUE) + to_chat(usr, span_danger("Invalid list index: [index]"), confidential = TRUE) return null return L[index] return v diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm index 62cb5f5cf99..f30042e4e9b 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm @@ -63,7 +63,7 @@ /datum/sdql_parser/proc/parse_error(error_message) error = 1 - to_chat(usr, "SDQL2 Parsing Error: [error_message]", confidential = TRUE) + to_chat(usr, span_warning("SDQL2 Parsing Error: [error_message]"), confidential = TRUE) return query.len + 1 /datum/sdql_parser/proc/parse() diff --git a/code/modules/admin/verbs/SDQL2/SDQL_spells_and_items.dm b/code/modules/admin/verbs/SDQL2/SDQL_spells_and_items.dm index 0d5b22bf89a..882c8e25a97 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_spells_and_items.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_spells_and_items.dm @@ -213,7 +213,7 @@ var/datum/give_sdql_spell/ui = new(usr, target) ui.ui_interact(usr) else - to_chat(usr, "SDQL spells are disabled.") + to_chat(usr, span_warning("SDQL spells are disabled.")) /datum/give_sdql_spell @@ -306,7 +306,7 @@ /datum/give_sdql_spell/New(_user, target) if(!CONFIG_GET(flag/sdql_spells)) - to_chat(_user, "SDQL spells are disabled.") + to_chat(_user, span_warning("SDQL spells are disabled.")) qdel(src) return user = CLIENT_FROM_VAR(_user) @@ -845,4 +845,4 @@ target_mob.mind.AddSpell(new_spell) else target_mob.AddSpell(new_spell) - to_chat(user, "Spells given to mindless mobs will not be transferred in mindswap or cloning!") + to_chat(user, span_danger("Spells given to mindless mobs will not be transferred in mindswap or cloning!")) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index e73efc0883a..9f301492c8e 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -83,7 +83,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) dat += "Refresh

    " for(var/I in l2b) var/datum/admin_help/AH = I - dat += "Ticket #[AH.id]: [AH.initiator_key_name]: [AH.name]
    " + dat += "[span_adminnotice("[span_adminhelp("Ticket #[AH.id]")]: [AH.initiator_key_name]: [AH.name]")]
    " usr << browse(dat.Join(), "window=ahelp_list[state];size=600x480") @@ -211,7 +211,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) var/admin_number_present = send2tgs_adminless_only(initiator_ckey, "Ticket #[id]: [msg]") log_admin_private("Ticket #[id]: [key_name(initiator)]: [name] - heard by [admin_number_present] non-AFK admins who have +BAN.") if(admin_number_present <= 0) - to_chat(C, "No active admins are online, your adminhelp was sent through TGS to admins who are available. This may use IRC or Discord.", confidential = TRUE) + to_chat(C, span_notice("No active admins are online, your adminhelp was sent through TGS to admins who are available. This may use IRC or Discord."), confidential = TRUE) heard_by_no_admins = TRUE GLOB.ahelp_tickets.active_tickets += src @@ -267,7 +267,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) var/ref_src = "[REF(src)]" //Message to be sent to all admins - var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]" + var/admin_msg = span_adminnotice(span_adminhelp("Ticket [TicketHref("#[id]", ref_src)]
    : [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]")) AddInteraction("[LinkedReplyName(ref_src)]: [msg]") log_admin_private("Ticket #[id]: [key_name(initiator)]: [msg]") @@ -285,18 +285,18 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //show it to the person adminhelping too to_chat(initiator, type = MESSAGE_TYPE_ADMINPM, - html = "PM to-Admins: [msg]", + html = span_adminnotice("PM to-Admins: [msg]"), confidential = TRUE) SSblackbox.LogAhelp(id, "Ticket Opened", msg, null, initiator.ckey) //Reopen a closed ticket /datum/admin_help/proc/Reopen() if(state == AHELP_ACTIVE) - to_chat(usr, "This ticket is already open.", confidential = TRUE) + to_chat(usr, span_warning("This ticket is already open."), confidential = TRUE) return if(GLOB.ahelp_tickets.CKey2ActiveTicket(initiator_ckey)) - to_chat(usr, "This user already has an active ticket, cannot reopen this one.", confidential = TRUE) + to_chat(usr, span_warning("This user already has an active ticket, cannot reopen this one."), confidential = TRUE) return statclick = new(null, src) @@ -314,7 +314,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) initiator.current_ticket = src AddInteraction("Reopened by [key_name_admin(usr)]") - var/msg = "Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)]." + var/msg = span_adminhelp("Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)].") message_admins(msg) log_admin_private(msg) SSblackbox.LogAhelp(id, "Reopened", "Reopened by [usr.key]", usr.ckey) @@ -357,7 +357,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) addtimer(CALLBACK(initiator, /client/proc/giveadminhelpverb), 50) AddInteraction("Resolved by [key_name].") - to_chat(initiator, "Your ticket has been resolved by an admin. The Adminhelp verb will be returned to you shortly.", confidential = TRUE) + to_chat(initiator, span_adminhelp("Your ticket has been resolved by an admin. The Adminhelp verb will be returned to you shortly."), confidential = TRUE) if(!silent) SSblackbox.record_feedback("tally", "ahelp_stats", 1, "resolved") var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name]" @@ -509,12 +509,12 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) set name = "Adminhelp" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.", confidential = TRUE) + to_chat(usr, span_danger("Speech is currently admin-disabled."), confidential = TRUE) return //handle muting and automuting if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You cannot send adminhelps (Muted).", confidential = TRUE) + to_chat(src, span_danger("Error: Admin-PM: You cannot send adminhelps (Muted)."), confidential = TRUE) return if(handle_spam_prevention(msg,MUTE_ADMINHELP)) return diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 07c2d11f3f3..7e9a4e3f652 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -7,7 +7,7 @@ if(!holder) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM-Context: Only administrators may use this command.", + html = span_danger("Error: Admin-PM-Context: Only administrators may use this command."), confidential = TRUE) return if(!ismob(M) || !M.client) @@ -22,7 +22,7 @@ if(!holder) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM-Panel: Only administrators may use this command.", + html = span_danger("Error: Admin-PM-Panel: Only administrators may use this command."), confidential = TRUE) return var/list/client/targets[0] @@ -44,7 +44,7 @@ if(prefs.muted & MUTE_ADMINHELP) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: You are unable to use admin PM-s (muted).", + html = span_danger("Error: Admin-PM: You are unable to use admin PM-s (muted)."), confidential = TRUE) return var/client/C @@ -58,7 +58,7 @@ if(holder) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: Client not found.", + html = span_danger("Error: Admin-PM: Client not found."), confidential = TRUE) return @@ -76,11 +76,11 @@ else to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: Client not found.", + html = span_danger("Error: Admin-PM: Client not found."), confidential = TRUE) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Message not sent:
    [msg]", + html = "[span_danger("Message not sent:")]
    [msg]", confidential = TRUE) AH.AddInteraction("No client found, message not sent:
    [msg]") return @@ -92,18 +92,18 @@ if(prefs.muted & MUTE_ADMINHELP) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: You are unable to use admin PM-s (muted).", + html = span_danger("Error: Admin-PM: You are unable to use admin PM-s (muted)."), confidential = TRUE) return if(!holder && !current_ticket) //no ticket? https://www.youtube.com/watch?v=iHSPf6x1Fdo to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.", + html = span_danger("You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be."), confidential = TRUE) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Message: [msg]", + html = span_notice("Message: [msg]"), confidential = TRUE) return @@ -124,7 +124,7 @@ if(!recipient) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: Client not found.", + html = span_danger("Error: Admin-PM: Client not found."), confidential = TRUE) return @@ -142,7 +142,7 @@ if(holder) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Use the admin IRC/Discord channel, nerd.", + html = span_danger("Error: Use the admin IRC/Discord channel, nerd."), confidential = TRUE) return @@ -162,11 +162,11 @@ if(holder) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: Client not found.", + html = span_danger("Error: Admin-PM: Client not found."), confidential = TRUE) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Message not sent:
    [msg]", + html = "[span_danger("Message not sent:")]
    [msg]", confidential = TRUE) if(recipient_ticket) recipient_ticket.AddInteraction("No client found, message not sent:
    [msg]") @@ -179,7 +179,7 @@ if(prefs.muted & MUTE_ADMINHELP) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: You are unable to use admin PM-s (muted).", + html = span_danger("Error: Admin-PM: You are unable to use admin PM-s (muted)."), confidential = TRUE) return @@ -202,7 +202,7 @@ if(external) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "PM to-Admins: [rawmsg]", + html = span_notice("PM to-Admins: [rawmsg]"), confidential = TRUE) var/datum/admin_help/AH = admin_ticket_log(src, "Reply PM from-[key_name(src, TRUE, TRUE)] to External: [keywordparsedmsg]") externalreplyamount-- @@ -215,11 +215,11 @@ if(holder) to_chat(recipient, type = MESSAGE_TYPE_ADMINPM, - html = "Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]", + html = span_danger("Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]"), confidential = TRUE) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]", + html = span_notice("Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]"), confidential = TRUE) //omg this is dumb, just fill in both their tickets var/interaction_message = "PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]" @@ -232,11 +232,11 @@ admin_ticket_log(src, "[replymsg]") to_chat(recipient, type = MESSAGE_TYPE_ADMINPM, - html = "[replymsg]", + html = span_danger("[replymsg]"), confidential = TRUE) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "PM to-Admins: [msg]", + html = span_notice("PM to-Admins: [msg]"), confidential = TRUE) SSblackbox.LogAhelp(current_ticket.id, "Reply", msg, recipient.ckey, src.ckey) @@ -258,15 +258,15 @@ confidential = TRUE) to_chat(recipient, type = MESSAGE_TYPE_ADMINPM, - html = "Admin PM from-[key_name(src, recipient, 0)]: [msg]", + html = span_adminsay("Admin PM from-[key_name(src, recipient, 0)]: [msg]"), confidential = TRUE) to_chat(recipient, type = MESSAGE_TYPE_ADMINPM, - html = "Click on the administrator's name to reply.", + html = span_adminsay("Click on the administrator's name to reply."), confidential = TRUE) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Admin PM to-[key_name(recipient, src, 1)]: [msg]", + html = span_notice("Admin PM to-[key_name(recipient, src, 1)]: [msg]"), confidential = TRUE) admin_ticket_log(recipient, "PM From [key_name_admin(src)]: [keywordparsedmsg]") @@ -285,11 +285,11 @@ if(!current_ticket) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.", + html = span_danger("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."), confidential = TRUE) to_chat(src, type = MESSAGE_TYPE_ADMINPM, - html = "Message not sent:
    [msg]", + html = "[span_danger("Message not sent:")]
    [msg]", confidential = TRUE) return current_ticket.MessageNoRecipient(msg) @@ -299,7 +299,7 @@ for(var/client/X in GLOB.admins) to_chat(X, type = MESSAGE_TYPE_ADMINPM, - html = "PM: [key_name(src, X, 0)]->External: [keywordparsedmsg]", + html = span_notice("PM: [key_name(src, X, 0)]->External: [keywordparsedmsg]"), confidential = TRUE) else window_flash(recipient, ignorepref = TRUE) @@ -309,7 +309,7 @@ if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient to_chat(X, type = MESSAGE_TYPE_ADMINPM, - html = "PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]" , + html = span_notice("PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]") , confidential = TRUE) /client/proc/popup_admin_pm(client/recipient, msg) @@ -406,11 +406,11 @@ confidential = TRUE) to_chat(C, type = MESSAGE_TYPE_ADMINPM, - html = "Admin PM from-[adminname]: [msg]", + html = span_adminsay("Admin PM from-[adminname]: [msg]"), confidential = TRUE) to_chat(C, type = MESSAGE_TYPE_ADMINPM, - html = "Click on the administrator's name to reply.", + html = span_adminsay("Click on the administrator's name to reply."), confidential = TRUE) admin_ticket_log(C, "PM From [tgs_tagged]: [msg]") diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 7fa7d1486aa..b9c7da1f8a0 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -12,7 +12,7 @@ mob.log_talk(msg, LOG_ASAY) msg = keywords_lookup(msg) var/custom_asay_color = (CONFIG_GET(flag/allow_admin_asaycolor) && prefs.asaycolor) ? "" : "" - msg = "ADMIN: [key_name(usr, 1)] [ADMIN_FLW(mob)]: [custom_asay_color][msg][custom_asay_color ? "":null]" + msg = "[span_adminsay("[span_prefix("ADMIN:")] [key_name(usr, 1)] [ADMIN_FLW(mob)]: [custom_asay_color][msg]")][custom_asay_color ? "":null]" to_chat(GLOB.admins, type = MESSAGE_TYPE_ADMINCHAT, html = msg, diff --git a/code/modules/admin/verbs/ai_triumvirate.dm b/code/modules/admin/verbs/ai_triumvirate.dm index 5d310366a43..b7beadd4d8d 100644 --- a/code/modules/admin/verbs/ai_triumvirate.dm +++ b/code/modules/admin/verbs/ai_triumvirate.dm @@ -45,4 +45,4 @@ GLOBAL_DATUM(triple_ai_controller, /datum/triple_ai_controller) else QDEL_NULL(GLOB.triple_ai_controller) to_chat(usr, "There will[GLOB.triple_ai_controller ? "" : "not"] be an AI Triumvirate at round start.") - message_admins("[key_name_admin(usr)] has toggled [GLOB.triple_ai_controller ? "on" : "off"] triple AIs at round start.") + message_admins(span_adminnotice("[key_name_admin(usr)] has toggled [GLOB.triple_ai_controller ? "on" : "off"] triple AIs at round start.")) diff --git a/code/modules/admin/verbs/anonymousnames.dm b/code/modules/admin/verbs/anonymousnames.dm index aae4d24d65c..83e4bf43cc2 100644 --- a/code/modules/admin/verbs/anonymousnames.dm +++ b/code/modules/admin/verbs/anonymousnames.dm @@ -15,7 +15,7 @@ GLOBAL_DATUM(current_anonymous_theme, /datum/anonymous_theme) var/response = tgui_alert(usr, "Anon mode is currently enabled. Disable?", "cold feet", list("Disable Anon Names", "Keep it Enabled")) if(response != "Disable Anon Names") return - message_admins("[key_name_admin(usr)] has disabled anonymous names.") + message_admins(span_adminnotice("[key_name_admin(usr)] has disabled anonymous names.")) QDEL_NULL(GLOB.current_anonymous_theme) return var/list/input_list = list("Cancel") @@ -36,7 +36,7 @@ GLOBAL_DATUM(current_anonymous_theme, /datum/anonymous_theme) extras_enabled = extras_enabled == "Yes" alert_players = alert_players == "Yes" GLOB.current_anonymous_theme = new chosen_theme(extras_enabled, alert_players) - message_admins("[key_name_admin(usr)] has enabled anonymous names. THEME: [GLOB.current_anonymous_theme].") + message_admins(span_adminnotice("[key_name_admin(usr)] has enabled anonymous names. THEME: [GLOB.current_anonymous_theme].")) /* Datum singleton initialized by the client proc to hold the naming generation */ /datum/anonymous_theme diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm index 5bb712bbc1f..50a50aaa382 100644 --- a/code/modules/admin/verbs/borgpanel.dm +++ b/code/modules/admin/verbs/borgpanel.dm @@ -9,7 +9,7 @@ if (!istype(borgo, /mob/living/silicon/robot)) borgo = input("Select a borg", "Select a borg", null, null) as null|anything in sortNames(GLOB.silicon_mobs) if (!istype(borgo, /mob/living/silicon/robot)) - to_chat(usr, "Borg is required for borgpanel", confidential = TRUE) + to_chat(usr, span_warning("Borg is required for borgpanel"), confidential = TRUE) var/datum/borgpanel/borgpanel = new(usr, borgo) diff --git a/code/modules/admin/verbs/commandreport.dm b/code/modules/admin/verbs/commandreport.dm index 3a164f2b75d..ade61479b9b 100644 --- a/code/modules/admin/verbs/commandreport.dm +++ b/code/modules/admin/verbs/commandreport.dm @@ -104,10 +104,10 @@ announce_contents = !announce_contents if("submit_report") if(!command_name) - to_chat(ui_user, "You can't send a report with no command name.") + to_chat(ui_user, span_danger("You can't send a report with no command name.")) return if(!command_report_content) - to_chat(ui_user, "You can't send a report with no contents.") + to_chat(ui_user, span_danger("You can't send a report with no contents.")) return send_announcement() diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index ef0f314739a..70f473d52ca 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -8,7 +8,7 @@ if(!mob) return if(prefs.muted & MUTE_DEADCHAT) - to_chat(src, "You cannot send DSAY messages (muted).", confidential = TRUE) + to_chat(src, span_danger("You cannot send DSAY messages (muted)."), confidential = TRUE) return if (handle_spam_prevention(msg,MUTE_DEADCHAT)) @@ -24,7 +24,7 @@ if(holder.fakekey) rank_name = pick(strings("admin_nicknames.json", "ranks", "config")) admin_name = pick(strings("admin_nicknames.json", "names", "config")) - var/rendered = "DEAD: [rank_name]([admin_name]) says, \"[emoji_parse(msg)]\"" + var/rendered = "[span_prefix("DEAD:")] [span_name("[rank_name]([admin_name])")] says, \"[emoji_parse(msg)]\"" for (var/mob/M in GLOB.player_list) if(isnewplayer(M)) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 62bd0b2995e..5dd2059f991 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -131,7 +131,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that INVOKE_ASYNC(M, /mob/living/carbon/human/proc/Alienize) SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Alien") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into an alien at [AREACOORD(M)].") - message_admins("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into an alien.") + message_admins(span_adminnotice("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into an alien.")) else tgui_alert(usr,"Invalid mob") @@ -146,7 +146,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that INVOKE_ASYNC(M, /mob/living/carbon/human/proc/slimeize) SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Slime") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into a slime at [AREACOORD(M)].") - message_admins("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into a slime.") + message_admins(span_adminnotice("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into a slime.")) else tgui_alert(usr,"Invalid mob") @@ -226,7 +226,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that tgui_alert(usr,"Invalid mob") SSblackbox.record_feedback("tally", "admin_verb", 1, "Grant Full Access") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(src)] has granted [M.key] full access.") - message_admins("[key_name_admin(usr)] has granted [M.key] full access.") + message_admins(span_adminnotice("[key_name_admin(usr)] has granted [M.key] full access.")) /client/proc/cmd_assume_direct_control(mob/M in GLOB.mob_list) set category = "Admin.Game" @@ -237,9 +237,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(tgui_alert(usr,"This mob is being controlled by [M.key]. Are you sure you wish to assume control of it? [M.key] will be made a ghost.",,list("Yes","No")) != "Yes") return if(!M || QDELETED(M)) - to_chat(usr, "The target mob no longer exists.") + to_chat(usr, span_warning("The target mob no longer exists.")) return - message_admins("[key_name_admin(usr)] assumed direct control of [M].") + message_admins(span_adminnotice("[key_name_admin(usr)] assumed direct control of [M].")) log_admin("[key_name(usr)] assumed direct control of [M].") var/mob/adminmob = mob if(M.ckey) @@ -265,7 +265,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if((isobserver(oldmob) || tgui_alert(usr,"Do you want to delete [newkey]'s old mob?","Delete?",list("Yes","No")) != "No")) delmob = TRUE if(!M || QDELETED(M)) - to_chat(usr, "The target mob no longer exists, aborting.") + to_chat(usr, span_warning("The target mob no longer exists, aborting.")) return if(M.ckey) M.ghostize(FALSE) @@ -273,7 +273,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.client?.init_verbs() if(delmob) qdel(oldmob) - message_admins("[key_name_admin(usr)] gave away direct control of [M] to [newkey].") + message_admins(span_adminnotice("[key_name_admin(usr)] gave away direct control of [M] to [newkey].")) log_admin("[key_name(usr)] gave away direct control of [M] to [newkey].") SSblackbox.record_feedback("tally", "admin_verb", 1, "Give Direct Control") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -287,7 +287,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that to_chat(usr, "Game still loading, please hold!", confidential = TRUE) return - message_admins("[key_name_admin(usr)] used the Test Atmos Monitor debug command.") + message_admins(span_adminnotice("[key_name_admin(usr)] used the Test Atmos Monitor debug command.")) log_admin("[key_name(usr)] used the Test Atmos Monitor debug command.") var/bad_shit = 0 @@ -340,7 +340,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that else log_message = "all z-levels" - message_admins("[key_name_admin(usr)] used the Test Areas debug command checking [log_message].") + message_admins(span_adminnotice("[key_name_admin(usr)] used the Test Areas debug command checking [log_message].")) log_admin("[key_name(usr)] used the Test Areas debug command checking [log_message].") for(var/area/A in world) @@ -649,7 +649,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(istype(landmark)) var/datum/map_template/ruin/template = landmark.ruin_template usr.forceMove(get_turf(landmark)) - to_chat(usr, "[template.name]", confidential = TRUE) + to_chat(usr, span_name("[template.name]"), confidential = TRUE) to_chat(usr, "[template.description]", confidential = TRUE) /client/proc/place_ruin() @@ -697,10 +697,10 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/obj/effect/landmark/ruin/landmark = GLOB.ruin_landmarks[GLOB.ruin_landmarks.len] log_admin("[key_name(src)] randomly spawned ruin [ruinname] at [COORD(landmark)].") usr.forceMove(get_turf(landmark)) - to_chat(src, "[template.name]", confidential = TRUE) + to_chat(src, span_name("[template.name]"), confidential = TRUE) to_chat(src, "[template.description]", confidential = TRUE) else - to_chat(src, "Failed to place [template.name].", confidential = TRUE) + to_chat(src, span_warning("Failed to place [template.name]."), confidential = TRUE) /client/proc/clear_dynamic_transit() set category = "Debug" @@ -711,7 +711,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/answer = tgui_alert(usr,"WARNING: THIS WILL WIPE ALL RESERVED SPACE TO A CLEAN SLATE! ANY MOVING SHUTTLES, ELEVATORS, OR IN-PROGRESS PHOTOGRAPHY WILL BE DELETED!", "Really wipe dynamic turfs?", list("YES", "NO")) if(answer != "YES") return - message_admins("[key_name_admin(src)] cleared dynamic transit space.") + message_admins(span_adminnotice("[key_name_admin(src)] cleared dynamic transit space.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Clear Dynamic Transit") // If... log_admin("[key_name(src)] cleared dynamic transit space.") SSmapping.wipe_reservations() //this goes after it's logged, incase something horrible happens. @@ -726,7 +726,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that SSachievements.achievements_enabled = !SSachievements.achievements_enabled - message_admins("[key_name_admin(src)] [SSachievements.achievements_enabled ? "disabled" : "enabled"] the medal hub lockout.") + message_admins(span_adminnotice("[key_name_admin(src)] [SSachievements.achievements_enabled ? "disabled" : "enabled"] the medal hub lockout.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Medal Disable") // If... log_admin("[key_name(src)] [SSachievements.achievements_enabled ? "disabled" : "enabled"] the medal hub lockout.") @@ -749,7 +749,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that SSevents.scheduled = world.time - message_admins("[key_name_admin(src)] pumped a random event.") + message_admins(span_adminnotice("[key_name_admin(src)] pumped a random event.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Pump Random Event") log_admin("[key_name(src)] pumped a random event.") @@ -760,7 +760,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that LINE_PROFILE_START - message_admins("[key_name_admin(src)] started line by line profiling.") + message_admins(span_adminnotice("[key_name_admin(src)] started line by line profiling.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Start Line Profiling") log_admin("[key_name(src)] started line by line profiling.") @@ -771,7 +771,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that LINE_PROFILE_STOP - message_admins("[key_name_admin(src)] stopped line by line profiling.") + message_admins(span_adminnotice("[key_name_admin(src)] stopped line by line profiling.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Stop Line Profiling") log_admin("[key_name(src)] stopped line by line profiling.") @@ -873,55 +873,55 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that //Is there an explicit worn_icon to pick against the worn_icon_state? Easy street expected behavior. if(sprite.worn_icon) if(!(sprite.icon_state in icon_states(sprite.worn_icon))) - to_chat(src, "ERROR sprites for [sprite.type]. Slot Flags are [sprite.slot_flags].", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Slot Flags are [sprite.slot_flags]."), confidential = TRUE) else if(sprite.worn_icon_state) if(sprite.slot_flags & ITEM_SLOT_MASK) actual_file_name = 'icons/mob/clothing/mask.dmi' if(!(sprite.worn_icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Mask slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Mask slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_NECK) actual_file_name = 'icons/mob/clothing/neck.dmi' if(!(sprite.worn_icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Neck slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Neck slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_BACK) actual_file_name = 'icons/mob/clothing/back.dmi' if(!(sprite.worn_icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Back slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Back slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_HEAD) actual_file_name = 'icons/mob/clothing/head.dmi' if(!(sprite.worn_icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Head slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Head slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_BELT) actual_file_name = 'icons/mob/clothing/belt.dmi' if(!(sprite.worn_icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Belt slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Belt slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_SUITSTORE) actual_file_name = 'icons/mob/clothing/belt_mirror.dmi' if(!(sprite.worn_icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Suit Storage slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Suit Storage slot."), confidential = TRUE) else if(sprite.icon_state) if(sprite.slot_flags & ITEM_SLOT_MASK) actual_file_name = 'icons/mob/clothing/mask.dmi' if(!(sprite.icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Mask slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Mask slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_NECK) actual_file_name = 'icons/mob/clothing/neck.dmi' if(!(sprite.icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Neck slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Neck slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_BACK) actual_file_name = 'icons/mob/clothing/back.dmi' if(!(sprite.icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Back slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Back slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_HEAD) actual_file_name = 'icons/mob/clothing/head.dmi' if(!(sprite.icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Head slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Head slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_BELT) actual_file_name = 'icons/mob/clothing/belt.dmi' if(!(sprite.icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Belt slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Belt slot."), confidential = TRUE) if(sprite.slot_flags & ITEM_SLOT_SUITSTORE) actual_file_name = 'icons/mob/clothing/belt_mirror.dmi' if(!(sprite.icon_state in icon_states(actual_file_name))) - to_chat(src, "ERROR sprites for [sprite.type]. Suit Storage slot.", confidential = TRUE) + to_chat(src, span_warning("ERROR sprites for [sprite.type]. Suit Storage slot."), confidential = TRUE) #endif diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 2d99c4cadeb..0d87167f4d3 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -95,7 +95,7 @@ message_admins("[key_name_admin(usr)] re-enabled the CDN asset transport") log_admin("[key_name(usr)] re-enabled the CDN asset transport") else - to_chat(usr, "The CDN is not enabled!") + to_chat(usr, span_adminnotice("The CDN is not enabled!")) if (tgui_alert(usr, "The CDN asset transport is not enabled! If you having issues with assets you can also try disabling filename mutations.", "The CDN asset transport is not enabled!", list("Try disabling filename mutations", "Nevermind")) == "Try disabling filename mutations") SSassets.transport.dont_mutate_filenames = !SSassets.transport.dont_mutate_filenames message_admins("[key_name_admin(usr)] [(SSassets.transport.dont_mutate_filenames ? "disabled" : "re-enabled")] asset filename transforms") diff --git a/code/modules/admin/verbs/fps.dm b/code/modules/admin/verbs/fps.dm index f75be2e4a66..ce1389c61f2 100644 --- a/code/modules/admin/verbs/fps.dm +++ b/code/modules/admin/verbs/fps.dm @@ -11,7 +11,7 @@ var/new_fps = round(input("Sets game frames-per-second. Can potentially break the game (default: [cfg_fps])","FPS", world.fps) as num|null) if(new_fps <= 0) - to_chat(src, "Error: set_server_fps(): Invalid world.fps value. No changes made.", confidential = TRUE) + to_chat(src, span_danger("Error: set_server_fps(): Invalid world.fps value. No changes made."), confidential = TRUE) return if(new_fps > cfg_fps * 1.5) if(tgui_alert(usr, "You are setting fps to a high value:\n\t[new_fps] frames-per-second\n\tconfig.fps = [cfg_fps]","Warning!",list("Confirm","ABORT-ABORT-ABORT")) != "Confirm") diff --git a/code/modules/admin/verbs/highlander_datum.dm b/code/modules/admin/verbs/highlander_datum.dm index 52a1a2fd759..c4c5308a2d2 100644 --- a/code/modules/admin/verbs/highlander_datum.dm +++ b/code/modules/admin/verbs/highlander_datum.dm @@ -11,7 +11,7 @@ GLOBAL_DATUM(highlander_controller, /datum/highlander_controller) . = ..() RegisterSignal(SSdcs, COMSIG_GLOB_CREWMEMBER_JOINED, .proc/new_highlander) sound_to_playing_players('sound/misc/highlander.ogg') - send_to_playing_players("THERE CAN BE ONLY ONE") + send_to_playing_players(span_boldannounce("THERE CAN BE ONLY ONE")) for(var/obj/item/disk/nuclear/fukkendisk in GLOB.poi_list) var/datum/component/stationloving/component = fukkendisk.GetComponent(/datum/component/stationloving) component?.relocate() //Gets it out of bags and such @@ -59,7 +59,7 @@ GLOBAL_DATUM(highlander_controller, /datum/highlander_controller) /datum/highlander_controller/proc/new_highlander(mob/living/carbon/human/new_crewmember, rank) SIGNAL_HANDLER - to_chat(new_crewmember, "THERE CAN BE ONLY ONE!!!") + to_chat(new_crewmember, span_userdanger("THERE CAN BE ONLY ONE!!!")) new_crewmember.make_scottish() /** @@ -76,17 +76,17 @@ GLOBAL_DATUM(highlander_controller, /datum/highlander_controller) return if(was_delayed) //sends more accurate logs - message_admins("[key_name_admin(usr)]'s delayed THERE CAN ONLY BE ONE started!") + message_admins(span_adminnotice("[key_name_admin(usr)]'s delayed THERE CAN ONLY BE ONE started!")) log_admin("[key_name(usr)] delayed THERE CAN ONLY BE ONE started.") else - message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ONE!") + message_admins(span_adminnotice("[key_name_admin(usr)] used THERE CAN BE ONLY ONE!")) log_admin("[key_name(usr)] used THERE CAN BE ONLY ONE.") GLOB.highlander_controller = new /datum/highlander_controller /client/proc/only_one_delayed() - send_to_playing_players("Bagpipes begin to blare. You feel Scottish pride coming over you.") - message_admins("[key_name_admin(usr)] used (delayed) THERE CAN BE ONLY ONE!") + send_to_playing_players(span_userdanger("Bagpipes begin to blare. You feel Scottish pride coming over you.")) + message_admins(span_adminnotice("[key_name_admin(usr)] used (delayed) THERE CAN BE ONLY ONE!")) log_admin("[key_name(usr)] used delayed THERE CAN BE ONLY ONE.") addtimer(CALLBACK(src, .proc/only_one, TRUE), 42 SECONDS) diff --git a/code/modules/admin/verbs/map_template_loadverb.dm b/code/modules/admin/verbs/map_template_loadverb.dm index b4908c40870..11a9911a1c7 100644 --- a/code/modules/admin/verbs/map_template_loadverb.dm +++ b/code/modules/admin/verbs/map_template_loadverb.dm @@ -37,7 +37,7 @@ template.post_load(P) break - message_admins("[key_name_admin(src)] has placed a map template ([template.name]) at [ADMIN_COORDJMP(T)]") + message_admins(span_adminnotice("[key_name_admin(src)] has placed a map template ([template.name]) at [ADMIN_COORDJMP(T)]")) else to_chat(src, "Failed to place map", confidential = TRUE) images -= preview @@ -50,7 +50,7 @@ if(!map) return if(copytext("[map]", -4) != ".dmm")//4 == length(".dmm") - to_chat(src, "Filename must end in '.dmm': [map]", confidential = TRUE) + to_chat(src, span_warning("Filename must end in '.dmm': [map]"), confidential = TRUE) return var/datum/map_template/M switch(tgui_alert(usr, "What kind of map is this?", "Map type", list("Normal", "Shuttle", "Cancel"))) @@ -61,7 +61,7 @@ else return if(!M.cached_map) - to_chat(src, "Map template '[map]' failed to parse properly.", confidential = TRUE) + to_chat(src, span_warning("Map template '[map]' failed to parse properly."), confidential = TRUE) return var/datum/map_report/report = M.cached_map.check_for_errors() @@ -69,7 +69,7 @@ if(report) report.show_to(src) report_link = " - validation report" - to_chat(src, "Map template '[map]' failed validation.", confidential = TRUE) + to_chat(src, span_warning("Map template '[map]' failed validation."), confidential = TRUE) if(report.loadable) var/response = tgui_alert(usr, "The map failed validation, would you like to load it anyways?", "Map Errors", list("Cancel", "Upload Anyways")) if(response != "Upload Anyways") @@ -79,5 +79,5 @@ return SSmapping.map_templates[M.name] = M - message_admins("[key_name_admin(src)] has uploaded a map template '[map]' ([M.width]x[M.height])[report_link].") - to_chat(src, "Map template '[map]' ready to place ([M.width]x[M.height])", confidential = TRUE) + message_admins(span_adminnotice("[key_name_admin(src)] has uploaded a map template '[map]' ([M.width]x[M.height])[report_link].")) + to_chat(src, span_notice("Map template '[map]' ready to place ([M.width]x[M.height])"), confidential = TRUE) diff --git a/code/modules/admin/verbs/maprotation.dm b/code/modules/admin/verbs/maprotation.dm index 554d751a869..9c781af5ed3 100644 --- a/code/modules/admin/verbs/maprotation.dm +++ b/code/modules/admin/verbs/maprotation.dm @@ -50,7 +50,7 @@ return if(copytext("[map_file]", -4) != ".dmm")//4 == length(".dmm") - to_chat(src, "Filename must end in '.dmm': [map_file]") + to_chat(src, span_warning("Filename must end in '.dmm': [map_file]")) return if(!fcopy(map_file, "_maps/custom/[map_file]")) @@ -59,11 +59,11 @@ // This is to make sure the map works so the server does not start without a map. var/datum/parsed_map/M = new (map_file) if(!M) - to_chat(src, "Map '[map_file]' failed to parse properly.") + to_chat(src, span_warning("Map '[map_file]' failed to parse properly.")) return if(!M.bounds) - to_chat(src, "Map '[map_file]' has non-existant bounds.") + to_chat(src, span_warning("Map '[map_file]' has non-existant bounds.")) qdel(M) return @@ -76,7 +76,7 @@ if(!shuttle) continue if(!SSmapping.shuttle_templates[shuttle]) - to_chat(usr, "No such shuttle as '[shuttle]' exists, using default.") + to_chat(usr, span_warning("No such shuttle as '[shuttle]' exists, using default.")) continue VM.shuttles[s] = shuttle diff --git a/code/modules/admin/verbs/panicbunker.dm b/code/modules/admin/verbs/panicbunker.dm index 5a751f4dca7..25c9127a63d 100644 --- a/code/modules/admin/verbs/panicbunker.dm +++ b/code/modules/admin/verbs/panicbunker.dm @@ -2,7 +2,7 @@ set category = "Server" set name = "Toggle Panic Bunker" if (!CONFIG_GET(flag/sql_enabled)) - to_chat(usr, "The Database is not enabled!", confidential = TRUE) + to_chat(usr, span_adminnotice("The Database is not enabled!"), confidential = TRUE) return var/new_pb = !CONFIG_GET(flag/panic_bunker) @@ -30,7 +30,7 @@ set category = "Server" set name = "Toggle PB Interviews" if (!CONFIG_GET(flag/panic_bunker)) - to_chat(usr, "NOTE: The panic bunker is not enabled, so this change will not effect anything until it is enabled.", confidential = TRUE) + to_chat(usr, span_adminnotice("NOTE: The panic bunker is not enabled, so this change will not effect anything until it is enabled."), confidential = TRUE) var/new_interview = !CONFIG_GET(flag/panic_bunker_interview) CONFIG_SET(flag/panic_bunker_interview, new_interview) log_admin("[key_name(usr)] has toggled the Panic Bunker's interview system, it is now [new_interview ? "enabled" : "disabled"].") diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 7a64db1acff..8249fd67576 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -23,7 +23,7 @@ var/res = tgui_alert(usr, "Show the title of this song to the players?",, list("Yes","No", "Cancel")) switch(res) if("Yes") - to_chat(world, "An admin played: [S]", confidential = TRUE) + to_chat(world, span_boldannounce("An admin played: [S]"), confidential = TRUE) if("Cancel") return @@ -73,7 +73,7 @@ var/ytdl = CONFIG_GET(string/invoke_youtubedl) if(!ytdl) - to_chat(src, "Youtube-dl was not configured, action unavailable", confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value + to_chat(src, span_boldwarning("Youtube-dl was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value return var/web_sound_input = input("Enter content URL (supported sites only, leave blank to stop playing)", "Play Internet Sound via youtube-dl") as text|null @@ -85,8 +85,8 @@ web_sound_input = trim(web_sound_input) if(findtext(web_sound_input, ":") && !findtext(web_sound_input, GLOB.is_http_protocol)) - to_chat(src, "Non-http(s) URIs are not allowed.", confidential = TRUE) - to_chat(src, "For youtube-dl shortcuts like ytsearch: please use the appropriate full url from the website.", confidential = TRUE) + to_chat(src, span_boldwarning("Non-http(s) URIs are not allowed."), confidential = TRUE) + to_chat(src, span_warning("For youtube-dl shortcuts like ytsearch: please use the appropriate full url from the website."), confidential = TRUE) return var/shell_scrubbed_input = shell_url_scrub(web_sound_input) var/list/output = world.shelleo("[ytdl] --geo-bypass --format \"bestaudio\[ext=mp3]/best\[ext=mp4]\[height<=360]/bestaudio\[ext=m4a]/bestaudio\[ext=aac]\" --dump-single-json --no-playlist -- \"[shell_scrubbed_input]\"") @@ -98,8 +98,8 @@ try data = json_decode(stdout) catch(var/exception/e) - to_chat(src, "Youtube-dl JSON parsing FAILED:", confidential = TRUE) - to_chat(src, "[e]: [stdout]", confidential = TRUE) + to_chat(src, span_boldwarning("Youtube-dl JSON parsing FAILED:"), confidential = TRUE) + to_chat(src, span_warning("[e]: [stdout]"), confidential = TRUE) return if (data["url"]) @@ -116,7 +116,7 @@ var/res = tgui_alert(usr, "Show the title of and link to this song to the players?\n[title]",, list("No", "Yes", "Cancel")) switch(res) if("Yes") - to_chat(world, "An admin played: [webpage_url]", confidential = TRUE) + to_chat(world, span_boldannounce("An admin played: [webpage_url]"), confidential = TRUE) if("Cancel") return @@ -124,8 +124,8 @@ log_admin("[key_name(src)] played web sound: [web_sound_input]") message_admins("[key_name(src)] played web sound: [web_sound_input]") else - to_chat(src, "Youtube-dl URL retrieval FAILED:", confidential = TRUE) - to_chat(src, "[stderr]", confidential = TRUE) + to_chat(src, span_boldwarning("Youtube-dl URL retrieval FAILED:"), confidential = TRUE) + to_chat(src, span_warning("[stderr]"), confidential = TRUE) else //pressed ok with blank log_admin("[key_name(src)] stopped web sound") @@ -134,8 +134,8 @@ stop_web_sounds = TRUE if(web_sound_url && !findtext(web_sound_url, GLOB.is_http_protocol)) - to_chat(src, "BLOCKED: Content URL not using http(s) protocol", confidential = TRUE) - to_chat(src, "The media provider returned a content URL that isn't using the HTTP or HTTPS protocol", confidential = TRUE) + to_chat(src, span_boldwarning("BLOCKED: Content URL not using http(s) protocol"), confidential = TRUE) + to_chat(src, span_warning("The media provider returned a content URL that isn't using the HTTP or HTTPS protocol"), confidential = TRUE) return if(web_sound_url || stop_web_sounds) for(var/m in GLOB.player_list) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 93a883c6bcf..c7670bc5288 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -3,7 +3,7 @@ set name = "Pray" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.", confidential = TRUE) + to_chat(usr, span_danger("Speech is currently admin-disabled."), confidential = TRUE) return msg = copytext_char(sanitize(msg), 1, MAX_MESSAGE_LEN) @@ -12,7 +12,7 @@ log_prayer("[src.key]/([src.name]): [msg]") if(usr.client) if(usr.client.prefs.muted & MUTE_PRAY) - to_chat(usr, "You cannot pray (muted).", confidential = TRUE) + to_chat(usr, span_danger("You cannot pray (muted)."), confidential = TRUE) return if(src.client.handle_spam_prevention(msg,MUTE_PRAY)) return @@ -40,7 +40,7 @@ prayer_type = "SPIRITUAL PRAYER" var/msg_tmp = msg - msg = "[icon2html(cross, GLOB.admins)][prayer_type][deity ? " (to [deity])" : ""]: [ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]: [msg]" + msg = span_adminnotice("[icon2html(cross, GLOB.admins)][prayer_type][deity ? " (to [deity])" : ""]: [ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]: [msg]") for(var/client/C in GLOB.admins) if(C.prefs.chat_toggles & CHAT_PRAYER) @@ -48,7 +48,7 @@ if(C.prefs.toggles & SOUND_PRAYERS) if(usr.job == "Chaplain") SEND_SOUND(C, sound('sound/effects/pray.ogg')) - to_chat(usr, "You pray to the gods: \"[msg_tmp]\"", confidential = TRUE) + to_chat(usr, span_info("You pray to the gods: \"[msg_tmp]\""), confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Prayer") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //log_admin("HELP: [key_name(src)]: [msg]") @@ -56,7 +56,7 @@ /// Used by communications consoles to message CentCom /proc/message_centcom(text, mob/sender) var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN) - msg = "CENTCOM:[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)]: [msg]" + msg = span_adminnotice("CENTCOM:[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)]: [msg]") to_chat(GLOB.admins, msg, confidential = TRUE) for(var/obj/machinery/computer/communications/console in GLOB.machines) console.override_cooldown() @@ -64,7 +64,7 @@ /// Used by communications consoles to message the Syndicate /proc/message_syndicate(text, mob/sender) var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN) - msg = "SYNDICATE:[ADMIN_FULLMONTY(sender)] [ADMIN_SYNDICATE_REPLY(sender)]: [msg]" + msg = span_adminnotice("SYNDICATE:[ADMIN_FULLMONTY(sender)] [ADMIN_SYNDICATE_REPLY(sender)]: [msg]") to_chat(GLOB.admins, msg, confidential = TRUE) for(var/obj/machinery/computer/communications/console in GLOB.machines) console.override_cooldown() @@ -72,7 +72,7 @@ /// Used by communications consoles to request the nuclear launch codes /proc/nuke_request(text, mob/sender) var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN) - msg = "NUKE CODE REQUEST:[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)] [ADMIN_SET_SD_CODE]: [msg]" + msg = span_adminnotice("NUKE CODE REQUEST:[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)] [ADMIN_SET_SD_CODE]: [msg]") to_chat(GLOB.admins, msg, confidential = TRUE) for(var/obj/machinery/computer/communications/console in GLOB.machines) console.override_cooldown() diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 81f55457c63..faa216b8ef3 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -40,7 +40,7 @@ to_chat(M, "You hear a voice in your head... [msg]", confidential = TRUE) log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") - msg = " SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]" + msg = span_adminnotice(" SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]") message_admins(msg) admin_ticket_log(M, msg) SSblackbox.record_feedback("tally", "admin_verb", 1, "Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -77,7 +77,7 @@ log_directed_talk(mob, H, input, LOG_ADMIN, "reply") message_admins("[key_name_admin(src)] replied to [key_name_admin(H)]'s [sender] message with: \"[input]\"") - to_chat(H, "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from [sender == "Syndicate" ? "your benefactor" : "Central Command"]. Message as follows[sender == "Syndicate" ? ", agent." : ":"] [input]. Message ends.\"", confidential = TRUE) + to_chat(H, span_hear("You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from [sender == "Syndicate" ? "your benefactor" : "Central Command"]. Message as follows[sender == "Syndicate" ? ", agent." : ":"] [input]. Message ends.\""), confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Headset Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -94,7 +94,7 @@ return to_chat(world, "[msg]", confidential = TRUE) log_admin("GlobalNarrate: [key_name(usr)] : [msg]") - message_admins("[key_name_admin(usr)] Sent a global narrate") + message_admins(span_adminnotice("[key_name_admin(usr)] Sent a global narrate")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Global Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_direct_narrate(mob/M) @@ -117,7 +117,7 @@ to_chat(M, msg, confidential = TRUE) log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]") - msg = " DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
    " + msg = span_adminnotice(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
    ") message_admins(msg) admin_ticket_log(M, msg) SSblackbox.record_feedback("tally", "admin_verb", 1, "Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -140,7 +140,7 @@ to_chat(M, msg, confidential = TRUE) log_admin("LocalNarrate: [key_name(usr)] at [AREACOORD(A)]: [msg]") - message_admins(" LocalNarrate: [key_name_admin(usr)] at [ADMIN_VERBOSEJMP(A)]: [msg]
    ") + message_admins(span_adminnotice(" LocalNarrate: [key_name_admin(usr)] at [ADMIN_VERBOSEJMP(A)]: [msg]
    ")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Local Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_godmode(mob/M in GLOB.mob_list) @@ -150,7 +150,7 @@ return M.status_flags ^= GODMODE - to_chat(usr, "Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]", confidential = TRUE) + to_chat(usr, span_adminnotice("Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]"), confidential = TRUE) log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]") var/msg = "[key_name_admin(usr)] has toggled [ADMIN_LOOKUPFLW(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]" @@ -252,7 +252,7 @@ if(candidates.len) ckey = input("Pick the player you want to respawn as a xeno.", "Suitable Candidates") as null|anything in sortKey(candidates) else - to_chat(usr, "Error: create_xeno(): no suitable candidates.", confidential = TRUE) + to_chat(usr, span_danger("Error: create_xeno(): no suitable candidates."), confidential = TRUE) if(!istext(ckey)) return FALSE @@ -278,7 +278,7 @@ SSjob.SendToLateJoin(new_xeno, FALSE) new_xeno.ckey = ckey - var/msg = "[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste]." + var/msg = span_notice("[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste].") message_admins(msg) admin_ticket_log(new_xeno, msg) return TRUE @@ -340,7 +340,7 @@ Traitors and the like can also be revived with the previous role mostly intact. G_found.mind.transfer_to(new_xeno) //be careful when doing stuff like this! I've already checked the mind isn't in use new_xeno.key = G_found.key to_chat(new_xeno, "You have been fully respawned. Enjoy the game.", confidential = TRUE) - var/msg = "[key_name_admin(usr)] has respawned [new_xeno.key] as a filthy xeno." + var/msg = span_adminnotice("[key_name_admin(usr)] has respawned [new_xeno.key] as a filthy xeno.") message_admins(msg) admin_ticket_log(new_xeno, msg) return //all done. The ghost is auto-deleted @@ -353,7 +353,7 @@ Traitors and the like can also be revived with the previous role mostly intact. G_found.mind.transfer_to(new_monkey) //be careful when doing stuff like this! I've already checked the mind isn't in use new_monkey.key = G_found.key to_chat(new_monkey, "You have been fully respawned. Enjoy the game.", confidential = TRUE) - var/msg = "[key_name_admin(usr)] has respawned [new_monkey.key] as a filthy monkey." + var/msg = span_adminnotice("[key_name_admin(usr)] has respawned [new_monkey.key] as a filthy monkey.") message_admins(msg) admin_ticket_log(new_monkey, msg) return //all done. The ghost is auto-deleted @@ -447,7 +447,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(tgui_alert(new_character,"Would you like an active AI to announce this character?",,list("No","Yes"))=="Yes") AnnounceArrival(new_character, new_character.mind.assigned_role) - var/msg = "[admin] has respawned [player_key] as [new_character.real_name]." + var/msg = span_adminnotice("[admin] has respawned [player_key] as [new_character.real_name].") message_admins(msg) admin_ticket_log(new_character, msg) @@ -494,7 +494,7 @@ Traitors and the like can also be revived with the previous role mostly intact. M.revive(full_heal = TRUE, admin_revive = TRUE) log_admin("[key_name(usr)] healed / revived [key_name(M)]") - var/msg = "Admin [key_name_admin(usr)] healed / revived [ADMIN_LOOKUPFLW(M)]!" + var/msg = span_danger("Admin [key_name_admin(usr)] healed / revived [ADMIN_LOOKUPFLW(M)]!") message_admins(msg) admin_ticket_log(M, msg) SSblackbox.record_feedback("tally", "admin_verb", 1, "Rejuvenate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -615,7 +615,7 @@ Traitors and the like can also be revived with the previous role mostly intact. var/confirm = tgui_alert(usr, "You sure?", "Confirm", list("Yes", "No")) if(confirm == "Yes") log_admin("[key_name(usr)] used gibself.") - message_admins("[key_name_admin(usr)] used gibself.") + message_admins(span_adminnotice("[key_name_admin(usr)] used gibself.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Gib Self") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! var/mob/living/ourself = mob @@ -667,7 +667,7 @@ Traitors and the like can also be revived with the previous role mostly intact. SSshuttle.emergency.request() SSblackbox.record_feedback("tally", "admin_verb", 1, "Call Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] admin-called the emergency shuttle.") - message_admins("[key_name_admin(usr)] admin-called the emergency shuttle[confirm == "Yes (No Recall)" ? " (non-recallable)" : ""].") + message_admins(span_adminnotice("[key_name_admin(usr)] admin-called the emergency shuttle[confirm == "Yes (No Recall)" ? " (non-recallable)" : ""].")) return /client/proc/admin_cancel_shuttle() @@ -687,7 +687,7 @@ Traitors and the like can also be revived with the previous role mostly intact. SSshuttle.emergency.cancel() SSblackbox.record_feedback("tally", "admin_verb", 1, "Cancel Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] admin-recalled the emergency shuttle.") - message_admins("[key_name_admin(usr)] admin-recalled the emergency shuttle.") + message_admins(span_adminnotice("[key_name_admin(usr)] admin-recalled the emergency shuttle.")) return @@ -699,13 +699,13 @@ Traitors and the like can also be revived with the previous role mostly intact. return if(SSshuttle.emergency.mode == SHUTTLE_DISABLED) - to_chat(usr, "Error, shuttle is already disabled.") + to_chat(usr, span_warning("Error, shuttle is already disabled.")) return if(tgui_alert(usr, "You sure?", "Confirm", list("Yes", "No")) != "Yes") return - message_admins("[key_name_admin(usr)] disabled the shuttle.") + message_admins(span_adminnotice("[key_name_admin(usr)] disabled the shuttle.")) SSshuttle.lastMode = SSshuttle.emergency.mode SSshuttle.lastCallTime = SSshuttle.emergency.timeLeft(1) @@ -722,13 +722,13 @@ Traitors and the like can also be revived with the previous role mostly intact. return if(SSshuttle.emergency.mode != SHUTTLE_DISABLED) - to_chat(usr, "Error, shuttle not disabled.") + to_chat(usr, span_warning("Error, shuttle not disabled.")) return if(tgui_alert(usr, "You sure?", "Confirm", list("Yes", "No")) != "Yes") return - message_admins("[key_name_admin(usr)] enabled the emergency shuttle.") + message_admins(span_adminnotice("[key_name_admin(usr)] enabled the emergency shuttle.")) SSshuttle.adminEmergencyNoRecall = FALSE SSshuttle.emergencyNoRecall = FALSE if(SSshuttle.lastMode == SHUTTLE_DISABLED) //If everything goes to shit, fix it. @@ -765,7 +765,7 @@ Traitors and the like can also be revived with the previous role mostly intact. message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.") if(notifyplayers == "Yes") - to_chat(world, "Admin [usr.key] has forced the players to have completely random identities!", confidential = TRUE) + to_chat(world, span_adminnotice("Admin [usr.key] has forced the players to have completely random identities!"), confidential = TRUE) to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.", confidential = TRUE) @@ -945,7 +945,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!M) continue - M.audible_message("...wabbajack...wabbajack...") + M.audible_message(span_hear("...wabbajack...wabbajack...")) playsound(M.loc, 'sound/magic/staff_change.ogg', 50, TRUE, -1) wabbajack(M) @@ -1098,7 +1098,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return if(!CONFIG_GET(flag/use_exp_tracking)) - to_chat(usr, "Tracking is disabled in the server configuration file.", confidential = TRUE) + to_chat(usr, span_warning("Tracking is disabled in the server configuration file."), confidential = TRUE) return var/list/msg = list() @@ -1114,10 +1114,10 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_ADMIN)) return if(!client_to_check) - to_chat(usr, "ERROR: Client not found.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Client not found."), confidential = TRUE) return if(!CONFIG_GET(flag/use_exp_tracking)) - to_chat(usr, "Tracking is disabled in the server configuration file.", confidential = TRUE) + to_chat(usr, span_warning("Tracking is disabled in the server configuration file."), confidential = TRUE) return new /datum/job_report_menu(client_to_check, usr) @@ -1126,11 +1126,11 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_ADMIN)) return if(!C) - to_chat(usr, "ERROR: Client not found.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Client not found."), confidential = TRUE) return if(!C.set_db_player_flags()) - to_chat(usr, "ERROR: Unable read player flags from database. Please check logs.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Unable read player flags from database. Please check logs."), confidential = TRUE) var/dbflags = C.prefs.db_flags var/newstate = FALSE if(dbflags & DB_FLAG_EXEMPT) @@ -1139,7 +1139,7 @@ Traitors and the like can also be revived with the previous role mostly intact. newstate = TRUE if(C.update_flag_db(DB_FLAG_EXEMPT, newstate)) - to_chat(usr, "ERROR: Unable to update player flags. Please check logs.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Unable to update player flags. Please check logs."), confidential = TRUE) else message_admins("[key_name_admin(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name_admin(C)]") log_admin("[key_name(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name(C)]") diff --git a/code/modules/admin/verbs/reestablish_db_connection.dm b/code/modules/admin/verbs/reestablish_db_connection.dm index 016b1e98a57..1cc899f72a8 100644 --- a/code/modules/admin/verbs/reestablish_db_connection.dm +++ b/code/modules/admin/verbs/reestablish_db_connection.dm @@ -2,7 +2,7 @@ set category = "Server" set name = "Reestablish DB Connection" if (!CONFIG_GET(flag/sql_enabled)) - to_chat(usr, "The Database is not enabled!", confidential = TRUE) + to_chat(usr, span_adminnotice("The Database is not enabled!"), confidential = TRUE) return if (SSdbcore.IsConnected()) diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index 1982dd69c39..ebd88fa0ecc 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -151,7 +151,7 @@ return log_admin("[key_name(holder)] reset the thunderdome to default with delete_mobs==[delete_mobs].", 1) - message_admins("[key_name_admin(holder)] reset the thunderdome to default with delete_mobs==[delete_mobs].") + message_admins(span_adminnotice("[key_name_admin(holder)] reset the thunderdome to default with delete_mobs==[delete_mobs].")) var/area/thunderdome = GLOB.areas_by_type[/area/tdome/arena] if(delete_mobs == "Yes") @@ -169,13 +169,13 @@ return set_station_name(new_name) log_admin("[key_name(holder)] renamed the station to \"[new_name]\".") - message_admins("[key_name_admin(holder)] renamed the station to: [new_name].") + message_admins(span_adminnotice("[key_name_admin(holder)] renamed the station to: [new_name].")) priority_announce("[command_name()] has renamed the station to \"[new_name]\".") if("reset_name") var/new_name = new_station_name() set_station_name(new_name) log_admin("[key_name(holder)] reset the station name.") - message_admins("[key_name_admin(holder)] reset the station name.") + message_admins(span_adminnotice("[key_name_admin(holder)] reset the station name.")) priority_announce("[command_name()] has renamed the station to \"[new_name]\".") if("night_shift_set") var/val = tgui_alert(holder, "What do you want to set night shift to? This will override the automatic system until set to automatic again.", "Night Shift", list("On", "Off", "Automatic")) @@ -206,7 +206,7 @@ message_admins("[key_name_admin(holder)] [new_perma ? "stopped" : "started"] the arrivals shuttle") log_admin("[key_name(holder)] [new_perma ? "stopped" : "started"] the arrivals shuttle") else - to_chat(holder, "There is no arrivals shuttle.", confidential = TRUE) + to_chat(holder, span_admin("There is no arrivals shuttle."), confidential = TRUE) if("movelaborshuttle") SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Send Labor Shuttle")) if(!SSshuttle.toggleShuttle("laborcamp","laborcamp_home","laborcamp_away")) @@ -246,21 +246,21 @@ return SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Power All APCs")) log_admin("[key_name(holder)] made all areas powered", 1) - message_admins("[key_name_admin(holder)] made all areas powered") + message_admins(span_adminnotice("[key_name_admin(holder)] made all areas powered")) power_restore() if("unpower") if(!is_funmin) return SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Depower All APCs")) log_admin("[key_name(holder)] made all areas unpowered", 1) - message_admins("[key_name_admin(holder)] made all areas unpowered") + message_admins(span_adminnotice("[key_name_admin(holder)] made all areas unpowered")) power_failure() if("quickpower") if(!is_funmin) return SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Power All SMESs")) log_admin("[key_name(holder)] made all SMESs powered", 1) - message_admins("[key_name_admin(holder)] made all SMESs powered") + message_admins(span_adminnotice("[key_name_admin(holder)] made all SMESs powered")) power_restore_quick() if("anon_name") if(!is_funmin) @@ -384,7 +384,7 @@ var/list/prefs = settings["mainsettings"] if (prefs["amount"]["value"] < 1 || prefs["portalnum"]["value"] < 1) - to_chat(holder, "Number of portals and mobs to spawn must be at least 1.", confidential = TRUE) + to_chat(holder, span_warning("Number of portals and mobs to spawn must be at least 1."), confidential = TRUE) return var/mob/pathToSpawn = prefs["typepath"]["value"] @@ -392,7 +392,7 @@ pathToSpawn = text2path(pathToSpawn) if (!ispath(pathToSpawn)) - to_chat(holder, "Invalid path [pathToSpawn].", confidential = TRUE) + to_chat(holder, span_notice("Invalid path [pathToSpawn]."), confidential = TRUE) return var/list/candidates = list() @@ -434,7 +434,7 @@ if (!CONFIG_SET(number/bombcap, newBombCap)) return - message_admins("[key_name_admin(holder)] changed the bomb cap to [GLOB.MAX_EX_DEVESTATION_RANGE], [GLOB.MAX_EX_HEAVY_RANGE], [GLOB.MAX_EX_LIGHT_RANGE]") + message_admins(span_boldannounce("[key_name_admin(holder)] changed the bomb cap to [GLOB.MAX_EX_DEVESTATION_RANGE], [GLOB.MAX_EX_HEAVY_RANGE], [GLOB.MAX_EX_LIGHT_RANGE]")) log_admin("[key_name(holder)] changed the bomb cap to [GLOB.MAX_EX_DEVESTATION_RANGE], [GLOB.MAX_EX_HEAVY_RANGE], [GLOB.MAX_EX_LIGHT_RANGE]") //buttons that are fun for exactly you and nobody else. if("monkey") @@ -470,14 +470,14 @@ new_objective.explanation_text = objective traitor_datum.objectives += new_objective player.mind.add_antag_datum(traitor_datum) - message_admins("[key_name_admin(holder)] used everyone is a traitor secret. Objective is [objective]") + message_admins(span_adminnotice("[key_name_admin(holder)] used everyone is a traitor secret. Objective is [objective]")) log_admin("[key_name(holder)] used everyone is a traitor secret. Objective is [objective]") if("massbraindamage") if(!is_funmin) return SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Mass Braindamage")) for(var/mob/living/carbon/human/H in GLOB.player_list) - to_chat(H, "You suddenly feel stupid.", confidential = TRUE) + to_chat(H, span_boldannounce("You suddenly feel stupid."), confidential = TRUE) H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60, 80) message_admins("[key_name_admin(holder)] made everybody brain damaged") if("floorlava") @@ -521,7 +521,7 @@ if(droptype == "Yes") ADD_TRAIT(I, TRAIT_NODROP, ADMIN_TRAIT) else - to_chat(H, "You're not kawaii enough for this!", confidential = TRUE) + to_chat(H, span_warning("You're not kawaii enough for this!"), confidential = TRUE) if("masspurrbation") if(!is_funmin) return diff --git a/code/modules/admin/verbs/selectequipment.dm b/code/modules/admin/verbs/selectequipment.dm index 75081f42a44..ed4368edf08 100644 --- a/code/modules/admin/verbs/selectequipment.dm +++ b/code/modules/admin/verbs/selectequipment.dm @@ -221,6 +221,6 @@ human_target.regenerate_icons() log_admin("[key_name(usr)] changed the equipment of [key_name(human_target)] to [dresscode].") - message_admins("[key_name_admin(usr)] changed the equipment of [ADMIN_LOOKUPFLW(human_target)] to [dresscode].") + message_admins(span_adminnotice("[key_name_admin(usr)] changed the equipment of [ADMIN_LOOKUPFLW(human_target)] to [dresscode].")) return dresscode diff --git a/code/modules/admin/view_variables/filterrific.dm b/code/modules/admin/view_variables/filterrific.dm index bb369299707..6cef9b178ac 100644 --- a/code/modules/admin/view_variables/filterrific.dm +++ b/code/modules/admin/view_variables/filterrific.dm @@ -79,7 +79,7 @@ . = TRUE if("mass_apply") if(!check_rights_for(usr.client, R_FUN)) - to_chat(usr, "Stay in your lane, jannie.") + to_chat(usr, span_userdanger("Stay in your lane, jannie.")) return var/target_path = text2path(params["path"]) if(!target_path) diff --git a/code/modules/admin/view_variables/topic_basic.dm b/code/modules/admin/view_variables/topic_basic.dm index 4baa36c05ab..58262acea2a 100644 --- a/code/modules/admin/view_variables/topic_basic.dm +++ b/code/modules/admin/view_variables/topic_basic.dm @@ -35,7 +35,7 @@ if (!C) return if(!target) - to_chat(usr, "The object you tried to expose to [C] no longer exists (nulled or hard-deled)", confidential = TRUE) + to_chat(usr, span_warning("The object you tried to expose to [C] no longer exists (nulled or hard-deled)"), confidential = TRUE) return message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") log_admin("Admin [key_name(usr)] Showed [key_name(C)] a VV window of a [target]") @@ -77,7 +77,7 @@ datumname = "element" target._AddElement(lst) log_admin("[key_name(usr)] has added [result] [datumname] to [key_name(target)].") - message_admins("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(target)].") + message_admins(span_notice("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(target)].")) if(href_list[VV_HK_MODIFY_GREYSCALE]) if(!check_rights(NONE)) return diff --git a/code/modules/admin/view_variables/view_variables.dm b/code/modules/admin/view_variables/view_variables.dm index 72eba46b968..32ea4c497b0 100644 --- a/code/modules/admin/view_variables/view_variables.dm +++ b/code/modules/admin/view_variables/view_variables.dm @@ -5,7 +5,7 @@ var/static/cookieoffset = rand(1, 9999) //to force cookies to reset after the round. if(!usr.client || !usr.client.holder) //This is usr because admins can call the proc on other clients, even if they're not admins, to show them VVs. - to_chat(usr, "You need to be an administrator to access this.", confidential = TRUE) + to_chat(usr, span_danger("You need to be an administrator to access this."), confidential = TRUE) return if(!D) diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 3023ba04494..3f02fad5837 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -94,7 +94,7 @@ GLOBAL_LIST_EMPTY(antagonists) if(removing) // They're a clown becoming an antag, remove clumsy H.dna.remove_mutation(CLOWNMUT) if(!silent && message) - to_chat(H, "[message]") + to_chat(H, span_boldnotice("[message]")) else H.dna.add_mutation(CLOWNMUT) // We're removing their antag status, add back clumsy diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 4e2f45a8d13..92e75040fa2 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -54,20 +54,20 @@ H.set_machine(src) if(href_list["school"]) if(used) - to_chat(H, "You already used this contract!") + to_chat(H, span_warning("You already used this contract!")) return var/list/candidates = pollCandidatesForMob("Do you want to play as a wizard's [href_list["school"]] apprentice?", ROLE_WIZARD, ROLE_WIZARD, 150, src) if(LAZYLEN(candidates)) if(QDELETED(src)) return if(used) - to_chat(H, "You already used this contract!") + to_chat(H, span_warning("You already used this contract!")) return used = TRUE var/mob/dead/observer/C = pick(candidates) spawn_antag(C.client, get_turf(src), href_list["school"],H.mind) else - to_chat(H, "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later.") + to_chat(H, span_warning("Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later.")) /obj/item/antag_spawner/contract/spawn_antag(client/C, turf/T, kind ,datum/mind/user) new /obj/effect/particle_effect/smoke(T) @@ -113,10 +113,10 @@ /obj/item/antag_spawner/nuke_ops/proc/check_usability(mob/user) if(used) - to_chat(user, "[src] is out of power!") + to_chat(user, span_warning("[src] is out of power!")) return FALSE if(!user.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE)) - to_chat(user, "AUTHENTICATION FAILURE. ACCESS DENIED.") + to_chat(user, span_danger("AUTHENTICATION FAILURE. ACCESS DENIED.")) return FALSE return TRUE @@ -131,7 +131,7 @@ if(!(check_usability(user))) return - to_chat(user, "You activate [src] and wait for confirmation.") + to_chat(user, span_notice("You activate [src] and wait for confirmation.")) var/list/nuke_candidates = pollGhostCandidates("Do you want to play as a syndicate [borg_to_spawn ? "[lowertext(borg_to_spawn)] cyborg":"operative"]?", ROLE_OPERATIVE, ROLE_OPERATIVE, 150, POLL_IGNORE_SYNDICATE) if(LAZYLEN(nuke_candidates)) if(QDELETED(src) || !check_usability(user)) @@ -142,7 +142,7 @@ do_sparks(4, TRUE, src) qdel(src) else - to_chat(user, "Unable to connect to Syndicate command. Please wait and try again later or use the beacon on your uplink to get your points refunded.") + to_chat(user, span_warning("Unable to connect to Syndicate command. Please wait and try again later or use the beacon on your uplink to get your points refunded.")) /obj/item/antag_spawner/nuke_ops/spawn_antag(client/C, turf/T, kind, datum/mind/user) var/mob/living/carbon/human/nukie = new() @@ -242,7 +242,7 @@ /obj/item/antag_spawner/slaughter_demon/attack_self(mob/user) if(!is_station_level(user.z)) - to_chat(user, "You should probably wait until you reach the station.") + to_chat(user, span_warning("You should probably wait until you reach the station.")) return if(used) return @@ -258,7 +258,7 @@ playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE) qdel(src) else - to_chat(user, "You can't seem to work up the nerve to shatter the bottle! Perhaps you should try again later.") + to_chat(user, span_warning("You can't seem to work up the nerve to shatter the bottle! Perhaps you should try again later.")) /obj/item/antag_spawner/slaughter_demon/spawn_antag(client/C, turf/T, kind = "", datum/mind/user) diff --git a/code/modules/antagonists/_common/antag_team.dm b/code/modules/antagonists/_common/antag_team.dm index 4a910ca4d44..f0cca03cf88 100644 --- a/code/modules/antagonists/_common/antag_team.dm +++ b/code/modules/antagonists/_common/antag_team.dm @@ -48,15 +48,15 @@ GLOBAL_LIST_EMPTY(antagonist_teams) var/objective_count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - report += "Objective #[objective_count]: [objective.explanation_text] Success!" + report += "Objective #[objective_count]: [objective.explanation_text] [span_greentext("Success!")]" else - report += "Objective #[objective_count]: [objective.explanation_text] Fail." + report += "Objective #[objective_count]: [objective.explanation_text] [span_redtext("Fail.")]" win = FALSE objective_count++ if(win) - report += "The [name] was successful!" + report += span_greentext("The [name] was successful!") else - report += "The [name] have failed!" + report += span_redtext("The [name] have failed!") return "
    [report.Join("
    ")]
    " diff --git a/code/modules/antagonists/abductor/abductee/abductee.dm b/code/modules/antagonists/abductor/abductee/abductee.dm index 755db387f33..9b3d317ca43 100644 --- a/code/modules/antagonists/abductor/abductee/abductee.dm +++ b/code/modules/antagonists/abductor/abductee/abductee.dm @@ -16,8 +16,8 @@ . = ..() /datum/antagonist/abductee/greet() - to_chat(owner, "Your mind snaps!") - to_chat(owner, "You can't remember how you got here...") + to_chat(owner, span_warning("Your mind snaps!")) + to_chat(owner, "[span_warning("You can't remember how you got here...")]") owner.announce_objectives() /datum/antagonist/abductee/proc/give_objective() diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index 6061d717964..1de47d75536 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -57,15 +57,15 @@ GLOBAL_LIST_INIT(possible_abductor_names, list("Alpha","Beta","Gamma","Delta","E /datum/antagonist/abductor/on_removal() if(owner.current) - to_chat(owner.current,"You are no longer the [owner.special_role]!") + to_chat(owner.current,span_userdanger("You are no longer the [owner.special_role]!")) owner.special_role = null REMOVE_TRAIT(owner, TRAIT_ABDUCTOR_TRAINING, ABDUCTOR_ANTAGONIST) return ..() /datum/antagonist/abductor/greet() - to_chat(owner.current, "You are the [owner.special_role]!") - to_chat(owner.current, "With the help of your teammate, kidnap and experiment on station crew members!") - to_chat(owner.current, "[greet_text]") + to_chat(owner.current, span_notice("You are the [owner.special_role]!")) + to_chat(owner.current, span_notice("With the help of your teammate, kidnap and experiment on station crew members!")) + to_chat(owner.current, span_notice("[greet_text]")) owner.announce_objectives() /datum/antagonist/abductor/proc/finalize_abductor() @@ -117,7 +117,7 @@ GLOBAL_LIST_INIT(possible_abductor_names, list("Alpha","Beta","Gamma","Delta","E /datum/antagonist/abductor/proc/admin_equip(mob/admin) if(!ishuman(owner.current)) - to_chat(admin, "This only works on humans!") + to_chat(admin, span_warning("This only works on humans!")) return var/mob/living/carbon/human/H = owner.current var/gear = tgui_alert(admin,"Agent or Scientist Gear","Gear",list("Agent","Scientist")) diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index afa578e66ec..250a989f09f 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -41,7 +41,7 @@ else ADD_TRAIT(src, TRAIT_NODROP, ABDUCTOR_VEST_TRAIT) if(ismob(loc)) - to_chat(loc, "Your vest is now [HAS_TRAIT_FROM(src, TRAIT_NODROP, ABDUCTOR_VEST_TRAIT) ? "locked" : "unlocked"].") + to_chat(loc, span_notice("Your vest is now [HAS_TRAIT_FROM(src, TRAIT_NODROP, ABDUCTOR_VEST_TRAIT) ? "locked" : "unlocked"].")) /obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode() switch(mode) @@ -112,7 +112,7 @@ /obj/item/clothing/suit/armor/abductor/vest/proc/Adrenaline() if(ishuman(loc)) if(combat_cooldown < initial(combat_cooldown)) - to_chat(loc, "Combat injection is still recharging.") + to_chat(loc, span_warning("Combat injection is still recharging.")) return var/mob/living/carbon/human/M = loc M.adjustStaminaLoss(-75) @@ -148,7 +148,7 @@ return TRUE if (istype(user) && user.mind && HAS_TRAIT(user.mind, TRAIT_ABDUCTOR_TRAINING)) return TRUE - to_chat(user, "You can't figure out how this works!") + to_chat(user, span_warning("You can't figure out how this works!")) return FALSE /obj/item/abductor/proc/ScientistCheck(mob/user) @@ -156,10 +156,10 @@ var/sci_training = HAS_TRAIT(user, TRAIT_ABDUCTOR_SCIENTIST_TRAINING) || (user.mind && HAS_TRAIT(user.mind, TRAIT_ABDUCTOR_SCIENTIST_TRAINING)) if(training && !sci_training) - to_chat(user, "You're not trained to use this!") + to_chat(user, span_warning("You're not trained to use this!")) . = FALSE else if(!training && !sci_training) - to_chat(user, "You can't figure how this works!") + to_chat(user, span_warning("You can't figure how this works!")) . = FALSE else . = TRUE @@ -177,7 +177,7 @@ if(!ScientistCheck(user)) return if(!console) - to_chat(user, "The device is not linked to console!") + to_chat(user, span_warning("The device is not linked to console!")) return if(mode == GIZMO_SCAN) @@ -186,13 +186,13 @@ else mode = GIZMO_SCAN icon_state = "gizmo_scan" - to_chat(user, "You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE") + to_chat(user, span_notice("You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE")) /obj/item/abductor/gizmo/attack(mob/living/M, mob/user) if(!ScientistCheck(user)) return if(!console) - to_chat(user, "The device is not linked to console!") + to_chat(user, span_warning("The device is not linked to console!")) return switch(mode) @@ -209,7 +209,7 @@ if(!ScientistCheck(user)) return if(!console) - to_chat(user, "The device is not linked to console!") + to_chat(user, span_warning("The device is not linked to console!")) return switch(mode) @@ -221,26 +221,26 @@ /obj/item/abductor/gizmo/proc/scan(atom/target, mob/living/user) if(ishuman(target)) console.AddSnapshot(target) - to_chat(user, "You scan [target] and add [target.p_them()] to the database.") + to_chat(user, span_notice("You scan [target] and add [target.p_them()] to the database.")) /obj/item/abductor/gizmo/proc/mark(atom/target, mob/living/user) if(marked == target) - to_chat(user, "This specimen is already marked!") + to_chat(user, span_warning("This specimen is already marked!")) return if(isabductor(target) || iscow(target)) marked = target - to_chat(user, "You mark [target] for future retrieval.") + to_chat(user, span_notice("You mark [target] for future retrieval.")) else prepare(target,user) /obj/item/abductor/gizmo/proc/prepare(atom/target, mob/living/user) if(get_dist(target,user)>1) - to_chat(user, "You need to be next to the specimen to prepare it for transport!") + to_chat(user, span_warning("You need to be next to the specimen to prepare it for transport!")) return - to_chat(user, "You begin preparing [target] for transport...") + to_chat(user, span_notice("You begin preparing [target] for transport...")) if(do_after(user, 100, target = target)) marked = target - to_chat(user, "You finish preparing [target] for transport.") + to_chat(user, span_notice("You finish preparing [target] for transport.")) /obj/item/abductor/gizmo/Destroy() if(console) @@ -277,7 +277,7 @@ for(M in view(2,targloc)) if(M == user) continue - to_chat(user, "You silence [M]'s radio devices.") + to_chat(user, span_notice("You silence [M]'s radio devices.")) radio_off_mob(M) /obj/item/abductor/silencer/proc/radio_off_mob(mob/living/carbon/human/M) @@ -308,7 +308,7 @@ else mode = MIND_DEVICE_MESSAGE icon_state = "mind_device_message" - to_chat(user, "You switch the device to [mode==MIND_DEVICE_MESSAGE? "TRANSMISSION": "COMMAND"] MODE") + to_chat(user, span_notice("You switch the device to [mode==MIND_DEVICE_MESSAGE? "TRANSMISSION": "COMMAND"] MODE")) /obj/item/abductor/mind_device/afterattack(atom/target, mob/living/user, flag, params) . = ..() @@ -326,13 +326,13 @@ var/mob/living/carbon/C = target var/obj/item/organ/heart/gland/G = C.getorganslot("heart") if(!istype(G)) - to_chat(user, "Your target does not have an experimental gland!") + to_chat(user, span_warning("Your target does not have an experimental gland!")) return if(!G.mind_control_uses) - to_chat(user, "Your target's gland is spent!") + to_chat(user, span_warning("Your target's gland is spent!")) return if(G.active_mind_control) - to_chat(user, "Your target is already under a mind-controlling influence!") + to_chat(user, span_warning("Your target is already under a mind-controlling influence!")) return var/command = stripped_input(user, "Enter the command for your target to follow.\ @@ -348,17 +348,17 @@ return if(C.anti_magic_check(FALSE, FALSE, TRUE, 0)) - to_chat(user, "Your target seems to have some sort of tinfoil protection on, blocking the message from being sent!") + to_chat(user, span_warning("Your target seems to have some sort of tinfoil protection on, blocking the message from being sent!")) return G.mind_control(command, user) - to_chat(user, "You send the command to your target.") + to_chat(user, span_notice("You send the command to your target.")) /obj/item/abductor/mind_device/proc/mind_message(atom/target, mob/living/user) if(isliving(target)) var/mob/living/L = target if(L.stat == DEAD) - to_chat(user, "Your target is dead!") + to_chat(user, span_warning("Your target is dead!")) return var/message = stripped_input(user, "Write a message to send to your target's brain.","Enter message") if(!message) @@ -366,8 +366,8 @@ if(QDELETED(L) || L.stat == DEAD) return - to_chat(L, "You hear a voice in your head saying: [message]") - to_chat(user, "You send the message to your target.") + to_chat(L, span_hear("You hear a voice in your head saying:
    [message]")) + to_chat(user, span_notice("You send the message to your target.")) log_directed_talk(user, L, message, LOG_SAY, "abductor whisper") @@ -486,7 +486,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.") + to_chat(usr, span_notice("You switch the baton to [txt] mode.")) update_appearance() /obj/item/melee/baton/abductor/update_icon_state() @@ -510,7 +510,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} return FALSE if(!deductcharge(cell_hit_cost)) - to_chat(user, "[src] [cell ? "is out of charge" : "does not have a power source installed"].") + to_chat(user, span_warning("[src] [cell ? "is out of charge" : "does not have a power source installed"].")) return FALSE if(!turned_on) @@ -562,25 +562,25 @@ Congratulations! You are now trained for invasive xenobiology research!"} playsound(src, stun_sound, 50, TRUE, -1) if(L.incapacitated(TRUE, TRUE)) if(L.anti_magic_check(FALSE, FALSE, TRUE)) - to_chat(user, "The specimen's tinfoil protection is interfering with the sleep inducement!") - L.visible_message("[user] tried to induced sleep in [L] with [src], but [L.p_their()] tinfoil protection [L.p_them()]!", \ - "You feel a strange wave of heavy drowsiness wash over you, but your tinfoil protection deflects most of it!") + to_chat(user, span_warning("The specimen's tinfoil protection is interfering with the sleep inducement!")) + L.visible_message(span_danger("[user] tried to induced sleep in [L] with [src], but [L.p_their()] tinfoil protection [L.p_them()]!"), \ + span_userdanger("You feel a strange wave of heavy drowsiness wash over you, but your tinfoil protection deflects most of it!")) L.drowsyness += 2 return - L.visible_message("[user] induces sleep in [L] with [src]!", \ - "You suddenly feel very drowsy!") + L.visible_message(span_danger("[user] induces sleep in [L] with [src]!"), \ + span_userdanger("You suddenly feel very drowsy!")) L.Sleeping(sleep_time) log_combat(user, L, "put to sleep") else if(L.anti_magic_check(FALSE, FALSE, TRUE, 0)) - to_chat(user, "The specimen's tinfoil protection is completely blocking our sleep inducement methods!") - L.visible_message("[user] tried to induce sleep in [L] with [src], but [L.p_their()] tinfoil protection completely protected [L.p_them()]!", \ - "Any sense of drowsiness is quickly diminished as your tinfoil protection deflects the effects!") + to_chat(user, span_warning("The specimen's tinfoil protection is completely blocking our sleep inducement methods!")) + L.visible_message(span_danger("[user] tried to induce sleep in [L] with [src], but [L.p_their()] tinfoil protection completely protected [L.p_them()]!"), \ + span_userdanger("Any sense of drowsiness is quickly diminished as your tinfoil protection deflects the effects!")) return L.drowsyness += 1 - to_chat(user, "Sleep inducement works fully only on stunned specimens! ") - L.visible_message("[user] tried to induce sleep in [L] with [src]!", \ - "You suddenly feel drowsy!") + to_chat(user, span_warning("Sleep inducement works fully only on stunned specimens! ")) + L.visible_message(span_danger("[user] tried to induce sleep in [L] with [src]!"), \ + span_userdanger("You suddenly feel drowsy!")) /obj/item/melee/baton/abductor/proc/CuffAttack(mob/living/L,mob/living/user) if(!iscarbon(L)) @@ -589,41 +589,41 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(!C.handcuffed) if(C.canBeHandcuffed()) playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) - C.visible_message("[user] begins restraining [C] with [src]!", \ - "[user] begins shaping an energy field around your hands!") + C.visible_message(span_danger("[user] begins restraining [C] with [src]!"), \ + span_userdanger("[user] begins shaping an energy field around your hands!")) if(do_mob(user, C, time_to_cuff) && C.canBeHandcuffed()) if(!C.handcuffed) C.set_handcuffed(new /obj/item/restraints/handcuffs/energy/used(C)) C.update_handcuffed() - to_chat(user, "You restrain [C].") + to_chat(user, span_notice("You restrain [C].")) log_combat(user, C, "handcuffed") else - to_chat(user, "You fail to restrain [C].") + to_chat(user, span_warning("You fail to restrain [C].")) else - to_chat(user, "[C] doesn't have two hands...") + to_chat(user, span_warning("[C] doesn't have two hands...")) /obj/item/melee/baton/abductor/proc/ProbeAttack(mob/living/L,mob/living/user) - L.visible_message("[user] probes [L] with [src]!", \ - "[user] probes you!") + L.visible_message(span_danger("[user] probes [L] with [src]!"), \ + span_userdanger("[user] probes you!")) - var/species = "Unknown species" - var/helptext = "Species unsuitable for experiments." + var/species = span_warning("Unknown species") + var/helptext = span_warning("Species unsuitable for experiments.") if(ishuman(L)) var/mob/living/carbon/human/H = L - species = "[H.dna.species.name]" + species = span_notice("[H.dna.species.name]") if(L.mind && L.mind.has_antag_datum(/datum/antagonist/changeling)) - species = "Changeling lifeform" + species = span_warning("Changeling lifeform") var/obj/item/organ/heart/gland/temp = locate() in H.internal_organs if(temp) - helptext = "Experimental gland detected!" + helptext = span_warning("Experimental gland detected!") else if (L.getorganslot(ORGAN_SLOT_HEART)) - helptext = "Subject suitable for experiments." + helptext = span_notice("Subject suitable for experiments.") else - helptext = "Subject unsuitable for experiments." + helptext = span_warning("Subject unsuitable for experiments.") - to_chat(user, "Probing result:[species]") + to_chat(user, "[span_notice("Probing result:")][species]") to_chat(user, "[helptext]") /obj/item/restraints/handcuffs/energy @@ -640,8 +640,8 @@ Congratulations! You are now trained for invasive xenobiology research!"} item_flags = DROPDEL /obj/item/restraints/handcuffs/energy/used/dropped(mob/user) - user.visible_message("[user]'s [name] breaks in a discharge of energy!", \ - "[user]'s [name] breaks in a discharge of energy!") + user.visible_message(span_danger("[user]'s [name] breaks in a discharge of energy!"), \ + span_userdanger("[user]'s [name] breaks in a discharge of energy!")) var/datum/effect_system/spark_spread/S = new S.set_up(4,0,user.loc) S.start() @@ -652,13 +652,13 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(AbductorCheck(user)) switch(mode) if(BATON_STUN) - . += "The baton is in stun mode." + . += span_warning("The baton is in stun mode.") if(BATON_SLEEP) - . += "The baton is in sleep inducement mode." + . += span_warning("The baton is in sleep inducement mode.") if(BATON_CUFF) - . += "The baton is in restraining mode." + . += span_warning("The baton is in restraining mode.") if(BATON_PROBE) - . += "The baton is in probing mode." + . += span_warning("The baton is in probing mode.") /obj/item/radio/headset/abductor name = "alien headset" @@ -691,7 +691,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/item/abductor_machine_beacon/attack_self(mob/user) ..() - user.visible_message("[user] places down [src] and activates it.", "You place down [src] and activate it.") + user.visible_message(span_notice("[user] places down [src] and activates it."), span_notice("You place down [src] and activate it.")) user.dropItemToGround(src) playsound(src, 'sound/machines/terminal_alert.ogg', 50) addtimer(CALLBACK(src, .proc/try_spawn_machine), 30) @@ -707,7 +707,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(viable) playsound(src, 'sound/effects/phasein.ogg', 50, TRUE) var/new_machine = new spawned_machine(loc) - visible_message("[new_machine] warps on top of the beacon!") + visible_message(span_notice("[new_machine] warps on top of the beacon!")) qdel(src) else playsound(src, 'sound/machines/buzz-two.ogg', 50) @@ -779,7 +779,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/structure/table_frame/abductor/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You start disassembling [src]...") + to_chat(user, span_notice("You start disassembling [src]...")) I.play_tool_sound(src) if(I.use_tool(src, user, 30)) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) @@ -790,9 +790,9 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(istype(I, /obj/item/stack/sheet/mineral/abductor)) var/obj/item/stack/sheet/P = I if(P.get_amount() < 1) - to_chat(user, "You need one alien alloy sheet to do this!") + to_chat(user, span_warning("You need one alien alloy sheet to do this!")) return - to_chat(user, "You start adding [P] to [src]...") + to_chat(user, span_notice("You start adding [P] to [src]...")) if(do_after(user, 50, target = src)) P.use(1) new /obj/structure/table/abductor(src.loc) @@ -801,9 +801,9 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(istype(I, /obj/item/stack/sheet/mineral/silver)) var/obj/item/stack/sheet/P = I if(P.get_amount() < 1) - to_chat(user, "You need one sheet of silver to do this!") + to_chat(user, span_warning("You need one sheet of silver to do this!")) return - to_chat(user, "You start adding [P] to [src]...") + to_chat(user, span_notice("You start adding [P] to [src]...")) if(do_after(user, 50, target = src)) P.use(1) new /obj/structure/table/optable/abductor(src.loc) @@ -851,7 +851,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} SIGNAL_HANDLER if(iscarbon(AM)) START_PROCESSING(SSobj, src) - to_chat(AM, "You feel a series of tiny pricks!") + to_chat(AM, span_danger("You feel a series of tiny pricks!")) /obj/structure/table/optable/abductor/process(delta_time) . = PROCESS_KILL diff --git a/code/modules/antagonists/abductor/equipment/abduction_surgery.dm b/code/modules/antagonists/abductor/equipment/abduction_surgery.dm index 28e2d174484..d24f3378f13 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_surgery.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_surgery.dm @@ -27,16 +27,16 @@ if(A.type in organ_types) IC = A break - user.visible_message("[user] starts to remove [target]'s organs.", "You start to remove [target]'s organs...") + user.visible_message(span_notice("[user] starts to remove [target]'s organs."), span_notice("You start to remove [target]'s organs...")) /datum/surgery_step/extract_organ/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(IC) - user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "You pull [IC] out of [target]'s [target_zone].") + user.visible_message(span_notice("[user] pulls [IC] out of [target]'s [target_zone]!"), span_notice("You pull [IC] out of [target]'s [target_zone].")) user.put_in_hands(IC) IC.Remove(target) return 1 else - to_chat(user, "You don't find anything in [target]'s [target_zone]!") + to_chat(user, span_warning("You don't find anything in [target]'s [target_zone]!")) return 1 /datum/surgery_step/gland_insert @@ -45,10 +45,10 @@ time = 32 /datum/surgery_step/gland_insert/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] starts to insert [tool] into [target].", "You start to insert [tool] into [target]...") + user.visible_message(span_notice("[user] starts to insert [tool] into [target]."), span_notice("You start to insert [tool] into [target]...")) /datum/surgery_step/gland_insert/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] inserts [tool] into [target].", "You insert [tool] into [target].") + user.visible_message(span_notice("[user] inserts [tool] into [target]."), span_notice("You insert [tool] into [target].")) user.temporarilyRemoveItemFromInventory(tool, TRUE) var/obj/item/organ/heart/gland/gland = tool gland.Insert(target, 2) diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index b86b8df2971..b90982c2eb3 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -30,7 +30,7 @@ /obj/item/organ/heart/gland/examine(mob/user) . = ..() if((user.mind && HAS_TRAIT(user.mind, TRAIT_ABDUCTOR_SCIENTIST_TRAINING)) || isobserver(user)) - . += "It is \a [true_name]." + . += span_notice("It is \a [true_name].") /obj/item/organ/heart/gland/proc/ownerCheck() if(ishuman(owner)) @@ -60,8 +60,8 @@ if(!ownerCheck() || !mind_control_uses || active_mind_control) return FALSE mind_control_uses-- - to_chat(owner, "You suddenly feel an irresistible compulsion to follow an order...") - to_chat(owner, "[command]") + to_chat(owner, span_userdanger("You suddenly feel an irresistible compulsion to follow an order...")) + to_chat(owner, span_mind_control("[command]")) active_mind_control = TRUE message_admins("[key_name(user)] sent an abductor mind control message to [key_name(owner)]: [command]") log_game("[key_name(user)] sent an abductor mind control message to [key_name(owner)]: [command]") @@ -74,7 +74,7 @@ /obj/item/organ/heart/gland/proc/clear_mind_control() if(!ownerCheck() || !active_mind_control) return FALSE - to_chat(owner, "You feel the compulsion fade, and you completely forget about your previous orders.") + to_chat(owner, span_userdanger("You feel the compulsion fade, and you completely forget about your previous orders.")) owner.clear_alert("mind_control") active_mind_control = FALSE return TRUE diff --git a/code/modules/antagonists/abductor/equipment/glands/access.dm b/code/modules/antagonists/abductor/equipment/glands/access.dm index e11901ae617..bddea3ad159 100644 --- a/code/modules/antagonists/abductor/equipment/glands/access.dm +++ b/code/modules/antagonists/abductor/equipment/glands/access.dm @@ -8,7 +8,7 @@ mind_control_duration = 900 /obj/item/organ/heart/gland/access/activate() - to_chat(owner, "You feel like a VIP for some reason.") + to_chat(owner, span_notice("You feel like a VIP for some reason.")) RegisterSignal(owner, COMSIG_MOB_ALLOWED, .proc/free_access) /obj/item/organ/heart/gland/access/proc/free_access(datum/source, obj/O) diff --git a/code/modules/antagonists/abductor/equipment/glands/blood.dm b/code/modules/antagonists/abductor/equipment/glands/blood.dm index 2e4803e0e9e..50dbe7a9b0d 100644 --- a/code/modules/antagonists/abductor/equipment/glands/blood.dm +++ b/code/modules/antagonists/abductor/equipment/glands/blood.dm @@ -14,5 +14,5 @@ return var/mob/living/carbon/human/H = owner var/datum/species/species = H.dna.species - to_chat(H, "You feel your blood heat up for a moment.") + to_chat(H, span_warning("You feel your blood heat up for a moment.")) species.exotic_blood = get_random_reagent_id() diff --git a/code/modules/antagonists/abductor/equipment/glands/egg.dm b/code/modules/antagonists/abductor/equipment/glands/egg.dm index d027f9cd9ab..13957366c62 100644 --- a/code/modules/antagonists/abductor/equipment/glands/egg.dm +++ b/code/modules/antagonists/abductor/equipment/glands/egg.dm @@ -10,6 +10,6 @@ mind_control_duration = 1800 /obj/item/organ/heart/gland/egg/activate() - owner.visible_message("[owner] [pick(EGG_LAYING_MESSAGES)]") + owner.visible_message(span_alertalien("[owner] [pick(EGG_LAYING_MESSAGES)]")) var/turf/T = owner.drop_location() new /obj/item/food/egg/gland(T) diff --git a/code/modules/antagonists/abductor/equipment/glands/electric.dm b/code/modules/antagonists/abductor/equipment/glands/electric.dm index 41a545b851a..c0869d1f02d 100644 --- a/code/modules/antagonists/abductor/equipment/glands/electric.dm +++ b/code/modules/antagonists/abductor/equipment/glands/electric.dm @@ -16,8 +16,8 @@ ..() /obj/item/organ/heart/gland/electric/activate() - owner.visible_message("[owner]'s skin starts emitting electric arcs!",\ - "You feel electric energy building up inside you!") + owner.visible_message(span_danger("[owner]'s skin starts emitting electric arcs!"),\ + span_warning("You feel electric energy building up inside you!")) playsound(get_turf(owner), "sparks", 100, TRUE, -1, SHORT_RANGE_SOUND_EXTRARANGE) addtimer(CALLBACK(src, .proc/zap), rand(30, 100)) diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm index 5665cbf1eb8..ca29aa99021 100644 --- a/code/modules/antagonists/abductor/equipment/glands/heal.dm +++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm @@ -68,7 +68,7 @@ return if(owner.blood_volume < BLOOD_VOLUME_OKAY) owner.blood_volume = BLOOD_VOLUME_NORMAL - to_chat(owner, "You feel your blood pulsing within you.") + to_chat(owner, span_warning("You feel your blood pulsing within you.")) return var/obj/item/bodypart/chest/chest = owner.get_bodypart(BODY_ZONE_CHEST) @@ -77,13 +77,13 @@ return /obj/item/organ/heart/gland/heal/proc/reject_implant(obj/item/implant/implant) - owner.visible_message("[owner] vomits up a tiny mangled implant!", "You suddenly vomit up a tiny mangled implant!") + owner.visible_message(span_warning("[owner] vomits up a tiny mangled implant!"), span_userdanger("You suddenly vomit up a tiny mangled implant!")) owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE) implant.removed(owner) qdel(implant) /obj/item/organ/heart/gland/heal/proc/reject_cyberimp(obj/item/organ/cyberimp/implant) - owner.visible_message("[owner] vomits up his [implant.name]!", "You suddenly vomit up your [implant.name]!") + owner.visible_message(span_warning("[owner] vomits up his [implant.name]!"), span_userdanger("You suddenly vomit up your [implant.name]!")) owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE) implant.Remove(owner) implant.forceMove(owner.drop_location()) @@ -93,9 +93,9 @@ owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE) appendix.Remove(owner) appendix.forceMove(owner.drop_location()) - owner.visible_message("[owner] vomits up his [appendix.name]!", "You suddenly vomit up your [appendix.name]!") + owner.visible_message(span_warning("[owner] vomits up his [appendix.name]!"), span_userdanger("You suddenly vomit up your [appendix.name]!")) else - to_chat(owner, "You feel a weird rumble in your bowels...") + to_chat(owner, span_warning("You feel a weird rumble in your bowels...")) var/appendix_type = /obj/item/organ/appendix if(owner?.dna?.species?.mutantappendix) @@ -105,12 +105,12 @@ /obj/item/organ/heart/gland/heal/proc/replace_liver(obj/item/organ/liver/liver) if(liver) - owner.visible_message("[owner] vomits up his [liver.name]!", "You suddenly vomit up your [liver.name]!") + owner.visible_message(span_warning("[owner] vomits up his [liver.name]!"), span_userdanger("You suddenly vomit up your [liver.name]!")) owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE) liver.Remove(owner) liver.forceMove(owner.drop_location()) else - to_chat(owner, "You feel a weird rumble in your bowels...") + to_chat(owner, span_warning("You feel a weird rumble in your bowels...")) var/liver_type = /obj/item/organ/liver if(owner?.dna?.species?.mutantliver) @@ -120,12 +120,12 @@ /obj/item/organ/heart/gland/heal/proc/replace_lungs(obj/item/organ/lungs/lungs) if(lungs) - owner.visible_message("[owner] vomits up his [lungs.name]!", "You suddenly vomit up your [lungs.name]!") + owner.visible_message(span_warning("[owner] vomits up his [lungs.name]!"), span_userdanger("You suddenly vomit up your [lungs.name]!")) owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE) lungs.Remove(owner) lungs.forceMove(owner.drop_location()) else - to_chat(owner, "You feel a weird rumble inside your chest...") + to_chat(owner, span_warning("You feel a weird rumble inside your chest...")) var/lung_type = /obj/item/organ/lungs if(owner.dna.species && owner.dna.species.mutantlungs) @@ -135,12 +135,12 @@ /obj/item/organ/heart/gland/heal/proc/replace_stomach(obj/item/organ/stomach/stomach) if(stomach) - owner.visible_message("[owner] vomits up his [stomach.name]!", "You suddenly vomit up your [stomach.name]!") + owner.visible_message(span_warning("[owner] vomits up his [stomach.name]!"), span_userdanger("You suddenly vomit up your [stomach.name]!")) owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE) stomach.Remove(owner) stomach.forceMove(owner.drop_location()) else - to_chat(owner, "You feel a weird rumble in your bowels...") + to_chat(owner, span_warning("You feel a weird rumble in your bowels...")) var/stomach_type = /obj/item/organ/stomach if(owner?.dna?.species?.mutantstomach) @@ -150,12 +150,12 @@ /obj/item/organ/heart/gland/heal/proc/replace_eyes(obj/item/organ/eyes/eyes) if(eyes) - owner.visible_message("[owner]'s [eyes.name] fall out of their sockets!", "Your [eyes.name] fall out of their sockets!") + owner.visible_message(span_warning("[owner]'s [eyes.name] fall out of their sockets!"), span_userdanger("Your [eyes.name] fall out of their sockets!")) playsound(owner, 'sound/effects/splat.ogg', 50, TRUE) eyes.Remove(owner) eyes.forceMove(owner.drop_location()) else - to_chat(owner, "You feel a weird rumble behind your eye sockets...") + to_chat(owner, span_warning("You feel a weird rumble behind your eye sockets...")) addtimer(CALLBACK(src, .proc/finish_replace_eyes), rand(100, 200)) @@ -165,27 +165,27 @@ eye_type = owner.dna.species.mutanteyes var/obj/item/organ/eyes/new_eyes = new eye_type() new_eyes.Insert(owner) - owner.visible_message("A pair of new eyes suddenly inflates into [owner]'s eye sockets!", "A pair of new eyes suddenly inflates into your eye sockets!") + owner.visible_message(span_warning("A pair of new eyes suddenly inflates into [owner]'s eye sockets!"), span_userdanger("A pair of new eyes suddenly inflates into your eye sockets!")) /obj/item/organ/heart/gland/heal/proc/replace_limb(body_zone, obj/item/bodypart/limb) if(limb) - owner.visible_message("[owner]'s [limb.name] suddenly detaches from [owner.p_their()] body!", "Your [limb.name] suddenly detaches from your body!") + owner.visible_message(span_warning("[owner]'s [limb.name] suddenly detaches from [owner.p_their()] body!"), span_userdanger("Your [limb.name] suddenly detaches from your body!")) playsound(owner, "desecration", 50, TRUE, -1) limb.drop_limb() else - to_chat(owner, "You feel a weird tingle in your [parse_zone(body_zone)]... even if you don't have one.") + to_chat(owner, span_warning("You feel a weird tingle in your [parse_zone(body_zone)]... even if you don't have one.")) addtimer(CALLBACK(src, .proc/finish_replace_limb, body_zone), rand(150, 300)) /obj/item/organ/heart/gland/heal/proc/finish_replace_limb(body_zone) - owner.visible_message("With a loud snap, [owner]'s [parse_zone(body_zone)] rapidly grows back from [owner.p_their()] body!", - "With a loud snap, your [parse_zone(body_zone)] rapidly grows back from your body!", - "Your hear a loud snap.") + owner.visible_message(span_warning("With a loud snap, [owner]'s [parse_zone(body_zone)] rapidly grows back from [owner.p_their()] body!"), + span_userdanger("With a loud snap, your [parse_zone(body_zone)] rapidly grows back from your body!"), + span_warning("Your hear a loud snap.")) playsound(owner, 'sound/magic/demon_consume.ogg', 50, TRUE) owner.regenerate_limb(body_zone) /obj/item/organ/heart/gland/heal/proc/replace_blood() - owner.visible_message("[owner] starts vomiting huge amounts of blood!", "You suddenly start vomiting huge amounts of blood!") + owner.visible_message(span_warning("[owner] starts vomiting huge amounts of blood!"), span_userdanger("You suddenly start vomiting huge amounts of blood!")) keep_replacing_blood() /obj/item/organ/heart/gland/heal/proc/keep_replacing_blood() @@ -209,14 +209,14 @@ /obj/item/organ/heart/gland/heal/proc/replace_chest(obj/item/bodypart/chest/chest) if(chest.status == BODYPART_ROBOTIC) - owner.visible_message("[owner]'s [chest.name] rapidly expels its mechanical components, replacing them with flesh!", "Your [chest.name] rapidly expels its mechanical components, replacing them with flesh!") + owner.visible_message(span_warning("[owner]'s [chest.name] rapidly expels its mechanical components, replacing them with flesh!"), span_userdanger("Your [chest.name] rapidly expels its mechanical components, replacing them with flesh!")) playsound(owner, 'sound/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE) var/list/dirs = GLOB.alldirs.Copy() for(var/i in 1 to 3) var/obj/effect/decal/cleanable/robot_debris/debris = new(get_turf(owner)) debris.streak(dirs) else - owner.visible_message("[owner]'s [chest.name] sheds off its damaged flesh, rapidly replacing it!", "Your [chest.name] sheds off its damaged flesh, rapidly replacing it!") + owner.visible_message(span_warning("[owner]'s [chest.name] sheds off its damaged flesh, rapidly replacing it!"), span_warning("Your [chest.name] sheds off its damaged flesh, rapidly replacing it!")) playsound(owner, 'sound/effects/splat.ogg', 50, TRUE) var/list/dirs = GLOB.alldirs.Copy() for(var/i in 1 to 3) diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm index 9a8cb1d1991..fe90296a1f5 100644 --- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm +++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm @@ -9,7 +9,7 @@ var/list/mob/living/carbon/human/broadcasted_mobs = list() /obj/item/organ/heart/gland/mindshock/activate() - to_chat(owner, "You get a headache.") + to_chat(owner, span_notice("You get a headache.")) var/turf/T = get_turf(owner) for(var/mob/living/carbon/H in orange(4,T)) @@ -17,10 +17,10 @@ continue switch(pick(1,3)) if(1) - to_chat(H, "You hear a loud buzz in your head, silencing your thoughts!") + to_chat(H, span_userdanger("You hear a loud buzz in your head, silencing your thoughts!")) H.Stun(50) if(2) - to_chat(H, "You hear an annoying buzz in your head.") + to_chat(H, span_warning("You hear an annoying buzz in your head.")) H.add_confusion(15) H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 160) if(3) @@ -38,8 +38,8 @@ continue broadcasted_mobs += H - to_chat(H, "You suddenly feel an irresistible compulsion to follow an order...") - to_chat(H, "[command]") + to_chat(H, span_userdanger("You suddenly feel an irresistible compulsion to follow an order...")) + to_chat(H, span_mind_control("[command]")) message_admins("[key_name(user)] broadcasted an abductor mind control message from [key_name(owner)] to [key_name(H)]: [command]") log_game("[key_name(user)] broadcasted an abductor mind control message from [key_name(owner)] to [key_name(H)]: [command]") @@ -59,7 +59,7 @@ return FALSE for(var/M in broadcasted_mobs) var/mob/living/carbon/human/H = M - to_chat(H, "You feel the compulsion fade, and you completely forget about your previous orders.") + to_chat(H, span_userdanger("You feel the compulsion fade, and you completely forget about your previous orders.")) H.clear_alert("mind_control") active_mind_control = FALSE return TRUE diff --git a/code/modules/antagonists/abductor/equipment/glands/plasma.dm b/code/modules/antagonists/abductor/equipment/glands/plasma.dm index fe8b06ac77a..291c36b1c79 100644 --- a/code/modules/antagonists/abductor/equipment/glands/plasma.dm +++ b/code/modules/antagonists/abductor/equipment/glands/plasma.dm @@ -8,14 +8,14 @@ mind_control_duration = 800 /obj/item/organ/heart/gland/plasma/activate() - to_chat(owner, "You feel bloated.") - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, "A massive stomachache overcomes you."), 150) + to_chat(owner, span_warning("You feel bloated.")) + addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, span_userdanger("A massive stomachache overcomes you.")), 150) addtimer(CALLBACK(src, .proc/vomit_plasma), 200) /obj/item/organ/heart/gland/plasma/proc/vomit_plasma() if(!owner) return - owner.visible_message("[owner] vomits a cloud of plasma!") + owner.visible_message(span_danger("[owner] vomits a cloud of plasma!")) var/turf/open/T = get_turf(owner) if(istype(T)) T.atmos_spawn_air("plasma=50;TEMP=[T20C]") diff --git a/code/modules/antagonists/abductor/equipment/glands/quantum.dm b/code/modules/antagonists/abductor/equipment/glands/quantum.dm index 5f49d17b9a9..1193ea87fc6 100644 --- a/code/modules/antagonists/abductor/equipment/glands/quantum.dm +++ b/code/modules/antagonists/abductor/equipment/glands/quantum.dm @@ -25,16 +25,16 @@ var/turf/T = get_turf(owner) do_teleport(owner, get_turf(entangled_mob),null,TRUE,channel = TELEPORT_CHANNEL_QUANTUM) do_teleport(entangled_mob, T,null,TRUE,channel = TELEPORT_CHANNEL_QUANTUM) - to_chat(owner, "You suddenly find yourself somewhere else!") - to_chat(entangled_mob, "You suddenly find yourself somewhere else!") + to_chat(owner, span_warning("You suddenly find yourself somewhere else!")) + to_chat(entangled_mob, span_warning("You suddenly find yourself somewhere else!")) if(!active_mind_control) //Do not reset entangled mob while mind control is active entangled_mob = null /obj/item/organ/heart/gland/quantum/mind_control(command, mob/living/user) if(..()) if(entangled_mob && ishuman(entangled_mob) && (entangled_mob.stat < DEAD)) - to_chat(entangled_mob, "You suddenly feel an irresistible compulsion to follow an order...") - to_chat(entangled_mob, "[command]") + to_chat(entangled_mob, span_userdanger("You suddenly feel an irresistible compulsion to follow an order...")) + to_chat(entangled_mob, span_mind_control("[command]")) var/atom/movable/screen/alert/mind_control/mind_alert = entangled_mob.throw_alert("mind_control", /atom/movable/screen/alert/mind_control) mind_alert.command = command message_admins("[key_name(owner)] mirrored an abductor mind control message to [key_name(entangled_mob)]: [command]") @@ -43,6 +43,6 @@ /obj/item/organ/heart/gland/quantum/clear_mind_control() if(active_mind_control) - to_chat(entangled_mob, "You feel the compulsion fade, and you completely forget about your previous orders.") + to_chat(entangled_mob, span_userdanger("You feel the compulsion fade, and you completely forget about your previous orders.")) entangled_mob.clear_alert("mind_control") ..() diff --git a/code/modules/antagonists/abductor/equipment/glands/slime.dm b/code/modules/antagonists/abductor/equipment/glands/slime.dm index e7fee444f2d..d5ea08fc0c5 100644 --- a/code/modules/antagonists/abductor/equipment/glands/slime.dm +++ b/code/modules/antagonists/abductor/equipment/glands/slime.dm @@ -18,7 +18,7 @@ ..() /obj/item/organ/heart/gland/slime/activate() - to_chat(owner, "You feel nauseated!") + to_chat(owner, span_warning("You feel nauseated!")) owner.vomit(20) var/mob/living/simple_animal/slime/Slime = new(get_turf(owner), "grey") diff --git a/code/modules/antagonists/abductor/equipment/glands/spider.dm b/code/modules/antagonists/abductor/equipment/glands/spider.dm index 7c3c60eb4d1..aebe0a257fa 100644 --- a/code/modules/antagonists/abductor/equipment/glands/spider.dm +++ b/code/modules/antagonists/abductor/equipment/glands/spider.dm @@ -8,7 +8,7 @@ mind_control_duration = 2400 /obj/item/organ/heart/gland/spiderman/activate() - to_chat(owner, "You feel something crawling in your skin.") + to_chat(owner, span_warning("You feel something crawling in your skin.")) owner.faction |= "spiders" var/obj/structure/spider/spiderling/S = new(owner.drop_location()) S.directive = "Protect your nest inside [owner.real_name]." diff --git a/code/modules/antagonists/abductor/equipment/glands/transform.dm b/code/modules/antagonists/abductor/equipment/glands/transform.dm index cad1543f8bb..71c8acc376b 100644 --- a/code/modules/antagonists/abductor/equipment/glands/transform.dm +++ b/code/modules/antagonists/abductor/equipment/glands/transform.dm @@ -9,7 +9,7 @@ mind_control_duration = 300 /obj/item/organ/heart/gland/transform/activate() - to_chat(owner, "You feel unlike yourself.") + to_chat(owner, span_notice("You feel unlike yourself.")) randomize_human(owner) var/species = pick(list(/datum/species/human, /datum/species/lizard, /datum/species/moth, /datum/species/fly)) owner.set_species(species) diff --git a/code/modules/antagonists/abductor/equipment/glands/trauma.dm b/code/modules/antagonists/abductor/equipment/glands/trauma.dm index af971c4aa17..bc2c95c061c 100644 --- a/code/modules/antagonists/abductor/equipment/glands/trauma.dm +++ b/code/modules/antagonists/abductor/equipment/glands/trauma.dm @@ -8,7 +8,7 @@ mind_control_duration = 1800 /obj/item/organ/heart/gland/trauma/activate() - to_chat(owner, "You feel a spike of pain in your head.") + to_chat(owner, span_warning("You feel a spike of pain in your head.")) if(prob(33)) owner.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, rand(TRAUMA_RESILIENCE_BASIC, TRAUMA_RESILIENCE_LOBOTOMY)) else diff --git a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm index c4e1164d664..3d19a963671 100644 --- a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm +++ b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm @@ -8,5 +8,5 @@ mind_control_duration = 1800 /obj/item/organ/heart/gland/ventcrawling/activate() - to_chat(owner, "You feel very stretchy.") + to_chat(owner, span_notice("You feel very stretchy.")) ADD_TRAIT(owner, TRAIT_VENTCRAWLER_ALWAYS, type) diff --git a/code/modules/antagonists/abductor/equipment/glands/viral.dm b/code/modules/antagonists/abductor/equipment/glands/viral.dm index 1b6781b5782..53a35b2d21b 100644 --- a/code/modules/antagonists/abductor/equipment/glands/viral.dm +++ b/code/modules/antagonists/abductor/equipment/glands/viral.dm @@ -8,7 +8,7 @@ mind_control_duration = 1800 /obj/item/organ/heart/gland/viral/activate() - to_chat(owner, "You feel sick.") + to_chat(owner, span_warning("You feel sick.")) var/datum/disease/advance/A = random_virus(pick(2,6),6) A.carrier = TRUE owner.ForceContractDisease(A, FALSE, TRUE) diff --git a/code/modules/antagonists/abductor/machinery/camera.dm b/code/modules/antagonists/abductor/machinery/camera.dm index 21f3c38b169..6c14c277b72 100644 --- a/code/modules/antagonists/abductor/machinery/camera.dm +++ b/code/modules/antagonists/abductor/machinery/camera.dm @@ -71,7 +71,7 @@ if(!target || !iscarbon(owner)) return if(world.time < use_delay) - to_chat(owner, "You must wait [DisplayTimeText(use_delay - world.time)] to use the [target] again!") + to_chat(owner, span_warning("You must wait [DisplayTimeText(use_delay - world.time)] to use the [target] again!")) return var/mob/living/carbon/human/C = owner var/mob/camera/ai_eye/remote/remote_eye = C.remote_control @@ -79,7 +79,7 @@ var/area/target_area = get_area(remote_eye) if(target_area.area_flags & ABDUCTOR_PROOF) - to_chat(owner, "This area is too heavily shielded to safely transport to.") + to_chat(owner, span_warning("This area is too heavily shielded to safely transport to.")) return use_delay = (world.time + abductor_pad_cooldown) @@ -111,7 +111,7 @@ if(!target || !iscarbon(owner)) return if(world.time < use_delay) - to_chat(owner, "You can only teleport to one place at a time!") + to_chat(owner, span_warning("You can only teleport to one place at a time!")) return var/mob/living/carbon/human/C = owner var/mob/camera/ai_eye/remote/remote_eye = C.remote_control @@ -119,7 +119,7 @@ var/area/target_area = get_area(remote_eye) if(target_area.area_flags & ABDUCTOR_PROOF) - to_chat(owner, "This area is too heavily shielded to safely transport to.") + to_chat(owner, span_warning("This area is too heavily shielded to safely transport to.")) return use_delay = (world.time + teleport_self_cooldown) diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm index 9d4a2ac048d..47148565a68 100644 --- a/code/modules/antagonists/abductor/machinery/console.dm +++ b/code/modules/antagonists/abductor/machinery/console.dm @@ -51,7 +51,7 @@ if(.) return if(!HAS_TRAIT(user, TRAIT_ABDUCTOR_TRAINING) && !HAS_TRAIT(user.mind, TRAIT_ABDUCTOR_TRAINING)) - to_chat(user, "You start mashing alien buttons at random!") + to_chat(user, span_warning("You start mashing alien buttons at random!")) if(do_after(user,100, target = src)) TeleporterSend() @@ -174,12 +174,12 @@ /obj/machinery/abductor/console/proc/SetDroppoint(turf/open/location,user) if(!istype(location)) - to_chat(user, "That place is not safe for the specimen.") + to_chat(user, span_warning("That place is not safe for the specimen.")) return if(pad) pad.teleport_target = location - to_chat(user, "Location marked as test subject release point.") + to_chat(user, span_notice("Location marked as test subject release point.")) /obj/machinery/abductor/console/Initialize(mapload) ..() @@ -244,9 +244,9 @@ /obj/machinery/abductor/console/attackby(obj/O, mob/user, params) if(istype(O, /obj/item/abductor/gizmo) && AddGizmo(O)) - to_chat(user, "You link the tool to the console.") + to_chat(user, span_notice("You link the tool to the console.")) else if(istype(O, /obj/item/clothing/suit/armor/abductor/vest) && AddVest(O)) - to_chat(user, "You link the vest to the console.") + to_chat(user, span_notice("You link the vest to the console.")) else return ..() diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm index f8987ed4694..f57f2244e83 100644 --- a/code/modules/antagonists/abductor/machinery/experiment.dm +++ b/code/modules/antagonists/abductor/machinery/experiment.dm @@ -38,19 +38,19 @@ return if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) /obj/machinery/abductor/experiment/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open) return - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/abductor/experiment/ui_status(mob/user) @@ -138,11 +138,11 @@ sleep(5) switch(text2num(type)) if(1) - to_chat(H, "You feel violated.") + to_chat(H, span_warning("You feel violated.")) if(2) - to_chat(H, "You feel yourself being sliced apart and put back together.") + to_chat(H, span_warning("You feel yourself being sliced apart and put back together.")) if(3) - to_chat(H, "You feel intensely watched.") + to_chat(H, span_warning("You feel intensely watched.")) sleep(5) user_abductor.team.abductees += H.mind H.mind.add_antag_datum(/datum/antagonist/abductee) diff --git a/code/modules/antagonists/abductor/machinery/pad.dm b/code/modules/antagonists/abductor/machinery/pad.dm index ab636f7d0e8..0b0531fb1ee 100644 --- a/code/modules/antagonists/abductor/machinery/pad.dm +++ b/code/modules/antagonists/abductor/machinery/pad.dm @@ -16,7 +16,7 @@ for(var/mob/living/target in loc) target.forceMove(teleport_target) new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir) - to_chat(target, "The instability of the warp leaves you disoriented!") + to_chat(target, span_warning("The instability of the warp leaves you disoriented!")) target.Stun(60) /obj/machinery/abductor/pad/proc/Retrieve(mob/living/target) diff --git a/code/modules/antagonists/blob/blob.dm b/code/modules/antagonists/blob/blob.dm index 6988226a335..216352809f8 100644 --- a/code/modules/antagonists/blob/blob.dm +++ b/code/modules/antagonists/blob/blob.dm @@ -20,7 +20,7 @@ /datum/antagonist/blob/greet() if(!isovermind(owner.current)) - to_chat(owner,"You feel bloated.") + to_chat(owner,span_userdanger("You feel bloated.")) /datum/antagonist/blob/on_gain() create_objectives() diff --git a/code/modules/antagonists/blob/blob_mobs.dm b/code/modules/antagonists/blob/blob_mobs.dm index d91fc703838..b6b2daf0267 100644 --- a/code/modules/antagonists/blob/blob_mobs.dm +++ b/code/modules/antagonists/blob/blob_mobs.dm @@ -149,7 +149,7 @@ if(pod_ask == "No" || !src || QDELETED(src)) return if(key) - to_chat(user, "Someone else already took this spore!") + to_chat(user, span_warning("Someone else already took this spore!")) return key = user.key log_game("[key_name(src)] took control of [name].") @@ -177,7 +177,7 @@ H.forceMove(src) oldguy = H update_icons() - visible_message("The corpse of [H.name] suddenly rises!") + visible_message(span_warning("The corpse of [H.name] suddenly rises!")) if(!key) notify_ghosts("\A [src] has been created in \the [get_area(src)].", source = src, action = NOTIFY_ORBIT, flashwindow = FALSE, header = "Blob Zombie Created") diff --git a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm index 3ab13676532..db0d583e15f 100644 --- a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm +++ b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm @@ -142,7 +142,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/ if(message_living && !issilicon(M)) totalmessage += message_living totalmessage += "!" - to_chat(M, "[totalmessage]") + to_chat(M, span_userdanger("[totalmessage]")) /datum/blobstrain/proc/core_process() if(resource_delay <= world.time) @@ -174,4 +174,4 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/ return /datum/blobstrain/proc/examine(mob/user) - return list("Progress to Critical Mass: [overmind.blobs_legit.len]/[overmind.blobwincount].") + return list("Progress to Critical Mass: [span_notice("[overmind.blobs_legit.len]/[overmind.blobwincount].")]") diff --git a/code/modules/antagonists/blob/blobstrains/debris_devourer.dm b/code/modules/antagonists/blob/blobstrains/debris_devourer.dm index bf0c5e052ff..12c75199349 100644 --- a/code/modules/antagonists/blob/blobstrains/debris_devourer.dm +++ b/code/modules/antagonists/blob/blobstrains/debris_devourer.dm @@ -48,16 +48,16 @@ . = ..() var/obj/structure/blob/special/core/core = overmind.blob_core if (isobserver(user)) - . += "Absorbed debris is currently reducing incoming damage by [round(max(min(DEBRIS_DENSITY, 10),0))]" + . += span_notice("Absorbed debris is currently reducing incoming damage by [round(max(min(DEBRIS_DENSITY, 10),0))]") else switch (round(max(min(DEBRIS_DENSITY, 10),0))) if (0) - . += "There is not currently enough absorbed debris to reduce damage." + . += span_notice("There is not currently enough absorbed debris to reduce damage.") if (1 to 3) - . += "Absorbed debris is currently reducing incoming damage by a very low amount." // these roughly correspond with force description strings + . += span_notice("Absorbed debris is currently reducing incoming damage by a very low amount.") // these roughly correspond with force description strings if (4 to 7) - . += "Absorbed debris is currently reducing incoming damage by a low amount." + . += span_notice("Absorbed debris is currently reducing incoming damage by a low amount.") if (8 to 10) - . += "Absorbed debris is currently reducing incoming damage by a medium amount." + . += span_notice("Absorbed debris is currently reducing incoming damage by a medium amount.") #undef DEBRIS_DENSITY diff --git a/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm b/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm index 9e22cca0bf4..204e81fb953 100644 --- a/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm +++ b/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm @@ -13,7 +13,7 @@ /datum/blobstrain/reagent/distributed_neurons/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && damage <= 20 && B.get_integrity() - damage <= 0 && prob(15)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 15% chance of a shitty spore. - B.visible_message("A spore floats free of the blob!") + B.visible_message(span_warning("A spore floats free of the blob!")) var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(B.loc) BS.overmind = B.overmind BS.update_icons() @@ -38,4 +38,4 @@ overmind.blob_mobs.Add(spore) spore.Zombify(exposed_mob) overmind.add_points(-5) - to_chat(overmind, "Spent 5 resources for the zombification of [exposed_mob].") + to_chat(overmind, span_notice("Spent 5 resources for the zombification of [exposed_mob].")) diff --git a/code/modules/antagonists/blob/blobstrains/pressurized_slime.dm b/code/modules/antagonists/blob/blobstrains/pressurized_slime.dm index e33013760ba..3398d080600 100644 --- a/code/modules/antagonists/blob/blobstrains/pressurized_slime.dm +++ b/code/modules/antagonists/blob/blobstrains/pressurized_slime.dm @@ -21,7 +21,7 @@ /datum/blobstrain/reagent/pressurized_slime/death_reaction(obj/structure/blob/B, damage_flag) if(damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) - B.visible_message("The blob ruptures, spraying the area with liquid!") + B.visible_message(span_boldwarning("The blob ruptures, spraying the area with liquid!")) extinguisharea(B, 50) /datum/blobstrain/reagent/pressurized_slime/proc/extinguisharea(obj/structure/blob/B, probchance) diff --git a/code/modules/antagonists/blob/blobstrains/reactive_spines.dm b/code/modules/antagonists/blob/blobstrains/reactive_spines.dm index 183711e79f9..7631499b8f6 100644 --- a/code/modules/antagonists/blob/blobstrains/reactive_spines.dm +++ b/code/modules/antagonists/blob/blobstrains/reactive_spines.dm @@ -15,7 +15,7 @@ /datum/blobstrain/reagent/reactive_spines/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) if(damage && ((damage_type == BRUTE) || (damage_type == BURN)) && B.get_integrity() - damage > 0 && COOLDOWN_FINISHED(src, retaliate_cooldown)) // Is there any damage, is it burn or brute, will we be alive, and has the cooldown finished? COOLDOWN_START(src, retaliate_cooldown, 2.5 SECONDS) // 2.5 seconds before auto-retaliate can whack everything within 1 tile again - B.visible_message("The blob retaliates, lashing out!") + B.visible_message(span_boldwarning("The blob retaliates, lashing out!")) for(var/atom/A in range(1, B)) var/attacked_turf = get_turf(A) if(isliving(A) && !isblobmonster(A)) // Make sure to inject strain-reagents with automatic attacks when needed. diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 040c6bced5b..5e7c5c59ef3 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -110,8 +110,8 @@ GLOBAL_LIST_EMPTY(blob_nodes) if(!blob_core) if(!placed) if(manualplace_min_time && world.time >= manualplace_min_time) - to_chat(src, "You may now place your blob core.") - to_chat(src, "You will automatically place your blob core in [DisplayTimeText(autoplace_max_time - world.time)].") + to_chat(src, "[span_big("You may now place your blob core.")]") + to_chat(src, span_big("You will automatically place your blob core in [DisplayTimeText(autoplace_max_time - world.time)].")) manualplace_min_time = 0 if(autoplace_max_time && world.time >= autoplace_max_time) place_blob_core(1) @@ -125,7 +125,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) blob_points = INFINITY addtimer(CALLBACK(src, .proc/victory), 450) else if(!free_strain_rerolls && (last_reroll_time + BLOB_POWER_REROLL_FREE_TIMEYou have gained another free strain re-roll.
    ") + to_chat(src, "[span_big("You have gained another free strain re-roll.")]") free_strain_rerolls = 1 if(!victory_in_progress && max_count < blobs_legit.len) @@ -211,7 +211,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) . = ..() if(!. || !client) return FALSE - to_chat(src, "You are the overmind!") + to_chat(src, span_notice("You are the overmind!")) blob_help() update_health_hud() add_points(0) @@ -239,7 +239,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) if (src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot send IC messages (muted).") + to_chat(src, span_boldwarning("You cannot send IC messages (muted).")) return if (!(ignore_spam || forced) && src.client.handle_spam_prevention(message,MUTE_IC)) return @@ -259,7 +259,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) src.log_talk(message, LOG_SAY) var/message_a = say_quote(message) - var/rendered = "\[Blob Telepathy\] [name]([blobstrain.name]) [message_a]" + var/rendered = span_big("\[Blob Telepathy\] [name]([blobstrain.name]) [message_a]") for(var/mob/M in GLOB.mob_list) if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob)) diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm index 2c66956ea9f..7412cd5f687 100644 --- a/code/modules/antagonists/blob/powers.dm +++ b/code/modules/antagonists/blob/powers.dm @@ -2,7 +2,7 @@ /mob/camera/blob/proc/can_buy(cost = 15) if(blob_points < cost) - to_chat(src, "You cannot afford this, you need at least [cost] resources!") + to_chat(src, span_warning("You cannot afford this, you need at least [cost] resources!")) return FALSE add_points(-cost) return TRUE @@ -16,34 +16,34 @@ if(ROLE_BLOB in M.faction) continue if(M.client) - to_chat(src, "There is someone too close to place your blob core!") + to_chat(src, span_warning("There is someone too close to place your blob core!")) return FALSE for(var/mob/living/M in view(13, src)) if(ROLE_BLOB in M.faction) continue if(M.client) - to_chat(src, "Someone could see your blob core from here!") + to_chat(src, span_warning("Someone could see your blob core from here!")) return FALSE var/turf/T = get_turf(src) if(T.density) - to_chat(src, "This spot is too dense to place a blob core on!") + to_chat(src, span_warning("This spot is too dense to place a blob core on!")) return FALSE var/area/A = get_area(T) if(isspaceturf(T) || A && !(A.area_flags & BLOBS_ALLOWED)) - to_chat(src, "You cannot place your core here!") + to_chat(src, span_warning("You cannot place your core here!")) return FALSE for(var/obj/O in T) if(istype(O, /obj/structure/blob)) if(istype(O, /obj/structure/blob/normal)) qdel(O) else - to_chat(src, "There is already a blob here!") + to_chat(src, span_warning("There is already a blob here!")) return FALSE else if(O.density) - to_chat(src, "This spot is too dense to place a blob core on!") + to_chat(src, span_warning("This spot is too dense to place a blob core on!")) return FALSE if(!pop_override && world.time <= manualplace_min_time && world.time <= autoplace_max_time) - to_chat(src, "It is too early to place your blob core!") + to_chat(src, span_warning("It is too early to place your blob core!")) return FALSE else if(placement_override == 1) var/turf/T = pick(GLOB.blobstart) @@ -81,23 +81,23 @@ T = get_turf(src) var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) if(!B) - to_chat(src, "There is no blob here!") + to_chat(src, span_warning("There is no blob here!")) return if(!istype(B, /obj/structure/blob/normal)) - to_chat(src, "Unable to use this blob, find a normal one.") + to_chat(src, span_warning("Unable to use this blob, find a normal one.")) return if(needsNode) var/area/A = get_area(src) if(!(A.area_flags & BLOBS_ALLOWED)) //factory and resource blobs must be legit - to_chat(src, "This type of blob must be placed on the station!") + to_chat(src, span_warning("This type of blob must be placed on the station!")) return if(nodes_required && !(locate(/obj/structure/blob/special/node) in orange(BLOB_NODE_PULSE_RANGE, T)) && !(locate(/obj/structure/blob/special/core) in orange(BLOB_CORE_PULSE_RANGE, T))) - to_chat(src, "You need to place this blob closer to a node or core!") + to_chat(src, span_warning("You need to place this blob closer to a node or core!")) return //handholdotron 2000 if(minSeparation) for(var/obj/structure/blob/L in orange(minSeparation, T)) if(L.type == blobstrain) - to_chat(src, "There is a similar blob nearby, move more than [minSeparation] tiles away from it!") + to_chat(src, span_warning("There is a similar blob nearby, move more than [minSeparation] tiles away from it!")) return if(!can_buy(price)) return @@ -107,9 +107,9 @@ /mob/camera/blob/proc/toggle_node_req() nodes_required = !nodes_required if(nodes_required) - to_chat(src, "You now require a nearby node or core to place factory and resource blobs.") + to_chat(src, span_warning("You now require a nearby node or core to place factory and resource blobs.")) else - to_chat(src, "You no longer require a nearby node or core to place factory and resource blobs.") + to_chat(src, span_warning("You no longer require a nearby node or core to place factory and resource blobs.")) /mob/camera/blob/proc/create_shield(turf/T) var/obj/structure/blob/shield/S = locate(/obj/structure/blob/shield) in T @@ -118,9 +118,9 @@ return if(S.get_integrity() < S.max_integrity * 0.5) add_points(BLOB_UPGRADE_REFLECTOR_COST) - to_chat(src, "This shield blob is too damaged to be modified properly!") + to_chat(src, span_warning("This shield blob is too damaged to be modified properly!")) return - to_chat(src, "You secrete a reflective ooze over the shield blob, allowing it to reflect projectiles at the cost of reduced integrity.") + to_chat(src, span_warning("You secrete a reflective ooze over the shield blob, allowing it to reflect projectiles at the cost of reduced integrity.")) S.change_to(/obj/structure/blob/shield/reflective, src) else createSpecial(BLOB_UPGRADE_STRONG_COST, /obj/structure/blob/shield, 0, FALSE, T) @@ -129,24 +129,24 @@ var/turf/T = get_turf(src) var/obj/structure/blob/special/factory/B = locate(/obj/structure/blob/special/factory) in T if(!B) - to_chat(src, "You must be on a factory blob!") + to_chat(src, span_warning("You must be on a factory blob!")) return if(B.naut) //if it already made a blobbernaut, it can't do it again - to_chat(src, "This factory blob is already sustaining a blobbernaut.") + to_chat(src, span_warning("This factory blob is already sustaining a blobbernaut.")) return if(B.get_integrity() < B.max_integrity * 0.5) - to_chat(src, "This factory blob is too damaged to sustain a blobbernaut.") + to_chat(src, span_warning("This factory blob is too damaged to sustain a blobbernaut.")) return if(!can_buy(BLOBMOB_BLOBBERNAUT_RESOURCE_COST)) return B.naut = TRUE //temporary placeholder to prevent creation of more than one per factory. - to_chat(src, "You attempt to produce a blobbernaut.") + to_chat(src, span_notice("You attempt to produce a blobbernaut.")) var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as a [blobstrain.name] blobbernaut?", ROLE_BLOB, ROLE_BLOB, 50) //players must answer rapidly if(LAZYLEN(candidates)) //if we got at least one candidate, they're a blobbernaut now. B.modify_max_integrity(initial(B.max_integrity) * 0.25) //factories that produced a blobbernaut have much lower health B.update_appearance() - B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") + B.visible_message(span_warning("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)) flick("blobbernaut_produce", blobber) @@ -161,12 +161,12 @@ SEND_SOUND(blobber, sound('sound/effects/blobattack.ogg')) SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg')) to_chat(blobber, "You are a blobbernaut!") - to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") + to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, [span_cultlarge("but will slowly die if not near the blob")] or if the factory that made you is killed.") to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b") to_chat(blobber, "Your overmind's blob reagent is: [blobstrain.name]!") to_chat(blobber, "The [blobstrain.name] reagent [blobstrain.shortdesc ? "[blobstrain.shortdesc]" : "[blobstrain.description]"]") else - to_chat(src, "You could not conjure a sentience for your blobbernaut. Your points have been refunded. Try again later.") + to_chat(src, span_warning("You could not conjure a sentience for your blobbernaut. Your points have been refunded. Try again later.")) add_points(BLOBMOB_BLOBBERNAUT_RESOURCE_COST) B.naut = null @@ -174,14 +174,14 @@ var/turf/T = get_turf(src) var/obj/structure/blob/special/node/B = locate(/obj/structure/blob/special/node) in T if(!B) - to_chat(src, "You must be on a blob node!") + to_chat(src, span_warning("You must be on a blob node!")) return if(!blob_core) - to_chat(src, "You have no core and are about to die! May you rest in peace.") + to_chat(src, span_userdanger("You have no core and are about to die! May you rest in peace.")) return var/area/A = get_area(T) if(isspaceturf(T) || A && !(A.area_flags & BLOBS_ALLOWED)) - to_chat(src, "You cannot relocate your core here!") + to_chat(src, span_warning("You cannot relocate your core here!")) return if(!can_buy(BLOB_POWER_RELOCATE_COST)) return @@ -195,17 +195,17 @@ /mob/camera/blob/proc/remove_blob(turf/T) var/obj/structure/blob/B = locate() in T if(!B) - to_chat(src, "There is no blob there!") + to_chat(src, span_warning("There is no blob there!")) return if(B.point_return < 0) - to_chat(src, "Unable to remove this blob.") + to_chat(src, span_warning("Unable to remove this blob.")) return if(max_blob_points < B.point_return + blob_points) - to_chat(src, "You have too many resources to remove this blob!") + to_chat(src, span_warning("You have too many resources to remove this blob!")) return if(B.point_return) add_points(B.point_return) - to_chat(src, "Gained [B.point_return] resources from removing \the [B].") + to_chat(src, span_notice("Gained [B.point_return] resources from removing \the [B].")) qdel(B) /mob/camera/blob/proc/expand_blob(turf/T) @@ -215,7 +215,7 @@ for(var/obj/structure/blob/AB in range(T, 1)) possibleblobs += AB if(!possibleblobs.len) - to_chat(src, "There is no blob adjacent to the target tile!") + to_chat(src, span_warning("There is no blob adjacent to the target tile!")) return if(can_buy(BLOB_EXPAND_COST)) var/attacksuccess = FALSE @@ -231,7 +231,7 @@ B.blob_attack_animation(T, src) add_points(BLOB_ATTACK_REFUND) else - to_chat(src, "There is a blob there!") + to_chat(src, span_warning("There is a blob there!")) add_points(BLOB_EXPAND_COST) //otherwise, refund all of the cost else var/list/cardinalblobs = list() @@ -272,7 +272,7 @@ /mob/camera/blob/proc/strain_reroll() if (!free_strain_rerolls && blob_points < BLOB_POWER_REROLL_COST) - to_chat(src, "You need at least [BLOB_POWER_REROLL_COST] resources to reroll your strain again!") + to_chat(src, span_warning("You need at least [BLOB_POWER_REROLL_COST] resources to reroll your strain again!")) return open_reroll_menu() @@ -289,10 +289,10 @@ var/image/strain_icon = image('icons/mob/blob.dmi', "blob_core") strain_icon.color = initial(strain.color) - var/info_text = "[initial(strain.name)]" - info_text += "
    [initial(strain.analyzerdescdamage)]" + var/info_text = span_boldnotice("[initial(strain.name)]") + info_text += "
    [span_notice("[initial(strain.analyzerdescdamage)]")]" if (!isnull(initial(strain.analyzerdesceffect))) - info_text += "
    [initial(strain.analyzerdesceffect)]" + info_text += "
    [span_notice("[initial(strain.analyzerdesceffect)]")]" var/datum/radial_menu_choice/choice = new choice.image = strain_icon @@ -338,7 +338,7 @@ to_chat(src, "Shortcuts: Click = Expand Blob | Middle Mouse Click = Rally Spores | Ctrl Click = Create Shield Blob | Alt Click = Remove Blob") to_chat(src, "Attempting to talk will send a message to all other overminds, allowing you to coordinate with them.") if(!placed && autoplace_max_time <= world.time) - to_chat(src, "You will automatically place your blob core in [DisplayTimeText(autoplace_max_time - world.time)].") - to_chat(src, "You [manualplace_min_time ? "will be able to":"can"] manually place your blob core by pressing the Place Blob Core button in the bottom right corner of the screen.") + to_chat(src, span_big("You will automatically place your blob core in [DisplayTimeText(autoplace_max_time - world.time)].")) + to_chat(src, span_big("You [manualplace_min_time ? "will be able to":"can"] manually place your blob core by pressing the Place Blob Core button in the bottom right corner of the screen.")) #undef BLOB_REROLL_RADIUS diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index da2a4acd633..cb04875651f 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -208,7 +208,7 @@ to_chat(user, "The analyzer beeps once, then reports:
    ") SEND_SOUND(user, sound('sound/machines/ping.ogg')) if(overmind) - to_chat(user, "Progress to Critical Mass: [overmind.blobs_legit.len]/[overmind.blobwincount].") + to_chat(user, "Progress to Critical Mass: [span_notice("[overmind.blobs_legit.len]/[overmind.blobwincount].")]") to_chat(user, chemeffectreport(user).Join("\n")) else to_chat(user, "Blob core neutralized. Critical mass no longer attainable.") @@ -220,17 +220,17 @@ RETURN_TYPE(/list) . = list() if(overmind) - . += list("Material: [overmind.blobstrain.name].", - "Material Effects: [overmind.blobstrain.analyzerdescdamage]", - "Material Properties: [overmind.blobstrain.analyzerdesceffect || "N/A"]") + . += list("Material: [overmind.blobstrain.name][span_notice(".")]", + "Material Effects: [span_notice("[overmind.blobstrain.analyzerdescdamage]")]", + "Material Properties: [span_notice("[overmind.blobstrain.analyzerdesceffect || "N/A"]")]") else . += "No Material Detected!" /obj/structure/blob/proc/typereport(mob/user) RETURN_TYPE(/list) - return list("Blob Type: [uppertext(initial(name))]", - "Health: [obj_integrity]/[max_integrity]", - "Effects: [scannerreport()]") + return list("Blob Type: [span_notice("[uppertext(initial(name))]")]", + "Health: [span_notice("[obj_integrity]/[max_integrity]")]", + "Effects: [span_notice("[scannerreport()]")]") /obj/structure/blob/attack_animal(mob/living/simple_animal/user, list/modifiers) diff --git a/code/modules/antagonists/blob/structures/factory.dm b/code/modules/antagonists/blob/structures/factory.dm index a65f16be155..4688d3246dd 100644 --- a/code/modules/antagonists/blob/structures/factory.dm +++ b/code/modules/antagonists/blob/structures/factory.dm @@ -24,7 +24,7 @@ spore.factory = null if(naut) naut.factory = null - to_chat(naut, "Your factory was destroyed! You feel yourself dying!") + to_chat(naut, span_userdanger("Your factory was destroyed! You feel yourself dying!")) naut.throw_alert("nofactory", /atom/movable/screen/alert/nofactory) spores = null if(overmind) diff --git a/code/modules/antagonists/brainwashing/brainwashing.dm b/code/modules/antagonists/brainwashing/brainwashing.dm index 4c42894c392..d745fa56e17 100644 --- a/code/modules/antagonists/brainwashing/brainwashing.dm +++ b/code/modules/antagonists/brainwashing/brainwashing.dm @@ -34,8 +34,8 @@ show_name_in_check_antagonists = TRUE /datum/antagonist/brainwashed/greet() - to_chat(owner, "Your mind reels as it begins focusing on a single purpose...") - to_chat(owner, "Follow the Directives, at any cost!") + to_chat(owner, span_warning("Your mind reels as it begins focusing on a single purpose...")) + to_chat(owner, "[span_warning("Follow the Directives, at any cost!")]") var/i = 1 for(var/X in objectives) var/datum/objective/O = X @@ -43,8 +43,8 @@ i++ /datum/antagonist/brainwashed/farewell() - to_chat(owner, "Your mind suddenly clears...") - to_chat(owner, "You feel the weight of the Directives disappear! You no longer have to obey them.") + to_chat(owner, span_warning("Your mind suddenly clears...")) + to_chat(owner, "[span_warning("You feel the weight of the Directives disappear! You no longer have to obey them.")]") if(owner.current) var/mob/living/owner_mob = owner.current owner_mob.log_message("is no longer brainwashed with the objectives: [english_list(objectives)].", LOG_ATTACK) diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index 5c7b8330717..fcc595dc0a1 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -27,7 +27,7 @@ /datum/antagonist/brother/on_removal() if(owner.current) - to_chat(owner.current,"You are no longer the [special_role]!") + to_chat(owner.current,span_userdanger("You are no longer the [special_role]!")) owner.special_role = null return ..() @@ -62,7 +62,7 @@ /datum/antagonist/brother/greet() var/brother_text = get_brother_names() - to_chat(owner.current, "You are the [owner.special_role] of [brother_text].") + to_chat(owner.current, span_alertsyndie("You are the [owner.special_role] of [brother_text].")) to_chat(owner.current, "The Syndicate only accepts those that have proven themselves. Prove yourself and prove your [team.member_name]s by completing your objectives together!") owner.announce_objectives() give_meeting_area() @@ -124,15 +124,15 @@ var/objective_count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - parts += "Objective #[objective_count]: [objective.explanation_text] Success!" + parts += "Objective #[objective_count]: [objective.explanation_text] [span_greentext("Success!")]" else - parts += "Objective #[objective_count]: [objective.explanation_text] Fail." + parts += "Objective #[objective_count]: [objective.explanation_text] [span_redtext("Fail.")]" win = FALSE objective_count++ if(win) - parts += "The blood brothers were successful!" + parts += span_greentext("The blood brothers were successful!") else - parts += "The blood brothers have failed!" + parts += span_redtext("The blood brothers have failed!") return "
    [parts.Join("
    ")]
    " diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index ed1a129df0b..a8bb0b5a0c6 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -175,23 +175,23 @@ return if(absorbedcount < thepower.req_dna) - to_chat(owner.current, "We lack the energy to evolve this ability!") + to_chat(owner.current, span_warning("We lack the energy to evolve this ability!")) return if(has_sting(thepower)) - to_chat(owner.current, "We have already evolved this ability!") + to_chat(owner.current, span_warning("We have already evolved this ability!")) return if(thepower.dna_cost < 0) - to_chat(owner.current, "We cannot evolve this ability!") + to_chat(owner.current, span_warning("We cannot evolve this ability!")) return if(geneticpoints < thepower.dna_cost) - to_chat(owner.current, "We have reached our capacity for abilities!") + to_chat(owner.current, span_warning("We have reached our capacity for abilities!")) return if(HAS_TRAIT(owner.current, TRAIT_DEATHCOMA))//To avoid potential exploits by buying new powers while in stasis, which clears your verblist. - to_chat(owner.current, "We lack the energy to evolve new abilities right now!") + to_chat(owner.current, span_warning("We lack the energy to evolve new abilities right now!")) return geneticpoints -= thepower.dna_cost @@ -200,19 +200,19 @@ /datum/antagonist/changeling/proc/readapt() if(!ishuman(owner.current)) - to_chat(owner.current, "We can't remove our evolutions in this form!") + to_chat(owner.current, span_warning("We can't remove our evolutions in this form!")) return if(HAS_TRAIT_FROM(owner.current, TRAIT_DEATHCOMA, CHANGELING_TRAIT)) - to_chat(owner.current, "We are too busy reforming ourselves to readapt right now!") + to_chat(owner.current, span_warning("We are too busy reforming ourselves to readapt right now!")) return if(canrespec) - to_chat(owner.current, "We have removed our evolutions from this form, and are now ready to readapt.") + to_chat(owner.current, span_notice("We have removed our evolutions from this form, and are now ready to readapt.")) reset_powers() canrespec = FALSE SSblackbox.record_feedback("tally", "changeling_power_purchase", 1, "Readapt") return TRUE else - to_chat(owner.current, "You lack the power to readapt your evolutions!") + to_chat(owner.current, span_warning("You lack the power to readapt your evolutions!")) return FALSE //Called in life() @@ -246,33 +246,33 @@ var/datum/changelingprofile/prof = stored_profiles[1] if(prof.dna == user.dna && stored_profiles.len >= dna_max)//If our current DNA is the stalest, we gotta ditch it. if(verbose) - to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") + to_chat(user, span_warning("We have reached our capacity to store genetic information! We must transform before absorbing more.")) return if(!target) return if(NO_DNA_COPY in target.dna.species.species_traits) if(verbose) - to_chat(user, "[target] is not compatible with our biology.") + to_chat(user, span_warning("[target] is not compatible with our biology.")) return if(HAS_TRAIT(target, TRAIT_BADDNA)) if(verbose) - to_chat(user, "DNA of [target] is ruined beyond usability!") + to_chat(user, span_warning("DNA of [target] is ruined beyond usability!")) return if(HAS_TRAIT(target, TRAIT_HUSK)) if(verbose) - to_chat(user, "[target]'s body is ruined beyond usability!") + to_chat(user, span_warning("[target]'s body is ruined beyond usability!")) return if(!ishuman(target))//Absorbing monkeys is entirely possible, but it can cause issues with transforming. That's what lesser form is for anyway! if(verbose) - to_chat(user, "We could gain no benefit from absorbing a lesser creature.") + to_chat(user, span_warning("We could gain no benefit from absorbing a lesser creature.")) return if(has_dna(target.dna)) if(verbose) - to_chat(user, "We already have this DNA in storage!") + to_chat(user, span_warning("We already have this DNA in storage!")) return if(!target.has_dna()) if(verbose) - to_chat(user, "[target] is not compatible with our biology.") + to_chat(user, span_warning("[target] is not compatible with our biology.")) return return TRUE @@ -390,14 +390,14 @@ /datum/antagonist/changeling/greet() if (you_are_greet) - to_chat(owner.current, "You are a changeling! You have absorbed and taken the form of a human.") + to_chat(owner.current, span_boldannounce("You are a changeling! You have absorbed and taken the form of a human.")) to_chat(owner.current, "You must complete the following tasks:") owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ling_aler.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) owner.announce_objectives() /datum/antagonist/changeling/farewell() - to_chat(owner.current, "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!") + to_chat(owner.current, span_userdanger("You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!")) /datum/antagonist/changeling/proc/forge_objectives() @@ -475,7 +475,7 @@ /datum/antagonist/changeling/admin_add(datum/mind/new_owner,mob/admin) . = ..() - to_chat(new_owner.current, "Our powers have awoken. A flash of memory returns to us...we are a changeling!") + to_chat(new_owner.current, span_boldannounce("Our powers have awoken. A flash of memory returns to us...we are a changeling!")) /datum/antagonist/changeling/get_admin_commands() . = ..() @@ -484,7 +484,7 @@ /datum/antagonist/changeling/proc/admin_restore_appearance(mob/admin) if(!stored_profiles.len || !iscarbon(owner.current)) - to_chat(admin, "Resetting DNA failed!") + to_chat(admin, span_danger("Resetting DNA failed!")) else var/mob/living/carbon/C = owner.current first_prof.dna.transfer_identity(C, transfer_SE=1) @@ -679,16 +679,16 @@ var/count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - parts += "Objective #[count]: [objective.explanation_text] Success!
    " + parts += "Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - parts += "Objective #[count]: [objective.explanation_text] Fail." + parts += "Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" changelingwin = FALSE count++ if(changelingwin) - parts += "The changeling was successful!" + parts += span_greentext("The changeling was successful!") else - parts += "The changeling has failed." + parts += span_redtext("The changeling has failed.") return parts.Join("
    ") diff --git a/code/modules/antagonists/changeling/changeling_power.dm b/code/modules/antagonists/changeling/changeling_power.dm index 38ba611a079..c3a91016d6b 100644 --- a/code/modules/antagonists/changeling/changeling_power.dm +++ b/code/modules/antagonists/changeling/changeling_power.dm @@ -71,19 +71,19 @@ the same goes for Remove(). if you override Remove(), call parent or else your p return FALSE var/datum/antagonist/changeling/c = user.mind.has_antag_datum(/datum/antagonist/changeling) if(c.chem_charges < chemical_cost) - to_chat(user, "We require at least [chemical_cost] unit\s of chemicals to do that!") + to_chat(user, span_warning("We require at least [chemical_cost] unit\s of chemicals to do that!")) return FALSE if(c.absorbedcount < req_dna) - to_chat(user, "We require at least [req_dna] sample\s of compatible DNA.") + to_chat(user, span_warning("We require at least [req_dna] sample\s of compatible DNA.")) return FALSE if(c.trueabsorbs < req_absorbs) - to_chat(user, "We require at least [req_absorbs] sample\s of DNA gained through our Absorb ability.") + to_chat(user, span_warning("We require at least [req_absorbs] sample\s of DNA gained through our Absorb ability.")) return FALSE if(req_stat < user.stat) - to_chat(user, "We are incapacitated.") + to_chat(user, span_warning("We are incapacitated.")) return FALSE if((HAS_TRAIT(user, TRAIT_DEATHCOMA)) && (!ignores_fakedeath)) - to_chat(user, "We are incapacitated.") + to_chat(user, span_warning("We are incapacitated.")) return FALSE return TRUE diff --git a/code/modules/antagonists/changeling/powers/absorb.dm b/code/modules/antagonists/changeling/powers/absorb.dm index 8e55b90517b..f2826541450 100644 --- a/code/modules/antagonists/changeling/powers/absorb.dm +++ b/code/modules/antagonists/changeling/powers/absorb.dm @@ -12,14 +12,14 @@ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) if(changeling.isabsorbing) - to_chat(user, "We are already absorbing!") + to_chat(user, span_warning("We are already absorbing!")) return if(!user.pulling || !iscarbon(user.pulling)) - to_chat(user, "We must be grabbing a creature to absorb them!") + to_chat(user, span_warning("We must be grabbing a creature to absorb them!")) return if(user.grab_state <= GRAB_NECK) - to_chat(user, "We must have a tighter grip to absorb this creature!") + to_chat(user, span_warning("We must have a tighter grip to absorb this creature!")) return var/mob/living/carbon/target = user.pulling @@ -34,23 +34,23 @@ for(var/i in 1 to 3) switch(i) if(1) - to_chat(user, "This creature is compatible. We must hold still...") + to_chat(user, span_notice("This creature is compatible. We must hold still...")) if(2) - user.visible_message("[user] extends a proboscis!", "We extend a proboscis.") + user.visible_message(span_warning("[user] extends a proboscis!"), span_notice("We extend a proboscis.")) if(3) - user.visible_message("[user] stabs [target] with the proboscis!", "We stab [target] with the proboscis.") - to_chat(target, "You feel a sharp stabbing pain!") + user.visible_message(span_danger("[user] stabs [target] with the proboscis!"), span_notice("We stab [target] with the proboscis.")) + to_chat(target, span_userdanger("You feel a sharp stabbing pain!")) target.take_overall_damage(40) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("Absorb DNA", "[i]")) if(!do_mob(user, target, 150)) - to_chat(user, "Our absorption of [target] has been interrupted!") + to_chat(user, span_warning("Our absorption of [target] has been interrupted!")) changeling.isabsorbing = 0 return SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("Absorb DNA", "4")) - user.visible_message("[user] sucks the fluids from [target]!", "We have absorbed [target].") - to_chat(target, "You are absorbed by the changeling!") + user.visible_message(span_danger("[user] sucks the fluids from [target]!"), span_notice("We have absorbed [target].")) + to_chat(target, span_userdanger("You are absorbed by the changeling!")) if(!changeling.has_dna(target.dna)) changeling.add_new_profile(target) @@ -110,17 +110,17 @@ if(recent_speech.len) changeling.antag_memory += "Some of [target]'s speech patterns, we should study these to better impersonate [target.p_them()]!
    " - to_chat(user, "Some of [target]'s speech patterns, we should study these to better impersonate [target.p_them()]!") + to_chat(user, span_boldnotice("Some of [target]'s speech patterns, we should study these to better impersonate [target.p_them()]!")) for(var/spoken_memory in recent_speech) changeling.antag_memory += "\"[recent_speech[spoken_memory]]\"
    " - to_chat(user, "\"[recent_speech[spoken_memory]]\"") + to_chat(user, span_notice("\"[recent_speech[spoken_memory]]\"")) changeling.antag_memory += "We have no more knowledge of [target]'s speech patterns.
    " - to_chat(user, "We have no more knowledge of [target]'s speech patterns.") + to_chat(user, span_boldnotice("We have no more knowledge of [target]'s speech patterns.")) var/datum/antagonist/changeling/target_ling = target.mind.has_antag_datum(/datum/antagonist/changeling) if(target_ling)//If the target was a changeling, suck out their extra juice and objective points! - to_chat(user, "[target] was one of us. We have absorbed their power.") + to_chat(user, span_boldnotice("[target] was one of us. We have absorbed their power.")) target_ling.remove_changeling_powers() changeling.geneticpoints += round(target_ling.geneticpoints/2) changeling.total_geneticspoints = changeling.geneticpoints //updates the total sum of genetic points when you absorb another ling diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm index 016721caf5e..5a77ff173ab 100644 --- a/code/modules/antagonists/changeling/powers/adrenaline.dm +++ b/code/modules/antagonists/changeling/powers/adrenaline.dm @@ -11,7 +11,7 @@ //Recover from stuns. /datum/action/changeling/adrenaline/sting_action(mob/living/user) ..() - to_chat(user, "Energy rushes through us.") + to_chat(user, span_notice("Energy rushes through us.")) user.SetKnockdown(0) user.set_resting(FALSE) user.reagents.add_reagent(/datum/reagent/medicine/changelingadrenaline, 4) //20 seconds diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm index 58ed367a4d9..abb53c2dae8 100644 --- a/code/modules/antagonists/changeling/powers/biodegrade.dm +++ b/code/modules/antagonists/changeling/powers/biodegrade.dm @@ -10,15 +10,15 @@ /datum/action/changeling/biodegrade/sting_action(mob/living/carbon/human/user) var/used = FALSE // only one form of shackles removed per use if(!HAS_TRAIT(user, TRAIT_RESTRAINED) && !user.legcuffed && isopenturf(user.loc)) - to_chat(user, "We are already free!") + to_chat(user, span_warning("We are already free!")) return FALSE if(user.handcuffed) var/obj/O = user.get_item_by_slot(ITEM_SLOT_HANDCUFFED) if(!istype(O)) return FALSE - user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O]!", \ - "We vomit acidic ooze onto our restraints!") + user.visible_message(span_warning("[user] vomits a glob of acid on [user.p_their()] [O]!"), \ + span_warning("We vomit acidic ooze onto our restraints!")) addtimer(CALLBACK(src, .proc/dissolve_handcuffs, user, O), 30) used = TRUE @@ -27,8 +27,8 @@ var/obj/O = user.get_item_by_slot(ITEM_SLOT_LEGCUFFED) if(!istype(O)) return FALSE - user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O]!", \ - "We vomit acidic ooze onto our restraints!") + user.visible_message(span_warning("[user] vomits a glob of acid on [user.p_their()] [O]!"), \ + span_warning("We vomit acidic ooze onto our restraints!")) addtimer(CALLBACK(src, .proc/dissolve_legcuffs, user, O), 30) used = TRUE @@ -37,8 +37,8 @@ var/obj/item/clothing/suit/S = user.get_item_by_slot(ITEM_SLOT_OCLOTHING) if(!istype(S)) return FALSE - user.visible_message("[user] vomits a glob of acid across the front of [user.p_their()] [S]!", \ - "We vomit acidic ooze onto our straight jacket!") + user.visible_message(span_warning("[user] vomits a glob of acid across the front of [user.p_their()] [S]!"), \ + span_warning("We vomit acidic ooze onto our straight jacket!")) addtimer(CALLBACK(src, .proc/dissolve_straightjacket, user, S), 30) used = TRUE @@ -47,8 +47,8 @@ var/obj/structure/closet/C = user.loc if(!istype(C)) return FALSE - C.visible_message("[C]'s hinges suddenly begin to melt and run!") - to_chat(user, "We vomit acidic goop onto the interior of [C]!") + C.visible_message(span_warning("[C]'s hinges suddenly begin to melt and run!")) + to_chat(user, span_warning("We vomit acidic goop onto the interior of [C]!")) addtimer(CALLBACK(src, .proc/open_closet, user, C), 70) used = TRUE @@ -56,8 +56,8 @@ var/obj/structure/spider/cocoon/C = user.loc if(!istype(C)) return FALSE - C.visible_message("[src] shifts and starts to fall apart!") - to_chat(user, "We secrete acidic enzymes from our skin and begin melting our cocoon...") + C.visible_message(span_warning("[src] shifts and starts to fall apart!")) + to_chat(user, span_warning("We secrete acidic enzymes from our skin and begin melting our cocoon...")) addtimer(CALLBACK(src, .proc/dissolve_cocoon, user, C), 25) //Very short because it's just webs used = TRUE ..() @@ -65,34 +65,34 @@ /datum/action/changeling/biodegrade/proc/dissolve_handcuffs(mob/living/carbon/human/user, obj/O) if(O && user.handcuffed == O) - user.visible_message("[O] dissolve[O.gender==PLURAL?"":"s"] into a puddle of sizzling goop.") + user.visible_message(span_warning("[O] dissolve[O.gender==PLURAL?"":"s"] into a puddle of sizzling goop.")) new /obj/effect/decal/cleanable/greenglow(O.drop_location()) qdel(O) /datum/action/changeling/biodegrade/proc/dissolve_legcuffs(mob/living/carbon/human/user, obj/O) if(O && user.legcuffed == O) - user.visible_message("[O] dissolve[O.gender==PLURAL?"":"s"] into a puddle of sizzling goop.") + user.visible_message(span_warning("[O] dissolve[O.gender==PLURAL?"":"s"] into a puddle of sizzling goop.")) new /obj/effect/decal/cleanable/greenglow(O.drop_location()) qdel(O) /datum/action/changeling/biodegrade/proc/dissolve_straightjacket(mob/living/carbon/human/user, obj/S) if(S && user.wear_suit == S) - user.visible_message("[S] dissolves into a puddle of sizzling goop.") + user.visible_message(span_warning("[S] dissolves into a puddle of sizzling goop.")) new /obj/effect/decal/cleanable/greenglow(S.drop_location()) qdel(S) /datum/action/changeling/biodegrade/proc/open_closet(mob/living/carbon/human/user, obj/structure/closet/C) if(C && user.loc == C) - C.visible_message("[C]'s door breaks and opens!") + C.visible_message(span_warning("[C]'s door breaks and opens!")) new /obj/effect/decal/cleanable/greenglow(C.drop_location()) C.welded = FALSE C.locked = FALSE C.broken = TRUE C.open() - to_chat(user, "We open the container restraining us!") + to_chat(user, span_warning("We open the container restraining us!")) /datum/action/changeling/biodegrade/proc/dissolve_cocoon(mob/living/carbon/human/user, obj/structure/spider/cocoon/C) if(C && user.loc == C) new /obj/effect/decal/cleanable/greenglow(C.drop_location()) qdel(C) //The cocoon's destroy will move the changeling outside of it without interference - to_chat(user, "We dissolve the cocoon!") + to_chat(user, span_warning("We dissolve the cocoon!")) diff --git a/code/modules/antagonists/changeling/powers/digitalcamo.dm b/code/modules/antagonists/changeling/powers/digitalcamo.dm index dbe034397ca..44c91d0b0e8 100644 --- a/code/modules/antagonists/changeling/powers/digitalcamo.dm +++ b/code/modules/antagonists/changeling/powers/digitalcamo.dm @@ -10,10 +10,10 @@ /datum/action/changeling/digitalcamo/sting_action(mob/user) ..() if(active) - to_chat(user, "We return to normal.") + to_chat(user, span_notice("We return to normal.")) user.RemoveElement(/datum/element/digitalcamo) else - to_chat(user, "We distort our form to hide from the AI.") + to_chat(user, span_notice("We distort our form to hide from the AI.")) user.AddElement(/datum/element/digitalcamo) active = !active return TRUE diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index 7bf4a48ebb8..56425adc40b 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -20,9 +20,9 @@ button_icon_state = "fake_death" UpdateButtonIcon() chemical_cost = 15 - to_chat(user, "We have revived ourselves.") + to_chat(user, span_notice("We have revived ourselves.")) else - to_chat(user, "We begin our stasis, preparing energy to arise once more.") + to_chat(user, span_notice("We begin our stasis, preparing energy to arise once more.")) user.fakedeath("changeling") //play dead addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) return TRUE @@ -50,7 +50,7 @@ if(user?.mind) var/datum/antagonist/changeling/C = user.mind.has_antag_datum(/datum/antagonist/changeling) if(C?.purchasedpowers) - to_chat(user, "We are ready to revive.") + to_chat(user, span_notice("We are ready to revive.")) name = "Revive" desc = "We arise once more." button_icon_state = "revive" @@ -60,7 +60,7 @@ /datum/action/changeling/fakedeath/can_sting(mob/living/user) if(HAS_TRAIT_FROM(user, TRAIT_DEATHCOMA, "changeling") && !revive_ready) - to_chat(user, "We are already reviving.") + to_chat(user, span_warning("We are already reviving.")) return if(!user.stat && !revive_ready) //Confirmation for living changelings if they want to fake their death switch(tgui_alert(usr,"Are we sure we wish to fake our own death?",,list("Yes", "No"))) diff --git a/code/modules/antagonists/changeling/powers/fleshmend.dm b/code/modules/antagonists/changeling/powers/fleshmend.dm index 5428d4a34a5..e19fb348426 100644 --- a/code/modules/antagonists/changeling/powers/fleshmend.dm +++ b/code/modules/antagonists/changeling/powers/fleshmend.dm @@ -11,10 +11,10 @@ //Can be used whilst unconscious. /datum/action/changeling/fleshmend/sting_action(mob/living/user) if(user.has_status_effect(STATUS_EFFECT_FLESHMEND)) - to_chat(user, "We are already fleshmending!") + to_chat(user, span_warning("We are already fleshmending!")) return ..() - to_chat(user, "We begin to heal rapidly.") + to_chat(user, span_notice("We begin to heal rapidly.")) user.apply_status_effect(STATUS_EFFECT_FLESHMEND) return TRUE diff --git a/code/modules/antagonists/changeling/powers/headcrab.dm b/code/modules/antagonists/changeling/powers/headcrab.dm index b25abdbd287..57ff3b2483f 100644 --- a/code/modules/antagonists/changeling/powers/headcrab.dm +++ b/code/modules/antagonists/changeling/powers/headcrab.dm @@ -21,13 +21,13 @@ explosion(user, light_impact_range = 2, adminlog = TRUE) for(var/mob/living/carbon/human/H in range(2,user)) var/obj/item/organ/eyes/eyes = H.getorganslot(ORGAN_SLOT_EYES) - to_chat(H, "You are blinded by a shower of blood!") + to_chat(H, span_userdanger("You are blinded by a shower of blood!")) H.Stun(20) H.blur_eyes(20) eyes?.applyOrganDamage(5) H.add_confusion(3) for(var/mob/living/silicon/S in range(2,user)) - to_chat(S, "Your sensors are disabled by a shower of blood!") + to_chat(S, span_userdanger("Your sensors are disabled by a shower of blood!")) S.Paralyze(60) var/turf = get_turf(user) user.gib() @@ -40,4 +40,4 @@ if(crab.origin) crab.origin.active = TRUE crab.origin.transfer_to(crab) - to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") + to_chat(crab, span_warning("You burst out of the remains of your former body in a shower of gore!")) diff --git a/code/modules/antagonists/changeling/powers/hivemind.dm b/code/modules/antagonists/changeling/powers/hivemind.dm index ff48cf5297c..a1970023c50 100644 --- a/code/modules/antagonists/changeling/powers/hivemind.dm +++ b/code/modules/antagonists/changeling/powers/hivemind.dm @@ -10,7 +10,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) /datum/action/changeling/hivemind_upload/sting_action(mob/living/user) if (HAS_TRAIT(user, CHANGELING_HIVEMIND_MUTE)) - to_chat(user, "The poison in the air hinders our ability to interact with the hivemind.") + to_chat(user, span_warning("The poison in the air hinders our ability to interact with the hivemind.")) return ..() var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) names += prof.name if(names.len <= 0) - to_chat(user, "The airwaves already have all of our DNA!") + to_chat(user, span_warning("The airwaves already have all of our DNA!")) return var/chosen_name = input("Select a DNA to channel: ", "Channel DNA", null) as null|anything in sortList(names) @@ -34,7 +34,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) var/datum/changelingprofile/uploaded_dna = new chosen_dna.type chosen_dna.copy_profile(uploaded_dna) GLOB.hivemind_bank += uploaded_dna - to_chat(user, "We channel the DNA of [chosen_name] to the air.") + to_chat(user, span_notice("We channel the DNA of [chosen_name] to the air.")) return TRUE /datum/action/changeling/hivemind_download @@ -48,12 +48,12 @@ GLOBAL_LIST_EMPTY(hivemind_bank) if(!..()) return if (HAS_TRAIT(user, CHANGELING_HIVEMIND_MUTE)) - to_chat(user, "The poison in the air hinders our ability to interact with the hivemind.") + to_chat(user, span_warning("The poison in the air hinders our ability to interact with the hivemind.")) return var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) var/datum/changelingprofile/first_prof = changeling.stored_profiles[1] if(first_prof.name == user.real_name)//If our current DNA is the stalest, we gotta ditch it. - to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") + to_chat(user, span_warning("We have reached our capacity to store genetic information! We must transform before absorbing more.")) return return 1 @@ -65,7 +65,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) names[prof.name] = prof if(names.len <= 0) - to_chat(user, "There's no new DNA to absorb from the air!") + to_chat(user, span_warning("There's no new DNA to absorb from the air!")) return var/S = input("Select a DNA absorb from the air: ", "Absorb DNA", null) as null|anything in sortList(names) @@ -78,5 +78,5 @@ GLOBAL_LIST_EMPTY(hivemind_bank) var/datum/changelingprofile/downloaded_prof = new chosen_prof.type chosen_prof.copy_profile(downloaded_prof) changeling.add_profile(downloaded_prof) - to_chat(user, "We absorb the DNA of [S] from the air.") + to_chat(user, span_notice("We absorb the DNA of [S] from the air.")) return TRUE diff --git a/code/modules/antagonists/changeling/powers/humanform.dm b/code/modules/antagonists/changeling/powers/humanform.dm index dcba1a52778..422df7dff1e 100644 --- a/code/modules/antagonists/changeling/powers/humanform.dm +++ b/code/modules/antagonists/changeling/powers/humanform.dm @@ -8,7 +8,7 @@ //Transform into a human. /datum/action/changeling/humanform/sting_action(mob/living/carbon/user) if(user.movement_type & VENTCRAWLING) - to_chat(user, "We must exit the pipes before we can transform back!") + to_chat(user, span_notice("We must exit the pipes before we can transform back!")) return FALSE var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) var/list/names = list() @@ -24,7 +24,7 @@ return if(!user || user.notransform) return FALSE - to_chat(user, "We transform our appearance.") + to_chat(user, span_notice("We transform our appearance.")) ..() changeling.purchasedpowers -= src diff --git a/code/modules/antagonists/changeling/powers/lesserform.dm b/code/modules/antagonists/changeling/powers/lesserform.dm index ff129354aa2..09e5a36005e 100644 --- a/code/modules/antagonists/changeling/powers/lesserform.dm +++ b/code/modules/antagonists/changeling/powers/lesserform.dm @@ -11,7 +11,7 @@ /datum/action/changeling/lesserform/sting_action(mob/living/carbon/human/user) if(!user || user.notransform) return FALSE - to_chat(user, "Our genes cry out!") + to_chat(user, span_warning("Our genes cry out!")) ..() user.monkeyize() diff --git a/code/modules/antagonists/changeling/powers/mimic_voice.dm b/code/modules/antagonists/changeling/powers/mimic_voice.dm index 9add270de3d..b6fb42cecfe 100644 --- a/code/modules/antagonists/changeling/powers/mimic_voice.dm +++ b/code/modules/antagonists/changeling/powers/mimic_voice.dm @@ -13,7 +13,7 @@ if(changeling.mimicing) changeling.mimicing = "" changeling.chem_recharge_slowdown -= 0.25 - to_chat(user, "We return our vocal glands to their original position.") + to_chat(user, span_notice("We return our vocal glands to their original position.")) return var/mimic_voice = sanitize_name(stripped_input(user, "Enter a name to mimic.", "Mimic Voice", null, MAX_NAME_LEN)) @@ -22,6 +22,6 @@ ..() changeling.mimicing = mimic_voice changeling.chem_recharge_slowdown += 0.25 - to_chat(user, "We shape our glands to take the voice of [mimic_voice], this will slow down regenerating chemicals while active.") - to_chat(user, "Use this power again to return to our original voice and return chemical production to normal levels.") + to_chat(user, span_notice("We shape our glands to take the voice of [mimic_voice], this will slow down regenerating chemicals while active.")) + to_chat(user, span_notice("Use this power again to return to our original voice and return chemical production to normal levels.")) return TRUE diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 3eea19ceb0e..14711d959e9 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -32,14 +32,14 @@ user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL will delete the item if(!silent) playsound(user, 'sound/effects/blobattack.ogg', 30, TRUE) - user.visible_message("With a sickening crunch, [user] reforms [user.p_their()] [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", "You hear organic matter ripping and tearing!") user.update_inv_hands() return 1 /datum/action/changeling/weapon/sting_action(mob/living/user) var/obj/item/held = user.get_active_held_item() if(held && !user.dropItemToGround(held)) - to_chat(user, "[held] is stuck to your hand, you cannot grow a [weapon_name_simple] over it!") + to_chat(user, span_warning("[held] is stuck to your hand, you cannot grow a [weapon_name_simple] over it!")) return ..() var/limb_regen = 0 @@ -48,7 +48,7 @@ else limb_regen = user.regenerate_limb(BODY_ZONE_L_ARM, 1) if(limb_regen) - user.visible_message("[user]'s missing arm reforms, making a loud, grotesque sound!", "Your arm regrows, making a loud, crunchy sound and giving you great pain!", "You hear organic matter ripping and tearing!") + user.visible_message(span_warning("[user]'s missing arm reforms, making a loud, grotesque sound!"), span_userdanger("Your arm regrows, making a loud, crunchy sound and giving you great pain!"), span_hear("You hear organic matter ripping and tearing!")) user.emote("scream") var/obj/item/W = new weapon_type(user, silent) user.put_in_hands(W) @@ -90,7 +90,7 @@ return 1 var/mob/living/carbon/human/H = user if(istype(H.wear_suit, suit_type) || istype(H.head, helmet_type)) - H.visible_message("[H] casts off [H.p_their()] [suit_name_simple]!", "We cast off our [suit_name_simple].", "You hear the organic matter ripping and tearing!") + H.visible_message(span_warning("[H] casts off [H.p_their()] [suit_name_simple]!"), span_warning("We cast off our [suit_name_simple]."), span_hear("You hear the organic matter ripping and tearing!")) H.temporarilyRemoveItemFromInventory(H.head, TRUE) //The qdel on dropped() takes care of it H.temporarilyRemoveItemFromInventory(H.wear_suit, TRUE) H.update_inv_wear_suit() @@ -113,10 +113,10 @@ /datum/action/changeling/suit/sting_action(mob/living/carbon/human/user) if(!user.canUnEquip(user.wear_suit)) - to_chat(user, "\the [user.wear_suit] is stuck to your body, you cannot grow a [suit_name_simple] over it!") + to_chat(user, span_warning("\the [user.wear_suit] is stuck to your body, you cannot grow a [suit_name_simple] over it!")) return if(!user.canUnEquip(user.head)) - to_chat(user, "\the [user.head] is stuck on your head, you cannot grow a [helmet_name_simple] over it!") + to_chat(user, span_warning("\the [user.head] is stuck on your head, you cannot grow a [helmet_name_simple] over it!")) return ..() user.dropItemToGround(user.head) @@ -172,7 +172,7 @@ . = ..() ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT) if(ismob(loc) && !silent) - loc.visible_message("A grotesque blade forms around [loc.name]\'s arm!", "Our arm twists and mutates, transforming it into a deadly blade.", "You hear organic matter ripping and tearing!") + loc.visible_message(span_warning("A grotesque blade forms around [loc.name]\'s arm!"), span_warning("Our arm twists and mutates, transforming it into a deadly blade."), span_hear("You hear organic matter ripping and tearing!")) if(synthetic) can_drop = TRUE AddComponent(/datum/component/butchering, 60, 80) @@ -195,18 +195,18 @@ if((!A.requiresID() || A.allowed(user)) && A.hasPower()) //This is to prevent stupid shit like hitting a door with an arm blade, the door opening because you have acces and still getting a "the airlocks motors resist our efforts to force it" message, power requirement is so this doesn't stop unpowered doors from being pried open if you have access return if(A.locked) - to_chat(user, "The airlock's bolts prevent it from being forced!") + to_chat(user, span_warning("The airlock's bolts prevent it from being forced!")) return if(A.hasPower()) - user.visible_message("[user] jams [src] into the airlock and starts prying it open!", "We start forcing the [A] open.", \ - "You hear a metal screeching sound.") + user.visible_message(span_warning("[user] jams [src] into the airlock and starts prying it open!"), span_warning("We start forcing the [A] open."), \ + span_hear("You hear a metal screeching sound.")) playsound(A, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) if(!do_after(user, 100, target = A)) return //user.say("Heeeeeeeeeerrre's Johnny!") - user.visible_message("[user] forces the airlock to open with [user.p_their()] [src]!", "We force the [A] to open.", \ - "You hear a metal screeching sound.") + user.visible_message(span_warning("[user] forces the airlock to open with [user.p_their()] [src]!"), span_warning("We force the [A] to open."), \ + span_hear("You hear a metal screeching sound.")) A.open(2) /obj/item/melee/arm_blade/dropped(mob/user) @@ -258,13 +258,13 @@ ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT) if(ismob(loc)) if(!silent) - loc.visible_message("[loc.name]\'s arm starts stretching inhumanly!", "Our arm twists and mutates, transforming it into a tentacle.", "You hear organic matter ripping and tearing!") + loc.visible_message(span_warning("[loc.name]\'s arm starts stretching inhumanly!"), span_warning("Our arm twists and mutates, transforming it into a tentacle."), span_hear("You hear organic matter ripping and tearing!")) else - to_chat(loc, "You prepare to extend a tentacle.") + to_chat(loc, span_notice("You prepare to extend a tentacle.")) /obj/item/gun/magic/tentacle/shoot_with_empty_chamber(mob/living/user as mob|obj) - to_chat(user, "The [name] is not ready yet.") + to_chat(user, span_warning("The [name] is not ready yet.")) /obj/item/gun/magic/tentacle/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread) var/obj/projectile/tentacle/tentacle_shot = chambered.loaded_projectile //Gets the actual projectile we will fire @@ -274,7 +274,7 @@ qdel(src) /obj/item/gun/magic/tentacle/suicide_act(mob/user) - user.visible_message("[user] coils [src] tightly around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] coils [src] tightly around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) @@ -334,7 +334,7 @@ if(H.Adjacent(C)) for(var/obj/item/I in H.held_items) if(I.get_sharpness()) - C.visible_message("[H] impales [C] with [H.p_their()] [I.name]!", "[H] impales you with [H.p_their()] [I.name]!") + C.visible_message(span_danger("[H] impales [C] with [H.p_their()] [I.name]!"), span_userdanger("[H] impales you with [H.p_their()] [I.name]!")) C.apply_damage(I.force, BRUTE, BODY_ZONE_CHEST) H.do_item_attack_animation(C, used_item = I) H.add_mob_blood(C) @@ -348,7 +348,7 @@ if(isitem(target)) var/obj/item/I = target if(!I.anchored) - to_chat(firer, "You pull [I] towards yourself.") + to_chat(firer, span_notice("You pull [I] towards yourself.")) H.throw_mode_on(THROW_MODE_TOGGLE) I.throw_at(H, 10, 2) . = BULLET_ACT_HIT @@ -366,26 +366,26 @@ var/obj/item/I = C.get_active_held_item() if(I) if(C.dropItemToGround(I)) - C.visible_message("[I] is yanked off [C]'s hand by [src]!","A tentacle pulls [I] away from you!") + C.visible_message(span_danger("[I] is yanked off [C]'s hand by [src]!"),span_userdanger("A tentacle pulls [I] away from you!")) on_hit(I) //grab the item as if you had hit it directly with the tentacle return BULLET_ACT_HIT else - to_chat(firer, "You can't seem to pry [I] off [C]'s hands!") + to_chat(firer, span_warning("You can't seem to pry [I] off [C]'s hands!")) return BULLET_ACT_BLOCK else - to_chat(firer, "[C] has nothing in hand to disarm!") + to_chat(firer, span_danger("[C] has nothing in hand to disarm!")) return BULLET_ACT_HIT if(firer_combat_mode) - C.visible_message("[L] is thrown towards [H] by a tentacle!","A tentacle grabs you and throws you towards [H]!") + C.visible_message(span_danger("[L] is thrown towards [H] by a tentacle!"),span_userdanger("A tentacle grabs you and throws you towards [H]!")) C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_stab, H, C)) return BULLET_ACT_HIT else - C.visible_message("[L] is grabbed by [H]'s tentacle!","A tentacle grabs you and pulls you towards [H]!") + C.visible_message(span_danger("[L] is grabbed by [H]'s tentacle!"),span_userdanger("A tentacle grabs you and pulls you towards [H]!")) C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_grab, H, C)) return BULLET_ACT_HIT else - L.visible_message("[L] is pulled by [H]'s tentacle!","A tentacle grabs you and pulls you towards [H]!") + L.visible_message(span_danger("[L] is pulled by [H]'s tentacle!"),span_userdanger("A tentacle grabs you and pulls you towards [H]!")) L.throw_at(get_step_towards(H,L), 8, 2) . = BULLET_ACT_HIT @@ -435,13 +435,13 @@ . = ..() ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT) if(ismob(loc)) - loc.visible_message("The end of [loc.name]\'s hand inflates rapidly, forming a huge shield-like mass!", "We inflate our hand into a strong shield.", "You hear organic matter ripping and tearing!") + loc.visible_message(span_warning("The end of [loc.name]\'s hand inflates rapidly, forming a huge shield-like mass!"), span_warning("We inflate our hand into a strong shield."), span_hear("You hear organic matter ripping and tearing!")) /obj/item/shield/changeling/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(remaining_uses < 1) if(ishuman(loc)) var/mob/living/carbon/human/H = loc - H.visible_message("With a sickening crunch, [H] reforms [H.p_their()] shield into an arm!", "We assimilate our shield into our body", "You hear organic matter ripping and tearing!") qdel(src) return 0 else @@ -484,7 +484,7 @@ . = ..() ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT) if(ismob(loc)) - loc.visible_message("[loc.name]\'s flesh rapidly inflates, forming a bloated mass around [loc.p_their()] body!", "We inflate our flesh, creating a spaceproof suit!", "You hear organic matter ripping and tearing!") + loc.visible_message(span_warning("[loc.name]\'s flesh rapidly inflates, forming a bloated mass around [loc.p_their()] body!"), span_warning("We inflate our flesh, creating a spaceproof suit!"), span_hear("You hear organic matter ripping and tearing!")) START_PROCESSING(SSobj, src) // seal the cell door @@ -543,7 +543,7 @@ . = ..() ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT) if(ismob(loc)) - loc.visible_message("[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!", "We harden our flesh, creating a suit of armor!", "You hear organic matter ripping and tearing!") + loc.visible_message(span_warning("[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!"), span_warning("We harden our flesh, creating a suit of armor!"), span_hear("You hear organic matter ripping and tearing!")) /obj/item/clothing/head/helmet/changeling name = "chitinous mass" diff --git a/code/modules/antagonists/changeling/powers/panacea.dm b/code/modules/antagonists/changeling/powers/panacea.dm index 6a057d74176..ae35c5f61f0 100644 --- a/code/modules/antagonists/changeling/powers/panacea.dm +++ b/code/modules/antagonists/changeling/powers/panacea.dm @@ -9,7 +9,7 @@ //Heals the things that the other regenerative abilities don't. /datum/action/changeling/panacea/sting_action(mob/user) - to_chat(user, "We cleanse impurities from our form.") + to_chat(user, span_notice("We cleanse impurities from our form.")) ..() var/list/bad_organs = list( user.getorgan(/obj/item/organ/body_egg), diff --git a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm index f9012eea96e..3b73e880195 100644 --- a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm +++ b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm @@ -15,11 +15,11 @@ ..() var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) if(!receptors_active) - to_chat(user, "We search for the scent of any nearby changelings.") + to_chat(user, span_warning("We search for the scent of any nearby changelings.")) changeling.chem_recharge_slowdown += 0.25 user.apply_status_effect(/datum/status_effect/agent_pinpointer/changeling) else - to_chat(user, "We stop searching for now.") + to_chat(user, span_notice("We stop searching for now.")) changeling.chem_recharge_slowdown -= 0.25 user.remove_status_effect(/datum/status_effect/agent_pinpointer/changeling) diff --git a/code/modules/antagonists/changeling/powers/strained_muscles.dm b/code/modules/antagonists/changeling/powers/strained_muscles.dm index 8844c5844c3..efe31f928d4 100644 --- a/code/modules/antagonists/changeling/powers/strained_muscles.dm +++ b/code/modules/antagonists/changeling/powers/strained_muscles.dm @@ -16,12 +16,12 @@ ..() active = !active if(active) - to_chat(user, "Our muscles tense and strengthen.") + to_chat(user, span_notice("Our muscles tense and strengthen.")) else user.remove_movespeed_modifier(/datum/movespeed_modifier/strained_muscles) - to_chat(user, "Our muscles relax.") + to_chat(user, span_notice("Our muscles relax.")) if(stacks >= 10) - to_chat(user, "We collapse in exhaustion.") + to_chat(user, span_danger("We collapse in exhaustion.")) user.Paralyze(60) user.emote("gasp") @@ -34,7 +34,7 @@ user.add_movespeed_modifier(/datum/movespeed_modifier/strained_muscles) if(user.stat != CONSCIOUS || user.staminaloss >= 90) active = !active - to_chat(user, "Our muscles relax without the energy to strengthen them.") + to_chat(user, span_notice("Our muscles relax without the energy to strengthen them.")) user.Paralyze(40) user.remove_movespeed_modifier(/datum/movespeed_modifier/strained_muscles) break @@ -44,7 +44,7 @@ user.adjustStaminaLoss(stacks * 1.3) //At first the changeling may regenerate stamina fast enough to nullify fatigue, but it will stack if(stacks == 11) //Warning message that the stacks are getting too high - to_chat(user, "Our legs are really starting to hurt...") + to_chat(user, span_warning("Our legs are really starting to hurt...")) sleep(40) diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index c2229adf157..5f50e69b82f 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -16,7 +16,7 @@ return /datum/action/changeling/sting/proc/set_sting(mob/user) - to_chat(user, "We prepare our sting. Alt+click or click the middle mouse button on a target to sting them.") + to_chat(user, span_notice("We prepare our sting. Alt+click or click the middle mouse button on a target to sting them.")) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.chosen_sting = src @@ -24,7 +24,7 @@ user.hud_used.lingstingdisplay.invisibility = 0 /datum/action/changeling/sting/proc/unset_sting(mob/user) - to_chat(user, "We retract our sting, we can't sting anyone for now.") + to_chat(user, span_warning("We retract our sting, we can't sting anyone for now.")) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.chosen_sting = null @@ -57,9 +57,9 @@ /datum/action/changeling/sting/sting_feedback(mob/user, mob/target) if(!target) return - to_chat(user, "We stealthily sting [target.name].") + to_chat(user, span_notice("We stealthily sting [target.name].")) if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(target, "You feel a tiny prick.") + to_chat(target, span_warning("You feel a tiny prick.")) return 1 @@ -82,7 +82,7 @@ if(!selected_dna) return if(NOTRANSSTING in selected_dna.dna.species.species_traits) - to_chat(user, "That DNA is not compatible with changeling retrovirus!") + to_chat(user, span_notice("That DNA is not compatible with changeling retrovirus!")) return ..() @@ -91,7 +91,7 @@ if(!.) return if((HAS_TRAIT(target, TRAIT_HUSK)) || !iscarbon(target) || (NOTRANSSTING in target.dna.species.species_traits)) - to_chat(user, "Our sting appears ineffective against its DNA.") + to_chat(user, span_warning("Our sting appears ineffective against its DNA.")) return FALSE return TRUE @@ -126,7 +126,7 @@ if(isliving(target)) var/mob/living/L = target if((HAS_TRAIT(L, TRAIT_HUSK)) || !L.has_dna()) - to_chat(user, "Our sting appears ineffective against its DNA.") + to_chat(user, span_warning("Our sting appears ineffective against its DNA.")) return FALSE return TRUE @@ -135,15 +135,15 @@ var/obj/item/held = target.get_active_held_item() if(held && !target.dropItemToGround(held)) - to_chat(user, "[held] is stuck to [target.p_their()] hand, you cannot grow a false armblade over it!") + to_chat(user, span_warning("[held] is stuck to [target.p_their()] hand, you cannot grow a false armblade over it!")) return ..() if(ismonkey(target)) - to_chat(user, "Our genes cry out as we sting [target.name]!") + to_chat(user, span_notice("Our genes cry out as we sting [target.name]!")) var/obj/item/melee/arm_blade/false/blade = new(target,1) target.put_in_hands(blade) - target.visible_message("A grotesque blade forms around [target.name]\'s arm!", "Your arm twists and mutates, transforming into a horrific monstrosity!", "You hear organic matter ripping and tearing!") + target.visible_message(span_warning("A grotesque blade forms around [target.name]\'s arm!"), span_userdanger("Your arm twists and mutates, transforming into a horrific monstrosity!"), span_hear("You hear organic matter ripping and tearing!")) playsound(target, 'sound/effects/blobattack.ogg', 30, TRUE) addtimer(CALLBACK(src, .proc/remove_fake, target, blade), 600) @@ -153,7 +153,7 @@ playsound(target, 'sound/effects/blobattack.ogg', 30, TRUE) target.visible_message("With a sickening crunch, \ [target] reforms [target.p_their()] [blade.name] into an arm!", - "[blade] reforms back to normal.", + span_warning("[blade] reforms back to normal."), "Your eyes burn horrifically!") + to_chat(target, span_danger("Your eyes burn horrifically!")) target.become_nearsighted(EYE_DAMAGE) target.blind_eyes(20) target.blur_eyes(40) diff --git a/code/modules/antagonists/changeling/powers/transform.dm b/code/modules/antagonists/changeling/powers/transform.dm index 859e3a96c5b..d4dde7f089c 100644 --- a/code/modules/antagonists/changeling/powers/transform.dm +++ b/code/modules/antagonists/changeling/powers/transform.dm @@ -14,7 +14,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clothing/glasses/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() @@ -26,7 +26,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clothing/under/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() @@ -39,7 +39,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clothing/suit/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() @@ -52,7 +52,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clothing/head/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() @@ -64,7 +64,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clothing/shoes/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() @@ -76,7 +76,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clothing/gloves/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() @@ -88,7 +88,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clothing/mask/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() @@ -102,7 +102,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/changeling/attack_hand(mob/user, list/modifiers) if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) - to_chat(user, "You reabsorb [src] into your body.") + to_chat(user, span_notice("You reabsorb [src] into your body.")) qdel(src) return . = ..() diff --git a/code/modules/antagonists/clown_ops/clown_weapons.dm b/code/modules/antagonists/clown_ops/clown_weapons.dm index 6d03a2234fc..d6c69905ff2 100644 --- a/code/modules/antagonists/clown_ops/clown_weapons.dm +++ b/code/modules/antagonists/clown_ops/clown_weapons.dm @@ -103,7 +103,7 @@ /obj/item/melee/transforming/energy/sword/bananium/attackby(obj/item/I, mob/living/user, params) if((world.time > next_trombone_allowed) && istype(I, /obj/item/melee/transforming/energy/sword/bananium)) next_trombone_allowed = world.time + 50 - to_chat(user, "You slap the two swords together. Sadly, they do not seem to fit!") + to_chat(user, span_warning("You slap the two swords together. Sadly, they do not seem to fit!")) playsound(src, 'sound/misc/sadtrombone.ogg', 50) return TRUE return ..() @@ -118,7 +118,7 @@ /obj/item/melee/transforming/energy/sword/bananium/suicide_act(mob/user) if(!active) transform_weapon(user, TRUE) - user.visible_message("[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku, but the blade slips off of [user.p_them()] harmlessly!") + user.visible_message(span_suicide("[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku, but the blade slips off of [user.p_them()] harmlessly!")) var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) slipper.Slip(src, user) return SHAME @@ -200,7 +200,7 @@ bomb = new /obj/item/grenade/syndieminibomb(src) bomb.det_time = det_time if(iscarbon(loc)) - to_chat(loc, "[src] begins to beep.") + to_chat(loc, span_danger("[src] begins to beep.")) bomb.arm_grenade(loc, null, FALSE) /obj/item/grown/bananapeel/bombanana/ComponentInitialize() @@ -212,7 +212,7 @@ QDEL_NULL(bomb) /obj/item/grown/bananapeel/bombanana/suicide_act(mob/user) - user.visible_message("[user] is deliberately slipping on the [src.name]! It looks like \he's trying to commit suicide.") + user.visible_message(span_suicide("[user] is deliberately slipping on the [src.name]! It looks like \he's trying to commit suicide.")) playsound(loc, 'sound/misc/slip.ogg', 50, TRUE, -1) bomb.arm_grenade(user, 0, FALSE) return (BRUTELOSS) diff --git a/code/modules/antagonists/creep/creep.dm b/code/modules/antagonists/creep/creep.dm index 5442e2af377..ca028ebbd5b 100644 --- a/code/modules/antagonists/creep/creep.dm +++ b/code/modules/antagonists/creep/creep.dm @@ -117,11 +117,11 @@ break if(trauma) if(trauma.total_time_creeping > 0) - report += "The [name] spent a total of [DisplayTimeText(trauma.total_time_creeping)] being near [trauma.obsession]!" + report += span_greentext("The [name] spent a total of [DisplayTimeText(trauma.total_time_creeping)] being near [trauma.obsession]!") else - report += "The [name] did not go near their obsession the entire round! That's extremely impressive!" + report += span_redtext("The [name] did not go near their obsession the entire round! That's extremely impressive!") else - report += "The [name] had no trauma attached to their antagonist ways! Either it bugged out or an admin incorrectly gave this good samaritan antag and it broke! You might as well show yourself!!" + report += span_redtext("The [name] had no trauma attached to their antagonist ways! Either it bugged out or an admin incorrectly gave this good samaritan antag and it broke! You might as well show yourself!!") if(objectives.len == 0 || objectives_complete) report += "The [name] was successful!" diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index d23a177e219..b1ebec481f2 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -42,9 +42,9 @@ limit = MAX_BLOODCHARGE if(spells.len >= limit) if(rune) - to_chat(owner, "You cannot store more than [MAX_BLOODCHARGE] spells. Pick a spell to remove.") + to_chat(owner, span_cultitalic("You cannot store more than [MAX_BLOODCHARGE] spells. Pick a spell to remove.")) else - to_chat(owner, "You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spells without an empowering rune! Pick a spell to remove.") + to_chat(owner, span_cultitalic("You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spells without an empowering rune! Pick a spell to remove.")) var/nullify_spell = input(owner, "Choose a spell to remove.", "Current Spells") as null|anything in spells if(nullify_spell) qdel(nullify_spell) @@ -66,12 +66,12 @@ BS = possible_spells[entered_spell_name] if(QDELETED(src) || owner.incapacitated() || !BS || (rune && !(locate(/obj/effect/rune/empower) in range(1, owner))) || (spells.len >= limit)) return - to_chat(owner,"You begin to carve unnatural symbols into your flesh!") + to_chat(owner,span_warning("You begin to carve unnatural symbols into your flesh!")) SEND_SOUND(owner, sound('sound/weapons/slice.ogg',0,1,10)) if(!channeling) channeling = TRUE else - to_chat(owner, "You are already invoking blood magic!") + to_chat(owner, span_cultitalic("You are already invoking blood magic!")) return if(do_after(owner, 100 - rune*60, target = owner)) if(ishuman(owner)) @@ -81,7 +81,7 @@ new_spell.Grant(owner, src) spells += new_spell Positioning() - to_chat(owner, "Your wounds glow with power, you have prepared a [new_spell.name] invocation!") + to_chat(owner, span_warning("Your wounds glow with power, you have prepared a [new_spell.name] invocation!")) channeling = FALSE /datum/action/innate/cult/blood_spell //The next generation of talismans, handles storage/creation of blood magic @@ -126,14 +126,14 @@ if(!owner.put_in_hands(hand_magic)) qdel(hand_magic) hand_magic = null - to_chat(owner, "You have no empty hand for invoking blood magic!") + to_chat(owner, span_warning("You have no empty hand for invoking blood magic!")) return - to_chat(owner, "Your wounds glow as you invoke the [name].") + to_chat(owner, span_notice("Your wounds glow as you invoke the [name].")) return if(hand_magic) qdel(hand_magic) hand_magic = null - to_chat(owner, "You snuff out the spell, saving it for later.") + to_chat(owner, span_warning("You snuff out the spell, saving it for later.")) //Cult Blood Spells @@ -160,8 +160,8 @@ /datum/action/innate/cult/blood_spell/emp/Activate() owner.whisper(invocation, language = /datum/language/common) - owner.visible_message("[owner]'s hand flashes a bright blue!", \ - "You speak the cursed words, emitting an EMP blast from your hand.") + owner.visible_message(span_warning("[owner]'s hand flashes a bright blue!"), \ + span_cultitalic("You speak the cursed words, emitting an EMP blast from your hand.")) empulse(owner, 2, 5) charges-- if(charges<=0) @@ -196,14 +196,14 @@ /datum/action/innate/cult/blood_spell/dagger/Activate() var/turf/owner_turf = get_turf(owner) owner.whisper(invocation, language = /datum/language/common) - owner.visible_message("[owner]'s hand glows red for a moment.", \ - "Your plea for aid is answered, and light begins to shimmer and take form within your hand!") + owner.visible_message(span_warning("[owner]'s hand glows red for a moment."), \ + span_cultitalic("Your plea for aid is answered, and light begins to shimmer and take form within your hand!")) var/obj/item/melee/cultblade/dagger/summoned_blade = new (owner_turf) if(owner.put_in_hands(summoned_blade)) - to_chat(owner, "A ritual dagger appears in your hand!") + to_chat(owner, span_warning("A ritual dagger appears in your hand!")) else - owner.visible_message("A ritual dagger appears at [owner]'s feet!", \ - "A ritual dagger materializes at your feet.") + owner.visible_message(span_warning("A ritual dagger appears at [owner]'s feet!"), \ + span_cultitalic("A ritual dagger materializes at your feet.")) SEND_SOUND(owner, sound('sound/effects/magic.ogg', FALSE, 0, 25)) charges-- if(charges <= 0) @@ -244,9 +244,9 @@ /obj/effect/proc_holder/horror/proc/toggle(mob/user) if(active) - remove_ranged_ability("You dispel the magic...") + remove_ranged_ability(span_cult("You dispel the magic...")) else - add_ranged_ability(user, "You prepare to horrify a target...") + add_ranged_ability(user, span_cult("You prepare to horrify a target...")) /obj/effect/proc_holder/horror/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) @@ -267,13 +267,13 @@ var/image/C = image('icons/effects/cult_effects.dmi',H,"bloodsparkles", ABOVE_MOB_LAYER) add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, NONE) addtimer(CALLBACK(H,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE) - to_chat(ranged_ability_user,"[H] has been cursed with living nightmares!") + to_chat(ranged_ability_user,span_cult("[H] has been cursed with living nightmares!")) attached_action.charges-- attached_action.desc = attached_action.base_desc attached_action.desc += "
    Has [attached_action.charges] use\s remaining." attached_action.UpdateButtonIcon() if(attached_action.charges <= 0) - remove_ranged_ability("You have exhausted the spell's power!") + remove_ranged_ability(span_cult("You have exhausted the spell's power!")) qdel(src) /datum/action/innate/cult/blood_spell/veiling @@ -286,8 +286,8 @@ /datum/action/innate/cult/blood_spell/veiling/Activate() if(!revealing) - owner.visible_message("Thin grey dust falls from [owner]'s hand!", \ - "You invoke the veiling spell, hiding nearby runes.") + owner.visible_message(span_warning("Thin grey dust falls from [owner]'s hand!"), \ + span_cultitalic("You invoke the veiling spell, hiding nearby runes.")) charges-- SEND_SOUND(owner, sound('sound/magic/smoke.ogg',0,1,25)) owner.whisper(invocation, language = /datum/language/common) @@ -305,8 +305,8 @@ name = "Reveal Runes" button_icon_state = "back" else - owner.visible_message("A flash of light shines from [owner]'s hand!", \ - "You invoke the counterspell, revealing nearby runes.") + owner.visible_message(span_warning("A flash of light shines from [owner]'s hand!"), \ + span_cultitalic("You invoke the counterspell, revealing nearby runes.")) charges-- owner.whisper(invocation, language = /datum/language/common) SEND_SOUND(owner, sound('sound/magic/enter_blood.ogg',0,1,25)) @@ -420,8 +420,8 @@ if(IS_CULTIST(L)) return if(IS_CULTIST(user)) - user.visible_message("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!", \ - "You attempt to stun [L] with the spell!") + user.visible_message(span_warning("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!"), \ + span_cultitalic("You attempt to stun [L] with the spell!")) user.mob_light(_range = 3, _color = LIGHT_COLOR_BLOOD_MAGIC, _duration = 0.2 SECONDS) @@ -435,14 +435,14 @@ if(istype(anti_magic_source, /obj/item)) var/obj/item/ams_object = anti_magic_source - target.visible_message("[L] starts to glow in a halo of light!", \ - "Your [ams_object.name] begins to glow, emitting a blanket of holy light which surrounds you and protects you from the flash of light!") + target.visible_message(span_warning("[L] starts to glow in a halo of light!"), \ + span_userdanger("Your [ams_object.name] begins to glow, emitting a blanket of holy light which surrounds you and protects you from the flash of light!")) else - target.visible_message("[L] starts to glow in a halo of light!", \ - "A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!") + target.visible_message(span_warning("[L] starts to glow in a halo of light!"), \ + span_userdanger("A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!")) else - to_chat(user, "In a brilliant flash of red, [L] falls to the ground!") + to_chat(user, span_cultitalic("In a brilliant flash of red, [L] falls to the ground!")) L.Paralyze(16 SECONDS) L.flash_act(1,TRUE) if(issilicon(target)) @@ -467,7 +467,7 @@ /obj/item/melee/blood_magic/teleport/afterattack(atom/target, mob/living/carbon/user, proximity) var/mob/mob_target = target if(istype(mob_target) && !IS_CULTIST(mob_target) || !proximity) - to_chat(user, "You can only teleport adjacent cultists with this spell!") + to_chat(user, span_warning("You can only teleport adjacent cultists with this spell!")) return if(IS_CULTIST(user)) var/list/potential_runes = list() @@ -477,13 +477,13 @@ potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T if(!potential_runes.len) - to_chat(user, "There are no valid runes to teleport to!") + to_chat(user, span_warning("There are no valid runes to teleport to!")) log_game("Teleport talisman failed - no other teleport runes") return var/turf/T = get_turf(src) if(is_away_level(T.z)) - to_chat(user, "You are not in the right dimension!") + to_chat(user, span_cultitalic("You are not in the right dimension!")) log_game("Teleport spell failed - user in away mission") return @@ -493,15 +493,15 @@ return var/turf/dest = get_turf(actual_selected_rune) if(dest.is_blocked_turf(TRUE)) - to_chat(user, "The target rune is blocked. You cannot teleport there.") + to_chat(user, span_warning("The target rune is blocked. You cannot teleport there.")) return uses-- var/turf/origin = get_turf(user) var/mob/living/L = target if(do_teleport(L, dest, channel = TELEPORT_CHANNEL_CULT)) - origin.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] with a sharp crack!", \ - "You speak the words of the talisman and find yourself somewhere else!", "You hear a sharp crack.") - dest.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") + origin.visible_message(span_warning("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] with a sharp crack!"), \ + span_cultitalic("You speak the words of the talisman and find yourself somewhere else!"), "You hear a sharp crack.") + dest.visible_message(span_warning("There is a boom of outrushing air as something appears above the rune!"), null, "You hear a boom.") ..() //Shackles @@ -517,29 +517,29 @@ if(C.canBeHandcuffed()) CuffAttack(C, user) else - user.visible_message("This victim doesn't have enough arms to complete the restraint!") + user.visible_message(span_cultitalic("This victim doesn't have enough arms to complete the restraint!")) return ..() /obj/item/melee/blood_magic/shackles/proc/CuffAttack(mob/living/carbon/C, mob/living/user) if(!C.handcuffed) playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) - C.visible_message("[user] begins restraining [C] with dark magic!", \ - "[user] begins shaping dark magic shackles around your wrists!") + C.visible_message(span_danger("[user] begins restraining [C] with dark magic!"), \ + span_userdanger("[user] begins shaping dark magic shackles around your wrists!")) if(do_mob(user, C, 30)) if(!C.handcuffed) C.set_handcuffed(new /obj/item/restraints/handcuffs/energy/cult/used(C)) C.update_handcuffed() C.silent += 5 - to_chat(user, "You shackle [C].") + to_chat(user, span_notice("You shackle [C].")) log_combat(user, C, "shackled") uses-- else - to_chat(user, "[C] is already bound.") + to_chat(user, span_warning("[C] is already bound.")) else - to_chat(user, "You fail to shackle [C].") + to_chat(user, span_warning("You fail to shackle [C].")) else - to_chat(user, "[C] is already bound.") + to_chat(user, span_warning("[C] is already bound.")) /obj/item/restraints/handcuffs/energy/cult //For the shackling spell @@ -549,8 +549,8 @@ item_flags = DROPDEL /obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user) - user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", \ - "Your [src] shatters in a discharge of dark magic!") + user.visible_message(span_danger("[user]'s shackles shatter in a discharge of dark magic!"), \ + span_userdanger("Your [src] shatters in a discharge of dark magic!")) . = ..() @@ -574,18 +574,18 @@ /obj/item/melee/blood_magic/construction/afterattack(atom/target, mob/user, proximity_flag, click_parameters) if(proximity_flag && IS_CULTIST(user)) if(channeling) - to_chat(user, "You are already invoking twisted construction!") + to_chat(user, span_cultitalic("You are already invoking twisted construction!")) return var/turf/T = get_turf(target) if(istype(target, /obj/item/stack/sheet/iron)) var/obj/item/stack/sheet/candidate = target if(candidate.use(IRON_TO_CONSTRUCT_SHELL_CONVERSION)) uses-- - to_chat(user, "A dark cloud emanates from your hand and swirls around the iron, twisting it into a construct shell!") + to_chat(user, span_warning("A dark cloud emanates from your hand and swirls around the iron, twisting it into a construct shell!")) new /obj/structure/constructshell(T) SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) else - to_chat(user, "You need [IRON_TO_CONSTRUCT_SHELL_CONVERSION] iron to produce a construct shell!") + to_chat(user, span_warning("You need [IRON_TO_CONSTRUCT_SHELL_CONVERSION] iron to produce a construct shell!")) return else if(istype(target, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/candidate = target @@ -593,13 +593,13 @@ if(candidate.use(quantity)) uses -- new /obj/item/stack/sheet/runed_metal(T,quantity) - to_chat(user, "A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!") + to_chat(user, span_warning("A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!")) SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) else if(istype(target,/mob/living/silicon/robot)) var/mob/living/silicon/robot/candidate = target if(candidate.mmi) channeling = TRUE - user.visible_message("A dark cloud emanates from [user]'s hand and swirls around [candidate]!") + user.visible_message(span_danger("A dark cloud emanates from [user]'s hand and swirls around [candidate]!")) playsound(T, 'sound/machines/airlock_alien_prying.ogg', 80, TRUE) var/prev_color = candidate.color candidate.color = "black" @@ -616,7 +616,7 @@ if(QDELETED(candidate)) channeling = FALSE return - user.visible_message("The dark cloud recedes from what was formerly [candidate], revealing a\n [construct_class]!") + user.visible_message(span_danger("The dark cloud recedes from what was formerly [candidate], revealing a\n [construct_class]!")) switch(construct_class) if("Juggernaut") makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut, candidate, user, FALSE, T) @@ -636,7 +636,7 @@ return else uses-- - to_chat(user, "A dark cloud emanates from you hand and swirls around [candidate] - twisting it into a construct shell!") + to_chat(user, span_warning("A dark cloud emanates from you hand and swirls around [candidate] - twisting it into a construct shell!")) new /obj/structure/constructshell(T) SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) qdel(candidate) @@ -650,14 +650,14 @@ return target.narsie_act() uses-- - user.visible_message("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!") + user.visible_message(span_warning("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!")) SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) channeling = FALSE else channeling = FALSE return else - to_chat(user, "The spell will not work on [target]!") + to_chat(user, span_warning("The spell will not work on [target]!")) return ..() @@ -680,7 +680,7 @@ if(istype(carbon_target) && IS_CULTIST(carbon_target) && proximity) uses-- var/mob/living/carbon/C = target - C.visible_message("Otherworldly armor suddenly appears on [C]!") + C.visible_message(span_warning("Otherworldly armor suddenly appears on [C]!")) C.equip_to_slot_or_del(new /obj/item/clothing/under/color/black,ITEM_SLOT_ICLOTHING) C.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), ITEM_SLOT_OCLOTHING) C.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult/alt(user), ITEM_SLOT_FEET) @@ -705,38 +705,38 @@ if(ishuman(target)) var/mob/living/carbon/human/H = target if(NOBLOOD in H.dna.species.species_traits) - to_chat(user,"Blood rites do not work on species with no blood!") + to_chat(user,span_warning("Blood rites do not work on species with no blood!")) return if(IS_CULTIST(H)) if(H.stat == DEAD) - to_chat(user,"Only a revive rune can bring back the dead!") + to_chat(user,span_warning("Only a revive rune can bring back the dead!")) return if(H.blood_volume < BLOOD_VOLUME_SAFE) var/restore_blood = BLOOD_VOLUME_SAFE - H.blood_volume if(uses*2 < restore_blood) H.blood_volume += uses*2 - to_chat(user,"You use the last of your blood rites to restore what blood you could!") + to_chat(user,span_danger("You use the last of your blood rites to restore what blood you could!")) uses = 0 return ..() else H.blood_volume = BLOOD_VOLUME_SAFE uses -= round(restore_blood/2) - to_chat(user,"Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!") + to_chat(user,span_warning("Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!")) var/overall_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss() + H.getOxyLoss() if(overall_damage == 0) - to_chat(user,"That cultist doesn't require healing!") + to_chat(user,span_cult("That cultist doesn't require healing!")) else var/ratio = uses/overall_damage if(H == user) - to_chat(user,"Your blood healing is far less efficient when used on yourself!") + to_chat(user,span_cult("Your blood healing is far less efficient when used on yourself!")) ratio *= 0.35 // Healing is half as effective if you can't perform a full heal uses -= round(overall_damage) // Healing is 65% more "expensive" even if you can still perform the full heal if(ratio>1) ratio = 1 uses -= round(overall_damage) - H.visible_message("[H] is fully healed by [H==user ? "[H.p_their()]":"[H]'s"]'s blood magic!") + H.visible_message(span_warning("[H] is fully healed by [H==user ? "[H.p_their()]":"[H]'s"]'s blood magic!")) else - H.visible_message("[H] is partially healed by [H==user ? "[H.p_their()]":"[H]'s"] blood magic.") + H.visible_message(span_warning("[H] is partially healed by [H==user ? "[H.p_their()]":"[H]'s"] blood magic.")) uses = 0 ratio *= -1 H.adjustOxyLoss((overall_damage*ratio) * (H.getOxyLoss() / overall_damage), 0) @@ -749,21 +749,21 @@ user.Beam(H, icon_state="sendbeam", time = 15) else if(H.stat == DEAD) - to_chat(user,"[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it.") + to_chat(user,span_warning("[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it.")) return if(H.cultslurring) - to_chat(user,"[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!") + to_chat(user,span_danger("[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!")) return if(H.blood_volume > BLOOD_VOLUME_SAFE) H.blood_volume -= 100 uses += 50 user.Beam(H, icon_state="drainbeam", time = 1 SECONDS) playsound(get_turf(H), 'sound/magic/enter_blood.ogg', 50) - H.visible_message("[user] drains some of [H]'s blood!") - to_chat(user,"Your blood rite gains 50 charges from draining [H]'s blood.") + H.visible_message(span_danger("[user] drains some of [H]'s blood!")) + to_chat(user,span_cultitalic("Your blood rite gains 50 charges from draining [H]'s blood.")) new /obj/effect/temp_visual/cult/sparks(get_turf(H)) else - to_chat(user,"[H.p_theyre(TRUE)] missing too much blood - you cannot drain [H.p_them()] further!") + to_chat(user,span_warning("[H.p_theyre(TRUE)] missing too much blood - you cannot drain [H.p_them()] further!")) return if(isconstruct(target)) var/mob/living/simple_animal/M = target @@ -771,11 +771,11 @@ if(missing) if(uses > missing) M.adjustHealth(-missing) - M.visible_message("[M] is fully healed by [user]'s blood magic!") + M.visible_message(span_warning("[M] is fully healed by [user]'s blood magic!")) uses -= missing else M.adjustHealth(-uses) - M.visible_message("[M] is partially healed by [user]'s blood magic!") + M.visible_message(span_warning("[M] is partially healed by [user]'s blood magic!")) uses = 0 playsound(get_turf(M), 'sound/magic/staff_healing.ogg', 25) user.Beam(M, icon_state="sendbeam", time = 1 SECONDS) @@ -801,7 +801,7 @@ user.Beam(T,icon_state="drainbeam", time = 15) new /obj/effect/temp_visual/cult/sparks(get_turf(user)) playsound(T, 'sound/magic/enter_blood.ogg', 50) - to_chat(user, "Your blood rite has gained [round(temp)] charge\s from blood sources around you!") + to_chat(user, span_cultitalic("Your blood rite has gained [round(temp)] charge\s from blood sources around you!")) uses += max(1, round(temp)) /obj/item/melee/blood_magic/manipulator/attack_self(mob/living/user) @@ -813,12 +813,12 @@ ) var/choice = show_radial_menu(user, src, spells, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE) if(!check_menu(user)) - to_chat(user, "You decide against conducting a greater blood rite.") + to_chat(user, span_cultitalic("You decide against conducting a greater blood rite.")) return switch(choice) if("Bloody Halberd (150)") if(uses < BLOOD_HALBERD_COST) - to_chat(user, "You need [BLOOD_HALBERD_COST] charges to perform this rite.") + to_chat(user, span_cultitalic("You need [BLOOD_HALBERD_COST] charges to perform this rite.")) else uses -= BLOOD_HALBERD_COST var/turf/current_position = get_turf(user) @@ -828,33 +828,33 @@ halberd_act_granted.Grant(user, rite) rite.halberd_act = halberd_act_granted if(user.put_in_hands(rite)) - to_chat(user, "A [rite.name] appears in your hand!") + to_chat(user, span_cultitalic("A [rite.name] appears in your hand!")) else - user.visible_message("A [rite.name] appears at [user]'s feet!", \ - "A [rite.name] materializes at your feet.") + user.visible_message(span_warning("A [rite.name] appears at [user]'s feet!"), \ + span_cultitalic("A [rite.name] materializes at your feet.")) if("Blood Bolt Barrage (300)") if(uses < BLOOD_BARRAGE_COST) - to_chat(user, "You need [BLOOD_BARRAGE_COST] charges to perform this rite.") + to_chat(user, span_cultitalic("You need [BLOOD_BARRAGE_COST] charges to perform this rite.")) else var/obj/rite = new /obj/item/gun/ballistic/rifle/enchanted/arcane_barrage/blood() uses -= BLOOD_BARRAGE_COST qdel(src) if(user.put_in_hands(rite)) - to_chat(user, "Your hands glow with power!") + to_chat(user, span_cult("Your hands glow with power!")) else - to_chat(user, "You need a free hand for this rite!") + to_chat(user, span_cultitalic("You need a free hand for this rite!")) qdel(rite) if("Blood Beam (500)") if(uses < BLOOD_BEAM_COST) - to_chat(user, "You need [BLOOD_BEAM_COST] charges to perform this rite.") + to_chat(user, span_cultitalic("You need [BLOOD_BEAM_COST] charges to perform this rite.")) else var/obj/rite = new /obj/item/blood_beam() uses -= BLOOD_BEAM_COST qdel(src) if(user.put_in_hands(rite)) - to_chat(user, "Your hands glow with POWER OVERWHELMING!!!") + to_chat(user, span_cultlarge("Your hands glow with POWER OVERWHELMING!!!")) else - to_chat(user, "You need a free hand for this rite!") + to_chat(user, span_cultitalic("You need a free hand for this rite!")) qdel(rite) /obj/item/melee/blood_magic/manipulator/proc/check_menu(mob/living/user) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index ddc6fcc1deb..034fea9128a 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -52,7 +52,7 @@ . = is_convertable_to_cult(new_owner.current,cult_team) /datum/antagonist/cult/greet() - to_chat(owner, "You are a member of the cult!") + to_chat(owner, span_userdanger("You are a member of the cult!")) owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/bloodcult.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)//subject to change owner.announce_objectives() @@ -89,10 +89,10 @@ var/item_name = initial(item_path.name) var/where = mob.equip_in_one_of_slots(T, slots) if(!where) - to_chat(mob, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).") + to_chat(mob, span_userdanger("Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).")) return FALSE else - to_chat(mob, "You have a [item_name] in your [where].") + to_chat(mob, span_danger("You have a [item_name] in your [where].")) if(where == "backpack") SEND_SIGNAL(mob.back, COMSIG_TRY_STORAGE_SHOW, mob) return TRUE @@ -140,8 +140,8 @@ /datum/antagonist/cult/on_removal() if(!silent) - owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!", null, null, null, owner.current) - to_chat(owner.current, "An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.") + owner.current.visible_message(span_deconversion_message("[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!"), null, null, null, owner.current) + to_chat(owner.current, span_userdanger("An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.")) owner.current.log_message("has renounced the cult of Nar'Sie!", LOG_ATTACK, color="#960000") if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client) owner.current.client.images -= cult_team.blood_target_image @@ -165,11 +165,11 @@ /datum/antagonist/cult/proc/admin_give_dagger(mob/admin) if(!equip_cultist(metal=FALSE)) - to_chat(admin, "Spawning dagger failed!") + to_chat(admin, span_danger("Spawning dagger failed!")) /datum/antagonist/cult/proc/admin_give_metal(mob/admin) if (!equip_cultist(metal=TRUE)) - to_chat(admin, "Spawning runed metal failed!") + to_chat(admin, span_danger("Spawning runed metal failed!")) /datum/antagonist/cult/proc/admin_take_all(mob/admin) var/mob/living/current = owner.current @@ -256,7 +256,7 @@ for(var/datum/mind/B in members) if(B.current) SEND_SOUND(B.current, 'sound/hallucinations/i_see_you2.ogg') - to_chat(B.current, "The veil weakens as your cult grows, your eyes begin to glow...") + to_chat(B.current, span_cultlarge("The veil weakens as your cult grows, your eyes begin to glow...")) addtimer(CALLBACK(src, .proc/rise, B.current), 200) cult_risen = TRUE @@ -264,7 +264,7 @@ for(var/datum/mind/B in members) if(B.current) SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') - to_chat(B.current, "Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!") + to_chat(B.current, span_cultlarge("Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!")) addtimer(CALLBACK(src, .proc/ascend, B.current), 200) cult_ascendent = TRUE @@ -391,9 +391,9 @@ var/count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - parts += "Objective #[count]: [objective.explanation_text] Success!" + parts += "Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - parts += "Objective #[count]: [objective.explanation_text] Fail." + parts += "Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" count++ if(members.len) diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index a87190b30c9..e2c834171f8 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -21,7 +21,7 @@ if(!input || !IsAvailable()) return if(CHAT_FILTER_CHECK(input)) - to_chat(usr, "You cannot send a message that contains a word prohibited in IC chat!") + to_chat(usr, span_warning("You cannot send a message that contains a word prohibited in IC chat!")) return cultist_commune(usr, input) @@ -61,7 +61,7 @@ var/my_message if(!message) return - my_message = "The [user.name]: [message]" + my_message = span_cultboldtalic("The [user.name]: [message]") for(var/i in GLOB.player_list) var/mob/M = i if(IS_CULTIST(M)) @@ -96,7 +96,7 @@ B.current.update_action_buttons_icon() if(!B.current.incapacitated()) SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') - to_chat(B.current, "Acolyte [Nominee] has asserted that [Nominee.p_theyre()] worthy of leading the cult. A vote will be called shortly.") + to_chat(B.current, span_cultlarge("Acolyte [Nominee] has asserted that [Nominee.p_theyre()] worthy of leading the cult. A vote will be called shortly.")) sleep(100) var/list/asked_cultists = list() for(var/datum/mind/B in team.members) @@ -110,7 +110,7 @@ if(B.current) B.current.update_action_buttons_icon() if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has died in the process of attempting to win the cult's support!") + to_chat(B.current,span_cultlarge("[Nominee] has died in the process of attempting to win the cult's support!")) return FALSE if(!Nominee.mind) team.cult_vote_called = FALSE @@ -118,7 +118,7 @@ if(B.current) B.current.update_action_buttons_icon() if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has gone catatonic in the process of attempting to win the cult's support!") + to_chat(B.current,span_cultlarge("[Nominee] has gone catatonic in the process of attempting to win the cult's support!")) return FALSE if(LAZYLEN(yes_voters) <= LAZYLEN(asked_cultists) * 0.5) team.cult_vote_called = FALSE @@ -126,7 +126,7 @@ if(B.current) B.current.update_action_buttons_icon() if(!B.current.incapacitated()) - to_chat(B.current, "[Nominee] could not win the cult's support and shall continue to serve as an acolyte.") + to_chat(B.current, span_cultlarge("[Nominee] could not win the cult's support and shall continue to serve as an acolyte.")) return FALSE team.cult_master = Nominee var/datum/antagonist/cult/cultist = Nominee.mind.has_antag_datum(/datum/antagonist/cult) @@ -139,7 +139,7 @@ for(var/datum/action/innate/cult/mastervote/vote in B.current.actions) vote.Remove(B.current) if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has won the cult's support and is now their master. Follow [Nominee.p_their()] orders to the best of your ability!") + to_chat(B.current,span_cultlarge("[Nominee] has won the cult's support and is now their master. Follow [Nominee.p_their()] orders to the best of your ability!")) return TRUE /datum/action/innate/cult/master/IsAvailable() @@ -159,7 +159,7 @@ var/place = get_area(owner) var/datum/objective/eldergod/summon_objective = locate() in antag.cult_team.objectives if(place in summon_objective.summon_spots)//cant do final reckoning in the summon area to prevent abuse, you'll need to get everyone to stand on the circle! - to_chat(owner, "The veil is too weak here! Move to an area where it is strong enough to support this magic.") + to_chat(owner, span_cultlarge("The veil is too weak here! Move to an area where it is strong enough to support this magic.")) return for(var/i in 1 to 4) chant(i) @@ -168,7 +168,7 @@ if(!T.is_blocked_turf(TRUE)) destinations += T if(!LAZYLEN(destinations)) - to_chat(owner, "You need more space to summon your cult!") + to_chat(owner, span_warning("You need more space to summon your cult!")) return if(do_after(owner, 30, target = owner)) for(var/datum/mind/B in antag.cult_team.members) @@ -233,7 +233,7 @@ /datum/action/innate/cult/master/cultmark/IsAvailable() if(cooldown > world.time) if(!CM.active) - to_chat(owner, "You need to wait [DisplayTimeText(cooldown - world.time)] before you can mark another target!") + to_chat(owner, span_cultlarge("You need to wait [DisplayTimeText(cooldown - world.time)] before you can mark another target!")) return FALSE return ..() @@ -256,9 +256,9 @@ /obj/effect/proc_holder/cultmark/proc/toggle(mob/user) if(active) - remove_ranged_ability("You cease the marking ritual.") + remove_ranged_ability(span_cult("You cease the marking ritual.")) else - add_ranged_ability(user, "You prepare to mark a target for your cult...") + add_ranged_ability(user, span_cult("You prepare to mark a target for your cult...")) /obj/effect/proc_holder/cultmark/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) @@ -274,7 +274,7 @@ if(target in view(7, get_turf(ranged_ability_user))) if(C.cult_team.blood_target) - to_chat(ranged_ability_user, "The cult has already designated a target!") + to_chat(ranged_ability_user, span_cult("The cult has already designated a target!")) return FALSE C.cult_team.blood_target = target var/area/A = get_area(target) @@ -286,11 +286,11 @@ C.cult_team.blood_target_image.pixel_y = -target.pixel_y for(var/datum/mind/B as anything in get_antag_minds(/datum/antagonist/cult)) if(B.current && B.current.stat != DEAD && B.current.client) - to_chat(B.current, "[ranged_ability_user] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!") + to_chat(B.current, span_cultlarge("[ranged_ability_user] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!")) SEND_SOUND(B.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) B.current.client.images += C.cult_team.blood_target_image attached_action.owner.update_action_buttons_icon() - remove_ranged_ability("The marking rite is complete! It will last for 90 seconds.") + remove_ranged_ability(span_cult("The marking rite is complete! It will last for 90 seconds.")) C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), 900, TIMER_STOPPABLE) return TRUE return FALSE @@ -299,7 +299,7 @@ for(var/datum/mind/B in team.members) if(B.current && B.current.stat != DEAD && B.current.client) if(team.blood_target) - to_chat(B.current,"The blood mark has expired!") + to_chat(B.current,span_cultlarge("The blood mark has expired!")) B.current.client.images -= team.blood_target_image QDEL_NULL(team.blood_target_image) team.blood_target = null @@ -336,21 +336,21 @@ button_icon_state = "cult_mark" owner.update_action_buttons_icon() SEND_SOUND(owner, 'sound/magic/enter_blood.ogg') - to_chat(owner,"Your previous mark is gone - you are now ready to create a new blood mark.") + to_chat(owner,span_cultbold("Your previous mark is gone - you are now ready to create a new blood mark.")) /datum/action/innate/cult/ghostmark/Activate() var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) if(C.cult_team.blood_target) if(cooldown>world.time) reset_blood_target(C.cult_team) - to_chat(owner, "You have cleared the cult's blood target!") + to_chat(owner, span_cultbold("You have cleared the cult's blood target!")) deltimer(C.cult_team.blood_target_reset_timer) return else - to_chat(owner, "The cult has already designated a target!") + to_chat(owner, span_cultbold("The cult has already designated a target!")) return if(cooldown>world.time) - to_chat(owner, "You aren't ready to place another blood mark yet!") + to_chat(owner, span_cultbold("You aren't ready to place another blood mark yet!")) return target = owner.orbiting?.parent || get_turf(owner) if(!target) @@ -367,10 +367,10 @@ owner.client.images += C.cult_team.blood_target_image for(var/datum/mind/B as anything in get_antag_minds(/datum/antagonist/cult)) if(B.current && B.current.stat != DEAD && B.current.client) - to_chat(B.current, "[owner] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!") + to_chat(B.current, span_cultlarge("[owner] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!")) SEND_SOUND(B.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) B.current.client.images += C.cult_team.blood_target_image - to_chat(owner,"You have marked the [target] for the cult! It will last for [DisplayTimeText(base_cooldown)].") + to_chat(owner,span_cultbold("You have marked the [target] for the cult! It will last for [DisplayTimeText(base_cooldown)].")) name = "Clear the Blood Mark" desc = "Remove the Blood Mark you previously set." button_icon_state = "emp" @@ -404,7 +404,7 @@ return FALSE if(cooldown > world.time) if(!PM.active) - to_chat(owner, "You need to wait [DisplayTimeText(cooldown - world.time)] before you can pulse again!") + to_chat(owner, span_cultlarge("You need to wait [DisplayTimeText(cooldown - world.time)] before you can pulse again!")) return FALSE return ..() @@ -430,10 +430,10 @@ /obj/effect/proc_holder/pulse/proc/toggle(mob/user) if(active) - remove_ranged_ability("You cease your preparations...") + remove_ranged_ability(span_cult("You cease your preparations...")) attached_action.throwing = FALSE else - add_ranged_ability(user, "You prepare to tear through the fabric of reality...") + add_ranged_ability(user, span_cult("You prepare to tear through the fabric of reality...")) /obj/effect/proc_holder/pulse/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) @@ -453,7 +453,7 @@ attached_action.throwing = TRUE attached_action.throwee = target SEND_SOUND(ranged_ability_user, sound('sound/weapons/thudswoosh.ogg')) - to_chat(ranged_ability_user,"You reach through the veil with your mind's eye and seize [target]!") + to_chat(ranged_ability_user,span_cult("You reach through the veil with your mind's eye and seize [target]!")) return else new /obj/effect/temp_visual/cult/sparks(get_turf(attached_action.throwee), ranged_ability_user.dir) @@ -466,6 +466,6 @@ new /obj/effect/temp_visual/cult/sparks(get_turf(target), ranged_ability_user.dir) attached_action.throwing = FALSE attached_action.cooldown = world.time + attached_action.base_cooldown - remove_ranged_ability("A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.") + remove_ranged_ability(span_cult("A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.")) caller.update_action_buttons_icon() addtimer(CALLBACK(caller, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 80801b1083d..e5959de8571 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -41,7 +41,7 @@ if(IS_CULTIST(owner) && prob(final_block_chance) && attack_type != PROJECTILE_ATTACK) new /obj/effect/temp_visual/cult/sparks(get_turf(owner)) playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) - owner.visible_message("[block_message]") + owner.visible_message(span_danger("[block_message]")) return TRUE else return FALSE @@ -76,7 +76,7 @@ if(IS_CULTIST(owner) && prob(final_block_chance)) new /obj/effect/temp_visual/cult/sparks(get_turf(owner)) playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] parries [attack_text] with [src]!")) return TRUE else return FALSE @@ -85,8 +85,8 @@ if(!IS_CULTIST(user)) user.Paralyze(100) user.dropItemToGround(src, TRUE) - user.visible_message("A powerful force shoves [user] away from [target]!", \ - "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"") + user.visible_message(span_warning("A powerful force shoves [user] away from [target]!"), \ + span_cultlarge("\"You shouldn't play with sharp things. You'll poke someone's eye out.\"")) if(ishuman(user)) var/mob/living/carbon/human/miscreant = user miscreant.apply_damage(rand(force/2, force), BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) @@ -109,7 +109,7 @@ /obj/item/melee/cultblade/pickup(mob/living/user) ..() if(!IS_CULTIST(user)) - to_chat(user, "\"I wouldn't advise that.\"") + to_chat(user, span_cultlarge("\"I wouldn't advise that.\"")) /obj/item/cult_bastard name = "bloody bastard sword" @@ -167,14 +167,14 @@ /obj/item/cult_bastard/attack_self(mob/user) dash_toggled = !dash_toggled if(dash_toggled) - to_chat(loc, "You raise [src] and prepare to jaunt with it.") + to_chat(loc, span_notice("You raise [src] and prepare to jaunt with it.")) else - to_chat(loc, "You lower [src] and prepare to swing it normally.") + to_chat(loc, span_notice("You lower [src] and prepare to swing it normally.")) /obj/item/cult_bastard/pickup(mob/living/user) . = ..() if(!IS_CULTIST(user)) - to_chat(user, "\"I wouldn't advise that.\"") + to_chat(user, span_cultlarge("\"I wouldn't advise that.\"")) force = 5 return force = initial(force) @@ -198,12 +198,12 @@ /obj/item/cult_bastard/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(prob(final_block_chance)) if(attack_type == PROJECTILE_ATTACK) - owner.visible_message("[owner] deflects [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] deflects [attack_text] with [src]!")) playsound(src, pick('sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg', 'sound/weapons/effects/ric3.ogg', 'sound/weapons/effects/ric4.ogg', 'sound/weapons/effects/ric5.ogg'), 100, TRUE) return TRUE else playsound(src, 'sound/weapons/parry.ogg', 75, TRUE) - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] parries [attack_text] with [src]!")) return TRUE return FALSE @@ -298,11 +298,11 @@ return var/mob/living/carbon/carbon_user = user if(user.num_legs < 2 || carbon_user.legcuffed) //if they can't be ensnared, stun for the same time as it takes to breakout of bola - to_chat(user, "\"I wouldn't advise that.\"") + to_chat(user, span_cultlarge("\"I wouldn't advise that.\"")) user.dropItemToGround(src, TRUE) user.Paralyze(CULT_BOLA_PICKUP_STUN) else - to_chat(user, "The bola seems to take on a life of its own!") + to_chat(user, span_warning("The bola seems to take on a life of its own!")) ensnare(user) #undef CULT_BOLA_PICKUP_STUN @@ -434,10 +434,10 @@ /// A proc for callback when the shield breaks, since cult robes are stupid and have different effects /obj/item/clothing/suit/hooded/cultrobes/cult_shield/proc/shield_damaged(mob/living/wearer, attack_text, new_current_charges) - wearer.visible_message("[wearer]'s robes neutralize [attack_text] in a burst of blood-red sparks!") + wearer.visible_message(span_danger("[wearer]'s robes neutralize [attack_text] in a burst of blood-red sparks!")) new /obj/effect/temp_visual/cult/sparks(get_turf(wearer)) if(new_current_charges == 0) - wearer.visible_message("The runed shield around [wearer] suddenly disappears!") + wearer.visible_message(span_danger("The runed shield around [wearer] suddenly disappears!")) /obj/item/clothing/head/hooded/cult_hoodie/cult_shield name = "empowered cultist helmet" @@ -448,8 +448,8 @@ /obj/item/clothing/suit/hooded/cultrobes/cult_shield/equipped(mob/living/user, slot) ..() if(!IS_CULTIST(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, span_cultlarge("\"I wouldn't advise that.\"")) + to_chat(user, span_warning("An overwhelming sense of nausea overpowers you!")) user.dropItemToGround(src, TRUE) user.Dizzy(30) user.Paralyze(100) @@ -470,8 +470,8 @@ /obj/item/clothing/suit/hooded/cultrobes/berserker/equipped(mob/living/user, slot) ..() if(!IS_CULTIST(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, span_cultlarge("\"I wouldn't advise that.\"")) + to_chat(user, span_warning("An overwhelming sense of nausea overpowers you!")) user.dropItemToGround(src, TRUE) user.Dizzy(30) user.Paralyze(100) @@ -486,7 +486,7 @@ /obj/item/clothing/glasses/hud/health/night/cultblind/equipped(mob/living/user, slot) ..() if(!IS_CULTIST(user) && slot == ITEM_SLOT_EYES) - to_chat(user, "\"You want to be blind, do you?\"") + to_chat(user, span_cultlarge("\"You want to be blind, do you?\"")) user.dropItemToGround(src, TRUE) user.Dizzy(30) user.Paralyze(100) @@ -515,14 +515,14 @@ if(!IS_CULTIST(user)) user.dropItemToGround(src, TRUE) user.Paralyze(100) - to_chat(user, "A powerful force shoves you away from [src]!") + to_chat(user, span_warning("A powerful force shoves you away from [src]!")) return if(totalcurses >= MAX_SHUTTLE_CURSES) - to_chat(user, "You try to shatter the orb, but it remains as solid as a rock!") - to_chat(user, "It seems that the blood cult has exhausted its ability to curse the emergency escape shuttle. It would be unwise to create more cursed orbs or to continue to try to shatter this one.") + to_chat(user, span_warning("You try to shatter the orb, but it remains as solid as a rock!")) + to_chat(user, span_danger(span_big("It seems that the blood cult has exhausted its ability to curse the emergency escape shuttle. It would be unwise to create more cursed orbs or to continue to try to shatter this one."))) return if(locate(/obj/narsie) in GLOB.poi_list) - to_chat(user, "Nar'Sie is already on this plane, there is no delaying the end of all things.") + to_chat(user, span_warning("Nar'Sie is already on this plane, there is no delaying the end of all things.")) return if(SSshuttle.emergency.mode == SHUTTLE_CALL) @@ -542,7 +542,7 @@ if(surplus > 0) SSshuttle.block_recall(surplus) totalcurses++ - to_chat(user, "You shatter the orb! A dark essence spirals into the air, then disappears.") + to_chat(user, span_danger("You shatter the orb! A dark essence spirals into the air, then disappears.")) playsound(user.loc, 'sound/effects/glassbr1.ogg', 50, TRUE) var/static/list/curses if(!curses) @@ -557,11 +557,11 @@ message += " The shuttle will be delayed by three minutes." priority_announce("[message]", "System Failure", 'sound/misc/notice1.ogg') if(MAX_SHUTTLE_CURSES-totalcurses <= 0) - to_chat(user, "You sense that the emergency escape shuttle can no longer be cursed. It would be unwise to create more cursed orbs.") + to_chat(user, span_danger(span_big("You sense that the emergency escape shuttle can no longer be cursed. It would be unwise to create more cursed orbs."))) else if(MAX_SHUTTLE_CURSES-totalcurses == 1) - to_chat(user, "You sense that the emergency escape shuttle can only be cursed one more time.") + to_chat(user, span_danger(span_big("You sense that the emergency escape shuttle can only be cursed one more time."))) else - to_chat(user, "You sense that the emergency escape shuttle can only be cursed [MAX_SHUTTLE_CURSES-totalcurses] more times.") + to_chat(user, span_danger(span_big("You sense that the emergency escape shuttle can only be cursed [MAX_SHUTTLE_CURSES-totalcurses] more times."))) qdel(src) #undef MAX_SHUTTLE_CURSES @@ -576,9 +576,9 @@ /obj/item/cult_shift/examine(mob/user) . = ..() if(uses) - . += "It has [uses] use\s remaining." + . += span_cult("It has [uses] use\s remaining.") else - . += "It seems drained." + . += span_cult("It seems drained.") /obj/item/cult_shift/proc/handle_teleport_grab(turf/T, mob/user) var/mob/living/carbon/C = user @@ -589,12 +589,12 @@ /obj/item/cult_shift/attack_self(mob/user) if(!uses || !iscarbon(user)) - to_chat(user, "\The [src] is dull and unmoving in your hands.") + to_chat(user, span_warning("\The [src] is dull and unmoving in your hands.")) return if(!IS_CULTIST(user)) user.dropItemToGround(src, TRUE) step(src, pick(GLOB.alldirs)) - to_chat(user, "\The [src] flickers out of your hands, your connection to this dimension is too strong!") + to_chat(user, span_warning("\The [src] flickers out of your hands, your connection to this dimension is too strong!")) return var/mob/living/carbon/C = user @@ -617,7 +617,7 @@ playsound(destination, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) else - to_chat(C, "The veil cannot be torn here!") + to_chat(C, span_warning("The veil cannot be torn here!")) /obj/item/flashlight/flare/culttorch name = "void torch" @@ -672,7 +672,7 @@ else ..() - to_chat(user, "\The [src] can only transport items!") + to_chat(user, span_warning("\The [src] can only transport items!")) /obj/item/melee/cultblade/halberd @@ -734,9 +734,9 @@ if(IS_CULTIST(L)) playsound(src, 'sound/weapons/throwtap.ogg', 50) if(L.put_in_active_hand(src)) - L.visible_message("[L] catches [src] out of the air!") + L.visible_message(span_warning("[L] catches [src] out of the air!")) else - L.visible_message("[src] bounces off of [L], as if repelled by an unseen force!") + L.visible_message(span_warning("[src] bounces off of [L], as if repelled by an unseen force!")) else if(!..()) if(!L.anti_magic_check()) L.Paralyze(50) @@ -749,7 +749,7 @@ if(!T) T = get_turf(src) if(T) - T.visible_message("[src] shatters and melts back into blood!") + T.visible_message(span_warning("[src] shatters and melts back into blood!")) new /obj/effect/temp_visual/cult/sparks(T) new /obj/effect/decal/cleanable/blood/splatter(T) playsound(T, 'sound/effects/glassbr3.ogg', 100) @@ -760,13 +760,13 @@ final_block_chance *= 2 if(IS_CULTIST(owner) && prob(final_block_chance)) if(attack_type == PROJECTILE_ATTACK) - owner.visible_message("[owner] deflects [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] deflects [attack_text] with [src]!")) playsound(get_turf(owner), pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) new /obj/effect/temp_visual/cult/sparks(get_turf(owner)) return TRUE else playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] parries [attack_text] with [src]!")) new /obj/effect/temp_visual/cult/sparks(get_turf(owner)) return TRUE else @@ -792,13 +792,13 @@ var/halberd_location = get_turf(halberd) var/owner_location = get_turf(owner) if(get_dist(owner_location, halberd_location) > 10) - to_chat(owner,"The halberd is too far away!") + to_chat(owner,span_cult("The halberd is too far away!")) else cooldown = world.time + 20 if(isliving(halberd.loc)) var/mob/living/current_owner = halberd.loc current_owner.dropItemToGround(halberd) - current_owner.visible_message("An unseen force pulls the bloody halberd from [current_owner]'s hands!") + current_owner.visible_message(span_warning("An unseen force pulls the bloody halberd from [current_owner]'s hands!")) halberd.throw_at(owner, 10, 2, owner) @@ -813,7 +813,7 @@ /obj/item/gun/ballistic/rifle/enchanted/arcane_barrage/blood/can_trigger_gun(mob/living/user) . = ..() if(!IS_CULTIST(user)) - to_chat(user, "\"Did you truly think that you could channel MY blood without my approval? Amusing, but futile.\"") + to_chat(user, span_cultlarge("\"Did you truly think that you could channel MY blood without my approval? Amusing, but futile.\"")) if(iscarbon(user)) var/mob/living/carbon/C = user if(C.active_hand_index == 1) @@ -995,7 +995,7 @@ if(P.damage_type == BRUTE || P.damage_type == BURN) if(P.damage >= 30) var/turf/T = get_turf(owner) - T.visible_message("The sheer force from [P] shatters the mirror shield!") + T.visible_message(span_warning("The sheer force from [P] shatters the mirror shield!")) new /obj/effect/temp_visual/cult/sparks(T) playsound(T, 'sound/effects/glassbr3.ogg', 100) owner.Paralyze(25) @@ -1027,7 +1027,7 @@ H.faction = list("cult") H.GiveTarget(owner) H.move_to_delay = owner.cached_multiplicative_slowdown - to_chat(owner, "[src] betrays you!") + to_chat(owner, span_danger("[src] betrays you!")) return FALSE /obj/item/shield/mirror/proc/readd() @@ -1049,9 +1049,9 @@ if(IS_CULTIST(L)) playsound(src, 'sound/weapons/throwtap.ogg', 50) if(L.put_in_active_hand(src)) - L.visible_message("[L] catches [src] out of the air!") + L.visible_message(span_warning("[L] catches [src] out of the air!")) else - L.visible_message("[src] bounces off of [L], as if repelled by an unseen force!") + L.visible_message(span_warning("[src] bounces off of [L], as if repelled by an unseen force!")) else if(!..()) if(!L.anti_magic_check()) L.Paralyze(30) diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index 6f954779b6a..536ed60b533 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -11,7 +11,7 @@ /obj/structure/destructible/cult/proc/conceal() //for spells that hide cult presence density = FALSE - visible_message("[src] fades away.") + visible_message(span_danger("[src] fades away.")) invisibility = INVISIBILITY_OBSERVER alpha = 100 //To help ghosts distinguish hidden runes set_light_power(0) @@ -22,7 +22,7 @@ /obj/structure/destructible/cult/proc/reveal() //for spells that reveal cult presence density = initial(density) invisibility = 0 - visible_message("[src] suddenly appears!") + visible_message(span_danger("[src] suddenly appears!")) alpha = initial(alpha) set_light_range(initial(light_range)) set_light_power(initial(light_power)) @@ -32,10 +32,10 @@ /obj/structure/destructible/cult/examine(mob/user) . = ..() - . += "\The [src] is [anchored ? "":"not "]secured to the floor." + . += span_notice("\The [src] is [anchored ? "":"not "]secured to the floor.") if(IS_CULTIST(user) || isobserver(user)) if(cultist_examine_message) - . += "[cultist_examine_message]" + . += span_cult("[cultist_examine_message]") if(cooldowntime > world.time) . += "The magic in [src] is too weak, [p_they()] will be ready to use again in [DisplayTimeText(cooldowntime - world.time)]." @@ -43,7 +43,7 @@ if(IS_CULTIST(user) || isobserver(user)) var/t_It = p_they(TRUE) var/t_is = p_are() - return "[t_It] [t_is] at [round(obj_integrity * 100 / max_integrity)]% stability." + return span_cult("[t_It] [t_is] at [round(obj_integrity * 100 / max_integrity)]% stability.") return ..() /obj/structure/destructible/cult/attack_animal(mob/living/simple_animal/user, list/modifiers) @@ -52,10 +52,10 @@ user.changeNext_move(CLICK_CD_MELEE) obj_integrity = min(max_integrity, obj_integrity + 5) Beam(user, icon_state="sendbeam", time=4) - user.visible_message("[user] repairs \the [src].", \ - "You repair [src], leaving [p_they()] at [round(obj_integrity * 100 / max_integrity)]% stability.") + user.visible_message(span_danger("[user] repairs \the [src]."), \ + span_cult("You repair [src], leaving [p_they()] at [round(obj_integrity * 100 / max_integrity)]% stability.")) else - to_chat(user, "You cannot repair [src], as [p_theyre()] undamaged!") + to_chat(user, span_cult("You cannot repair [src], as [p_theyre()] undamaged!")) else ..() @@ -72,7 +72,7 @@ /obj/structure/destructible/cult/attackby(obj/I, mob/user, params) if(istype(I, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) set_anchored(!anchored) - to_chat(user, "You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.") + to_chat(user, span_notice("You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.")) else return ..() @@ -95,10 +95,10 @@ if(.) return if(!IS_CULTIST(user)) - to_chat(user, "You're pretty sure you know exactly what this is used for and you can't seem to touch it.") + to_chat(user, span_warning("You're pretty sure you know exactly what this is used for and you can't seem to touch it.")) return if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") + to_chat(user, span_cultitalic("You need to anchor [src] to the floor with your dagger first.")) return if(cooldowntime > world.time) to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") @@ -123,7 +123,7 @@ cooldowntime = world.time + 2400 for(var/N in pickedtype) new N(get_turf(src)) - to_chat(user, "You kneel before the altar and your faith is rewarded with the [choice]!") + to_chat(user, span_cultitalic("You kneel before the altar and your faith is rewarded with the [choice]!")) /obj/structure/destructible/cult/forge name = "daemon forge" @@ -139,10 +139,10 @@ if(.) return if(!IS_CULTIST(user)) - to_chat(user, "The heat radiating from [src] pushes you back.") + to_chat(user, span_warning("The heat radiating from [src] pushes you back.")) return if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") + to_chat(user, span_cultitalic("You need to anchor [src] to the floor with your dagger first.")) return if(cooldowntime > world.time) to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") @@ -167,7 +167,7 @@ cooldowntime = world.time + 2400 for(var/N in pickedtype) new N(get_turf(src)) - to_chat(user, "You work the forge as dark knowledge guides your hands, creating the [choice]!") + to_chat(user, span_cultitalic("You work the forge as dark knowledge guides your hands, creating the [choice]!")) @@ -260,10 +260,10 @@ if(.) return if(!IS_CULTIST(user)) - to_chat(user, "These books won't open and it hurts to even try and read the covers.") + to_chat(user, span_warning("These books won't open and it hurts to even try and read the covers.")) return if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") + to_chat(user, span_cultitalic("You need to anchor [src] to the floor with your dagger first.")) return if(cooldowntime > world.time) to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") @@ -289,7 +289,7 @@ cooldowntime = world.time + 2400 for(var/N in pickedtype) new N(get_turf(src)) - to_chat(user, "You summon the [choice] from the archives!") + to_chat(user, span_cultitalic("You summon the [choice] from the archives!")) /obj/effect/gateway name = "gateway" diff --git a/code/modules/antagonists/cult/ritual.dm b/code/modules/antagonists/cult/ritual.dm index a3f6f454b84..5696440b8f3 100644 --- a/code/modules/antagonists/cult/ritual.dm +++ b/code/modules/antagonists/cult/ritual.dm @@ -25,7 +25,7 @@ This file contains the cult dagger and rune list code /obj/item/melee/cultblade/dagger/attack(mob/living/M, mob/living/user) if(IS_CULTIST(M)) if(M.has_reagent(/datum/reagent/water/holywater)) //allows cultists to be rescued from the clutches of ordained religion - to_chat(user, "You remove the taint from [M]." ) + to_chat(user, span_cult("You remove the taint from [M].") ) var/holy2unholy = M.reagents.get_reagent_amount(/datum/reagent/water/holywater) M.reagents.del_reagent(/datum/reagent/water/holywater) //For carbons we also want to clear out the stomach of any holywater @@ -42,7 +42,7 @@ This file contains the cult dagger and rune list code /obj/item/melee/cultblade/dagger/attack_self(mob/user) if(!IS_CULTIST(user)) - to_chat(user, "[src] is covered in unintelligible shapes and markings.") + to_chat(user, span_warning("[src] is covered in unintelligible shapes and markings.")) return scribe_rune(user) @@ -82,7 +82,7 @@ This file contains the cult dagger and rune list code if(!src || QDELETED(src) || !Adjacent(user) || user.incapacitated() || !check_rune_turf(Turf, user)) return if(ispath(rune_to_scribe, /obj/effect/rune/summon) && (!is_station_level(Turf.z) || initial(A.name) == "Space")) - to_chat(user, "The veil is not weak enough here to summon a cultist, you must be on station!") + to_chat(user, span_cultitalic("The veil is not weak enough here to summon a cultist, you must be on station!")) return if(ispath(rune_to_scribe, /obj/effect/rune/apocalypse)) if((world.time - SSticker.round_start_time) <= 6000) @@ -91,41 +91,41 @@ This file contains the cult dagger and rune list code return var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives if(!(A in summon_objective.summon_spots)) - to_chat(user, "The Apocalypse rune will remove a ritual site (where Nar'Sie can be summoned), it can only be scribed in [english_list(summon_objective.summon_spots)]!") + to_chat(user, span_cultlarge("The Apocalypse rune will remove a ritual site (where Nar'Sie can be summoned), it can only be scribed in [english_list(summon_objective.summon_spots)]!")) return if(summon_objective.summon_spots.len < 2) - to_chat(user, "Only one ritual site remains - it must be reserved for the final summoning!") + to_chat(user, span_cultlarge("Only one ritual site remains - it must be reserved for the final summoning!")) return if(ispath(rune_to_scribe, /obj/effect/rune/narsie)) var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives var/datum/objective/sacrifice/sac_objective = locate() in user_antag.cult_team.objectives if(!summon_objective) - to_chat(user, "Nar'Sie does not wish to be summoned!") + to_chat(user, span_warning("Nar'Sie does not wish to be summoned!")) return if(sac_objective && !sac_objective.check_completion()) - to_chat(user, "The sacrifice is not complete. The portal would lack the power to open if you tried!") + to_chat(user, span_warning("The sacrifice is not complete. The portal would lack the power to open if you tried!")) return if(summon_objective.check_completion()) - to_chat(user, "\"I am already here. There is no need to try to summon me now.\"") + to_chat(user, span_cultlarge("\"I am already here. There is no need to try to summon me now.\"")) return if(!(A in summon_objective.summon_spots)) - to_chat(user, "The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!") + to_chat(user, span_cultlarge("The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!")) return var/confirm_final = tgui_alert(user, "This is the FINAL step to summon Nar'Sie; it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", list("My life for Nar'Sie!", "No")) if(confirm_final == "No") - to_chat(user, "You decide to prepare further before scribing the rune.") + to_chat(user, span_cult("You decide to prepare further before scribing the rune.")) return Turf = get_turf(user) A = get_area(src) if(!(A in summon_objective.summon_spots)) // Check again to make sure they didn't move - to_chat(user, "The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!") + to_chat(user, span_cultlarge("The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!")) return priority_announce("Figments from an eldritch god are being summoned by [user] into [initial(A.name)] from an unknown dimension. Disrupt the ritual at all costs!","Central Command Higher Dimensional Affairs", ANNOUNCER_SPANOMALIES) for(var/B in spiral_range_turfs(1, user, 1)) var/obj/structure/emergency_shield/cult/narsie/N = new(B) shields += N - user.visible_message("[user] [user.blood_volume ? "cuts open [user.p_their()] arm and begins writing in [user.p_their()] own blood":"begins sketching out a strange design"]!", \ - "You [user.blood_volume ? "slice open your arm and ":""]begin drawing a sigil of the Geometer.") + user.visible_message(span_warning("[user] [user.blood_volume ? "cuts open [user.p_their()] arm and begins writing in [user.p_their()] own blood":"begins sketching out a strange design"]!"), \ + span_cult("You [user.blood_volume ? "slice open your arm and ":""]begin drawing a sigil of the Geometer.")) if(user.blood_volume) user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM), wound_bonus = CANT_WOUND) // *cuts arm* *bone explodes* ever have one of those days? var/scribe_mod = initial(rune_to_scribe.scribe_delay) @@ -139,26 +139,26 @@ This file contains the cult dagger and rune list code return if(!check_rune_turf(Turf, user)) return - user.visible_message("[user] creates a strange circle[user.blood_volume ? " in [user.p_their()] own blood":""].", \ - "You finish drawing the arcane markings of the Geometer.") + user.visible_message(span_warning("[user] creates a strange circle[user.blood_volume ? " in [user.p_their()] own blood":""]."), \ + span_cult("You finish drawing the arcane markings of the Geometer.")) for(var/V in shields) var/obj/structure/emergency_shield/S = V if(S && !QDELETED(S)) qdel(S) var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword) R.add_mob_blood(user) - to_chat(user, "The [lowertext(R.cultist_name)] rune [R.cultist_desc]") + to_chat(user, span_cult("The [lowertext(R.cultist_name)] rune [R.cultist_desc]")) SSblackbox.record_feedback("tally", "cult_runes_scribed", 1, R.cultist_name) /obj/item/melee/cultblade/dagger/proc/check_rune_turf(turf/T, mob/user) if(isspaceturf(T)) - to_chat(user, "You cannot scribe runes in space!") + to_chat(user, span_warning("You cannot scribe runes in space!")) return FALSE if(locate(/obj/effect/rune) in T) - to_chat(user, "There is already a rune here.") + to_chat(user, span_cult("There is already a rune here.")) return FALSE var/area/A = get_area(T) if((!is_station_level(T.z) && !is_mining_level(T.z)) || (A && !(A.area_flags & CULT_PERMITTED))) - to_chat(user, "The veil is not weak enough here.") + to_chat(user, span_warning("The veil is not weak enough here.")) return FALSE return TRUE diff --git a/code/modules/antagonists/cult/rune_spawn_action.dm b/code/modules/antagonists/cult/rune_spawn_action.dm index 25d8deade8c..910b454607e 100644 --- a/code/modules/antagonists/cult/rune_spawn_action.dm +++ b/code/modules/antagonists/cult/rune_spawn_action.dm @@ -23,13 +23,13 @@ if(!T) return FALSE if(isspaceturf(T)) - to_chat(owner, "You cannot scribe runes in space!") + to_chat(owner, span_warning("You cannot scribe runes in space!")) return FALSE if(locate(/obj/effect/rune) in T) - to_chat(owner, "There is already a rune here.") + to_chat(owner, span_cult("There is already a rune here.")) return FALSE if(!is_station_level(T.z) && !is_mining_level(T.z)) - to_chat(owner, "The veil is not weak enough here.") + to_chat(owner, span_warning("The veil is not weak enough here.")) return FALSE return TRUE diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 5a80d38c279..44340b05ce7 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -70,14 +70,14 @@ Runes can either be invoked by one's self or with many different cultists. Each if(log_when_erased) log_game("[cultist_name] rune erased by [key_name(user)] with [I.name]") message_admins("[ADMIN_LOOKUPFLW(user)] erased a [cultist_name] rune with [I.name]") - to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.") + to_chat(user, span_notice("You carefully erase the [lowertext(cultist_name)] rune.")) qdel(src) else if(istype(I, /obj/item/nullrod)) if(log_when_erased) log_game("[cultist_name] rune erased by [key_name(user)] using a null rod") message_admins("[ADMIN_LOOKUPFLW(user)] erased a [cultist_name] rune with a null rod") user.say("BEGONE FOUL MAGIKS!!", forced = "nullrod") - to_chat(user, "You disrupt the magic of [src] with [I].") + to_chat(user, span_danger("You disrupt the magic of [src] with [I].")) SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_NARNAR] = TRUE qdel(src) @@ -86,33 +86,33 @@ Runes can either be invoked by one's self or with many different cultists. Each if(.) return if(!IS_CULTIST(user)) - to_chat(user, "You aren't able to understand the words of [src].") + to_chat(user, span_warning("You aren't able to understand the words of [src].")) return var/list/invokers = can_invoke(user) if(invokers.len >= req_cultists) invoke(invokers) else - to_chat(user, "You need [req_cultists - invokers.len] more adjacent cultists to use this rune in such a manner.") + to_chat(user, span_danger("You need [req_cultists - invokers.len] more adjacent cultists to use this rune in such a manner.")) fail_invoke() /obj/effect/rune/attack_animal(mob/living/simple_animal/user, list/modifiers) if(istype(user, /mob/living/simple_animal/shade) || istype(user, /mob/living/simple_animal/hostile/construct)) if(istype(user, /mob/living/simple_animal/hostile/construct/wraith/angelic) || istype(user, /mob/living/simple_animal/hostile/construct/juggernaut/angelic) || istype(user, /mob/living/simple_animal/hostile/construct/artificer/angelic)) - to_chat(user, "You purge the rune!") + to_chat(user, span_warning("You purge the rune!")) qdel(src) else if(construct_invoke || !IS_CULTIST(user)) //if you're not a cult construct we want the normal fail message attack_hand(user) else - to_chat(user, "You are unable to invoke the rune!") + to_chat(user, span_warning("You are unable to invoke the rune!")) /obj/effect/rune/proc/conceal() //for talisman of revealing/hiding - visible_message("[src] fades away.") + visible_message(span_danger("[src] fades away.")) invisibility = INVISIBILITY_OBSERVER alpha = 100 //To help ghosts distinguish hidden runes /obj/effect/rune/proc/reveal() //for talisman of revealing/hiding invisibility = 0 - visible_message("[src] suddenly appears!") + visible_message(span_danger("[src] suddenly appears!")) alpha = initial(alpha) /* @@ -168,7 +168,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/proc/fail_invoke() //This proc contains the effects of a rune if it is not invoked correctly, through either invalid wording or not enough cultists. By default, it's just a basic fizzle. - visible_message("The markings pulse with a small flash of red light, then fall dark.") + visible_message(span_warning("The markings pulse with a small flash of red light, then fall dark.")) var/oldcolor = color color = rgb(255, 0, 0) animate(src, color = oldcolor, time = 5) @@ -217,7 +217,7 @@ structure_check() searches for nearby cultist structures required for the invoca log_game("Offer rune failed - no eligible targets") return rune_in_use = TRUE - visible_message("[src] pulses blood red!") + visible_message(span_warning("[src] pulses blood red!")) var/oldcolor = color color = RUNE_COLOR_DARKRED var/mob/living/L = pick(myriad_targets) @@ -243,12 +243,12 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/convert/proc/do_convert(mob/living/convertee, list/invokers) if(invokers.len < 2) for(var/M in invokers) - to_chat(M, "You need at least two invokers to convert [convertee]!") + to_chat(M, span_warning("You need at least two invokers to convert [convertee]!")) log_game("Offer rune failed - tried conversion with one invoker") return FALSE if(convertee.anti_magic_check(TRUE, TRUE, FALSE, 0)) //Not chargecost because it can be spammed for(var/M in invokers) - to_chat(M, "Something is shielding [convertee]'s mind!") + to_chat(M, span_warning("Something is shielding [convertee]'s mind!")) log_game("Offer rune failed - convertee had anti-magic") return FALSE var/brutedamage = convertee.getBruteLoss() @@ -258,7 +258,7 @@ structure_check() searches for nearby cultist structures required for the invoca convertee.adjustFireLoss(-(burndamage * 0.75)) convertee.visible_message("[convertee] writhes in pain \ [brutedamage || burndamage ? "even as [convertee.p_their()] wounds heal and close" : "as the markings below [convertee.p_them()] glow a bloody red"]!", \ - "AAAAAAAAAAAAAA-") + span_cultlarge("AAAAAAAAAAAAAA-")) convertee.mind?.add_antag_datum(/datum/antagonist/cult) convertee.Unconscious(100) new /obj/item/melee/cultblade/dagger(get_turf(src)) @@ -304,12 +304,12 @@ structure_check() searches for nearby cultist structures required for the invoca new /obj/effect/temp_visual/cult/sac(get_turf(src)) for(var/M in invokers) if(big_sac) - to_chat(M, "\"Yes! This is the one I desire! You have done well.\"") + to_chat(M, span_cultlarge("\"Yes! This is the one I desire! You have done well.\"")) else if(ishuman(sacrificial) || iscyborg(sacrificial)) - to_chat(M, "\"I accept this sacrifice.\"") + to_chat(M, span_cultlarge("\"I accept this sacrifice.\"")) else - to_chat(M, "\"I accept this meager sacrifice.\"") + to_chat(M, span_cultlarge("\"I accept this meager sacrifice.\"")) var/obj/item/soulstone/stone = new /obj/item/soulstone(get_turf(src)) if(sacrificial.mind && !sacrificial.suiciding) @@ -376,7 +376,7 @@ structure_check() searches for nearby cultist structures required for the invoca potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T if(!potential_runes.len) - to_chat(user, "There are no valid runes to teleport to!") + to_chat(user, span_warning("There are no valid runes to teleport to!")) log_game("Teleport rune failed - no other teleport runes") fail_invoke() return @@ -396,7 +396,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/turf/target = get_turf(actual_selected_rune) if(target.is_blocked_turf(TRUE)) - to_chat(user, "The target rune is blocked. Attempting to teleport to it would be massively unwise.") + to_chat(user, span_warning("The target rune is blocked. Attempting to teleport to it would be massively unwise.")) fail_invoke() return var/movedsomething = FALSE @@ -425,10 +425,10 @@ structure_check() searches for nearby cultist structures required for the invoca if(do_teleport(user, target, channel = TELEPORT_CHANNEL_CULT)) movesuccess = TRUE if(movesuccess) - visible_message("There is a sharp crack of inrushing air, and everything above the rune disappears!", null, "You hear a sharp crack.") - to_chat(user, "You[moveuserlater ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].") + visible_message(span_warning("There is a sharp crack of inrushing air, and everything above the rune disappears!"), null, "You hear a sharp crack.") + to_chat(user, span_cult("You[moveuserlater ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].")) else - to_chat(user, "You[moveuserlater ? "r vision blurs briefly, but nothing happens":" try send everything above the rune away, but the teleportation fails"].") + to_chat(user, span_cult("You[moveuserlater ? "r vision blurs briefly, but nothing happens":" try send everything above the rune away, but the teleportation fails"].")) if(is_mining_level(z) && !is_mining_level(target.z)) //No effect if you stay on lavaland actual_selected_rune.handle_portal("lava") else @@ -436,7 +436,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(initial(A.name) == "Space") actual_selected_rune.handle_portal("space", T) if(movesuccess) - target.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") + target.visible_message(span_warning("There is a boom of outrushing air as something appears above the rune!"), null, "You hear a boom.") else fail_invoke() @@ -498,11 +498,11 @@ structure_check() searches for nearby cultist structures required for the invoca var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives var/area/place = get_area(src) if(!(place in summon_objective.summon_spots)) - to_chat(user, "The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!") + to_chat(user, span_cultlarge("The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!")) return if(locate(/obj/narsie) in GLOB.poi_list) for(var/M in invokers) - to_chat(M, "Nar'Sie is already on this plane!") + to_chat(M, span_warning("Nar'Sie is already on this plane!")) log_game("Nar'Sie rune failed - already summoned") return //BEGIN THE SUMMONING @@ -560,7 +560,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(mob_to_revive.stat == DEAD) var/diff = LAZYLEN(GLOB.sacrificed) - SOULS_TO_REVIVE - sacrifices_used if(diff < 0) - to_chat(user, "Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!") + to_chat(user, span_warning("Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!")) fail_invoke() return sacrifices_used += SOULS_TO_REVIVE @@ -579,9 +579,9 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() return SEND_SOUND(mob_to_revive, 'sound/ambience/antag/bloodcult.ogg') - to_chat(mob_to_revive, "\"PASNAR SAVRAE YAM'TOTH. Arise.\"") - mob_to_revive.visible_message("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \ - "You awaken suddenly from the void. You're alive!") + to_chat(mob_to_revive, span_cultlarge("\"PASNAR SAVRAE YAM'TOTH. Arise.\"")) + mob_to_revive.visible_message(span_warning("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes."), \ + span_cultlarge("You awaken suddenly from the void. You're alive!")) rune_in_use = FALSE /obj/effect/rune/raise_dead/proc/validness_checks(mob/living/target_mob, mob/living/user) @@ -603,7 +603,7 @@ structure_check() searches for nearby cultist structures required for the invoca rune_in_use = FALSE for(var/mob/living/M in range(1,src)) if(IS_CULTIST(M) && M.stat == DEAD) - M.visible_message("[M] twitches.") + M.visible_message(span_warning("[M] twitches.")) //Rite of the Corporeal Shield: When invoked, becomes solid and cannot be passed. Invoke again to undo. /obj/effect/rune/wall @@ -680,10 +680,10 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() log_game("Summon Cultist rune failed - target in away mission") return - cultist_to_summon.visible_message("[cultist_to_summon] suddenly disappears in a flash of red light!", \ + cultist_to_summon.visible_message(span_warning("[cultist_to_summon] suddenly disappears in a flash of red light!"), \ "Overwhelming vertigo consumes you as you are hurled through the air!") ..() - visible_message("A foggy shape materializes atop [src] and solidifies into [cultist_to_summon]!") + visible_message(span_warning("A foggy shape materializes atop [src] and solidifies into [cultist_to_summon]!")) cultist_to_summon.forceMove(get_turf(src)) qdel(src) @@ -710,7 +710,7 @@ structure_check() searches for nearby cultist structures required for the invoca ..() rune_in_use = TRUE var/turf/T = get_turf(src) - visible_message("[src] turns a bright, glowing orange!") + visible_message(span_warning("[src] turns a bright, glowing orange!")) color = "#FC9B54" set_light(6, 1, color) for(var/mob/living/L in viewers(T)) @@ -718,9 +718,9 @@ structure_check() searches for nearby cultist structures required for the invoca var/atom/I = L.anti_magic_check(chargecost = 0) if(I) if(isitem(I)) - to_chat(L, "[I] suddenly burns hotly before returning to normal!") + to_chat(L, span_userdanger("[I] suddenly burns hotly before returning to normal!")) continue - to_chat(L, "Your blood boils in your veins!") + to_chat(L, span_cultlarge("Your blood boils in your veins!")) animate(src, color = "#FCB56D", time = 4) sleep(4) if(QDELETED(src)) @@ -784,10 +784,10 @@ structure_check() searches for nearby cultist structures required for the invoca var/choice = tgui_alert(user,"You tear open a connection to the spirit realm...",,list("Summon a Cult Ghost","Ascend as a Dark Spirit","Cancel")) if(choice == "Summon a Cult Ghost") if(!is_station_level(T.z)) - to_chat(user, "The veil is not weak enough here to manifest spirits, you must be on station!") + to_chat(user, span_cultitalic("The veil is not weak enough here to manifest spirits, you must be on station!")) return if(ghosts >= ghost_limit) - to_chat(user, "You are sustaining too many ghosts to summon more!") + to_chat(user, span_cultitalic("You are sustaining too many ghosts to summon more!")) fail_invoke() log_game("Manifest rune failed - too many summoned ghosts") return list() @@ -797,7 +797,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(O.client && !is_banned_from(O.ckey, ROLE_CULTIST) && !QDELETED(src) && !(isAdminObserver(O) && (O.client.prefs.toggles & ADMIN_IGNORE_CULT_GHOST)) && !QDELETED(O)) ghosts_on_rune += O if(!ghosts_on_rune.len) - to_chat(user, "There are no spirits near [src]!") + to_chat(user, span_cultitalic("There are no spirits near [src]!")) fail_invoke() log_game("Manifest rune failed - no nearby ghosts") return list() @@ -810,12 +810,12 @@ structure_check() searches for nearby cultist structures required for the invoca new_human.see_invisible = SEE_INVISIBLE_OBSERVER ghosts++ playsound(src, 'sound/magic/exit_blood.ogg', 50, TRUE) - visible_message("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo":""]man.") - to_chat(user, "Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...") + visible_message(span_warning("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo":""]man.")) + to_chat(user, span_cultitalic("Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...")) var/obj/structure/emergency_shield/cult/weak/N = new(T) new_human.key = ghost_to_spawn.key new_human.mind?.add_antag_datum(/datum/antagonist/cult) - to_chat(new_human, "You are a servant of the Geometer. You have been made semi-corporeal by the cult of Nar'Sie, and you are to serve them at all costs.") + to_chat(new_human, span_cultitalic("You are a servant of the Geometer. You have been made semi-corporeal by the cult of Nar'Sie, and you are to serve them at all costs.")) while(!QDELETED(src) && !QDELETED(user) && !QDELETED(new_human) && (user in T)) if(user.stat != CONSCIOUS || HAS_TRAIT(new_human, TRAIT_CRITICAL_CONDITION)) @@ -826,16 +826,16 @@ structure_check() searches for nearby cultist structures required for the invoca qdel(N) ghosts-- if(new_human) - new_human.visible_message("[new_human] suddenly dissolves into bones and ashes.", \ - "Your link to the world fades. Your form breaks apart.") + new_human.visible_message(span_warning("[new_human] suddenly dissolves into bones and ashes."), \ + span_cultlarge("Your link to the world fades. Your form breaks apart.")) for(var/obj/I in new_human) new_human.dropItemToGround(I, TRUE) new_human.dust() else if(choice == "Ascend as a Dark Spirit") affecting = user affecting.add_atom_colour(RUNE_COLOR_DARKRED, ADMIN_COLOUR_PRIORITY) - affecting.visible_message("[affecting] freezes statue-still, glowing an unearthly red.", \ - "You see what lies beyond. All is revealed. In this form you find that your voice booms louder and you can mark targets for the entire cult") + affecting.visible_message(span_warning("[affecting] freezes statue-still, glowing an unearthly red."), \ + span_cult("You see what lies beyond. All is revealed. In this form you find that your voice booms louder and you can mark targets for the entire cult")) var/mob/dead/observer/G = affecting.ghostize(1) var/datum/action/innate/cult/comm/spirit/CM = new var/datum/action/innate/cult/ghostmark/GM = new @@ -845,16 +845,16 @@ structure_check() searches for nearby cultist structures required for the invoca GM.Grant(G) while(!QDELETED(affecting)) if(!(affecting in T)) - user.visible_message("A spectral tendril wraps around [affecting] and pulls [affecting.p_them()] back to the rune!") + user.visible_message(span_warning("A spectral tendril wraps around [affecting] and pulls [affecting.p_them()] back to the rune!")) Beam(affecting, icon_state="drainbeam", time = 2) affecting.forceMove(get_turf(src)) //NO ESCAPE :^) if(affecting.key) - affecting.visible_message("[affecting] slowly relaxes, the glow around [affecting.p_them()] dimming.", \ - "You are re-united with your physical form. [src] releases its hold over you.") + affecting.visible_message(span_warning("[affecting] slowly relaxes, the glow around [affecting.p_them()] dimming."), \ + span_danger("You are re-united with your physical form. [src] releases its hold over you.")) affecting.Paralyze(40) break if(affecting.health <= 10) - to_chat(G, "Your body can no longer sustain the connection!") + to_chat(G, span_cultitalic("Your body can no longer sustain the connection!")) break sleep(5) CM.Remove(G) @@ -895,10 +895,10 @@ structure_check() searches for nearby cultist structures required for the invoca var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives if(summon_objective.summon_spots.len <= 1) - to_chat(user, "Only one ritual site remains - it must be reserved for the final summoning!") + to_chat(user, span_cultlarge("Only one ritual site remains - it must be reserved for the final summoning!")) return if(!(place in summon_objective.summon_spots)) - to_chat(user, "The Apocalypse rune will remove a ritual site, where Nar'Sie can be summoned, it can only be scribed in [english_list(summon_objective.summon_spots)]!") + to_chat(user, span_cultlarge("The Apocalypse rune will remove a ritual site, where Nar'Sie can be summoned, it can only be scribed in [english_list(summon_objective.summon_spots)]!")) return summon_objective.summon_spots -= place rune_in_use = TRUE @@ -911,7 +911,7 @@ structure_check() searches for nearby cultist structures required for the invoca intensity = max(60, 360 - (360*(intensity/GLOB.player_list.len + 0.3)**2)) //significantly lower intensity for "winning" cults var/duration = intensity*10 playsound(T, 'sound/magic/enter_blood.ogg', 100, TRUE) - visible_message("A colossal shockwave of energy bursts from the rune, disintegrating it in the process!") + visible_message(span_warning("A colossal shockwave of energy bursts from the rune, disintegrating it in the process!")) for(var/mob/living/L in range(src, 3)) L.Paralyze(30) empulse(T, 0.42*(intensity), 1) @@ -945,7 +945,7 @@ structure_check() searches for nearby cultist structures required for the invoca addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), duration) images += C else - to_chat(M, "An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!") + to_chat(M, span_cultlarge("An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!")) SEND_SOUND(M, 'sound/effects/pope_entry.ogg') image_handler(images, duration) if(intensity>=285) // Based on the prior formula, this means the cult makes up <15% of current players diff --git a/code/modules/antagonists/disease/disease_abilities.dm b/code/modules/antagonists/disease/disease_abilities.dm index 0cdb2b7f631..527969b9b34 100644 --- a/code/modules/antagonists/disease/disease_abilities.dm +++ b/code/modules/antagonists/disease/disease_abilities.dm @@ -76,7 +76,7 @@ new /datum/disease_ability/symptom/powerful/youth resistance += initial(S.resistance) stage_speed += initial(S.stage_speed) transmittable += initial(S.transmittable) - threshold_block += initial(S.threshold_descs) + threshold_block += initial(S.threshold_descs) stat_block = "Resistance: [resistance]
    Stealth: [stealth]
    Stage Speed: [stage_speed]
    Transmissibility: [transmittable]

    " if(symptoms.len == 1) //lazy boy's dream name = initial(S.name) @@ -94,7 +94,7 @@ new /datum/disease_ability/symptom/powerful/youth /datum/disease_ability/proc/Buy(mob/camera/disease/D, silent = FALSE, trigger_cooldown = TRUE) if(!silent) - to_chat(D, "Purchased [name].") + to_chat(D, span_notice("Purchased [name].")) D.points -= cost D.unpurchased_abilities -= src if(trigger_cooldown) @@ -123,7 +123,7 @@ new /datum/disease_ability/symptom/powerful/youth /datum/disease_ability/proc/Refund(mob/camera/disease/D, silent = FALSE, trigger_cooldown = TRUE) if(!silent) - to_chat(D, "Refunded [name].") + to_chat(D, span_notice("Refunded [name].")) D.points += cost D.unpurchased_abilities[src] = TRUE if(trigger_cooldown) @@ -180,9 +180,9 @@ new /datum/disease_ability/symptom/powerful/youth if(!L) return FALSE if(L.stat != CONSCIOUS) - to_chat(D, "Your host must be conscious to cough.") + to_chat(D, span_warning("Your host must be conscious to cough.")) return FALSE - to_chat(D, "You force [L.real_name] to cough.") + to_chat(D, span_notice("You force [L.real_name] to cough.")) L.emote("cough") if(L.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth var/datum/disease/advance/sentient_disease/SD = D.hosts[L] @@ -214,9 +214,9 @@ new /datum/disease_ability/symptom/powerful/youth if(!L) return FALSE if(L.stat != CONSCIOUS) - to_chat(D, "Your host must be conscious to sneeze.") + to_chat(D, span_warning("Your host must be conscious to sneeze.")) return FALSE - to_chat(D, "You force [L.real_name] to sneeze.") + to_chat(D, span_notice("You force [L.real_name] to sneeze.")) L.emote("sneeze") if(L.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth var/datum/disease/advance/sentient_disease/SD = D.hosts[L] diff --git a/code/modules/antagonists/disease/disease_datum.dm b/code/modules/antagonists/disease/disease_datum.dm index abd17e8791c..e1803ee246b 100644 --- a/code/modules/antagonists/disease/disease_datum.dm +++ b/code/modules/antagonists/disease/disease_datum.dm @@ -19,8 +19,8 @@ . = ..() /datum/antagonist/disease/greet() - to_chat(owner.current, "You are the [owner.special_role]!") - to_chat(owner.current, "Infect members of the crew to gain adaptation points, and spread your infection further.") + to_chat(owner.current, span_notice("You are the [owner.special_role]!")) + to_chat(owner.current, span_notice("Infect members of the crew to gain adaptation points, and spread your infection further.")) owner.announce_objectives() /datum/antagonist/disease/apply_innate_effects(mob/living/mob_override) @@ -46,9 +46,9 @@ var/count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - objectives_text += "
    Objective #[count]: [objective.explanation_text] Success!" + objectives_text += "
    Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - objectives_text += "
    Objective #[count]: [objective.explanation_text] Fail." + objectives_text += "
    Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" win = FALSE count++ @@ -57,9 +57,9 @@ var/special_role_text = lowertext(name) if(win) - result += "The [special_role_text] was successful!" + result += span_greentext("The [special_role_text] was successful!") else - result += "The [special_role_text] has failed!" + result += span_redtext("The [special_role_text] has failed!") if(istype(owner.current, /mob/camera/disease)) var/mob/camera/disease/D = owner.current diff --git a/code/modules/antagonists/disease/disease_mob.dm b/code/modules/antagonists/disease/disease_mob.dm index 4e87b88cb20..115e61f6648 100644 --- a/code/modules/antagonists/disease/disease_mob.dm +++ b/code/modules/antagonists/disease/disease_mob.dm @@ -88,7 +88,7 @@ the new instance inside the host to be updated to the template's stats. if(!. || !client) return FALSE if(freemove) - to_chat(src, "You have [DisplayTimeText(freemove_end - world.time)] to select your first host. Click on a human to select your host.") + to_chat(src, span_warning("You have [DisplayTimeText(freemove_end - world.time)] to select your first host. Click on a human to select your host.")) /mob/camera/disease/get_status_tab_items() @@ -106,10 +106,10 @@ the new instance inside the host to be updated to the template's stats. /mob/camera/disease/examine(mob/user) . = ..() if(isobserver(user)) - . += {"[src] has [points]/[total_points] adaptation points. - [src] has the following unlocked:"} + . += {"[span_notice("[src] has [points]/[total_points] adaptation points.")] + [span_notice("[src] has the following unlocked:")]"} for(var/datum/disease_ability/ability in purchased_abilities) - . += "[ability.name]" + . += span_notice("[ability.name]") /mob/camera/disease/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) if(!message) @@ -172,7 +172,7 @@ the new instance inside the host to be updated to the template's stats. set_name = "Sentient Virus" break if(taken_names[input]) - to_chat(src, "You cannot use the name of such a well-known disease!") + to_chat(src, span_warning("You cannot use the name of such a well-known disease!")) else set_name = input real_name = "[set_name] (Sentient Disease)" @@ -250,7 +250,7 @@ the new instance inside the host to be updated to the template's stats. var/datum/atom_hud/my_hud = GLOB.huds[DATA_HUD_SENTIENT_DISEASE] my_hud.add_to_hud(V.affected_mob) - to_chat(src, "A new host, [V.affected_mob.real_name], has been infected.") + to_chat(src, span_notice("A new host, [V.affected_mob.real_name], has been infected.")) if(!following_host) set_following(V.affected_mob) @@ -261,7 +261,7 @@ the new instance inside the host to be updated to the template's stats. disease_instances -= V hosts -= V.affected_mob else - to_chat(src, "One of your hosts, [V.affected_mob.real_name], has been purged of your infection.") + to_chat(src, span_notice("One of your hosts, [V.affected_mob.real_name], has been purged of your infection.")) var/datum/atom_hud/my_hud = GLOB.huds[DATA_HUD_SENTIENT_DISEASE] my_hud.remove_from_hud(V.affected_mob) @@ -273,7 +273,7 @@ the new instance inside the host to be updated to the template's stats. hosts -= V.affected_mob if(!disease_instances.len) - to_chat(src, "The last of your infection has disappeared.") + to_chat(src, span_userdanger("The last of your infection has disappeared.")) set_following(null) qdel(src) refresh_adaptation_menu() @@ -315,17 +315,17 @@ the new instance inside the host to be updated to the template's stats. if(!freemove) return if(QDELETED(H) || !force_infect(H)) - to_chat(src, "[H ? H.name : "Host"] cannot be infected.") + to_chat(src, span_warning("[H ? H.name : "Host"] cannot be infected.")) else ..() /mob/camera/disease/proc/adapt_cooldown() - to_chat(src, "You have altered your genetic structure. You will be unable to adapt again for [DisplayTimeText(adaptation_cooldown)].") + to_chat(src, span_notice("You have altered your genetic structure. You will be unable to adapt again for [DisplayTimeText(adaptation_cooldown)].")) next_adaptation_time = world.time + adaptation_cooldown addtimer(CALLBACK(src, .proc/notify_adapt_ready), adaptation_cooldown) /mob/camera/disease/proc/notify_adapt_ready() - to_chat(src, "You are now ready to adapt again.") + to_chat(src, span_notice("You are now ready to adapt again.")) refresh_adaptation_menu() /mob/camera/disease/proc/refresh_adaptation_menu() diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index 06276098634..f2200a9fd98 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -22,13 +22,13 @@ owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ecult_op.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)//subject to change to_chat(owner, "You are the Heretic!
    The old ones gave you these tasks to fulfill:") owner.announce_objectives() - to_chat(owner, "The book whispers softly, its forbidden knowledge walks this plane once again!") + to_chat(owner, span_cult("The book whispers softly, its forbidden knowledge walks this plane once again!")) var/policy = get_policy(ROLE_HERETIC) if(policy) to_chat(owner, policy) /datum/antagonist/heretic/farewell() - to_chat(owner.current, "Your mind begins to flare as the otherwordly knowledge escapes your grasp!") + to_chat(owner.current, span_userdanger("Your mind begins to flare as the otherwordly knowledge escapes your grasp!")) owner.announce_objectives() /datum/antagonist/heretic/on_gain() @@ -78,10 +78,10 @@ var/item_name = initial(item_path.name) var/where = heretic.equip_in_one_of_slots(T, slots) if(!where) - to_chat(heretic, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).") + to_chat(heretic, span_userdanger("Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).")) return FALSE else - to_chat(heretic, "You have a [item_name] in your [where].") + to_chat(heretic, span_danger("You have a [item_name] in your [where].")) if(where == "backpack") SEND_SIGNAL(heretic.back, COMSIG_TRY_STORAGE_SHOW, heretic) return TRUE @@ -181,18 +181,18 @@ for(var/o in objectives) var/datum/objective/objective = o if(objective.check_completion()) - parts += "Objective #[count]: [objective.explanation_text] Success!" + parts += "Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - parts += "Objective #[count]: [objective.explanation_text] Fail." + parts += "Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" cultiewin = FALSE count++ if(ascended) parts += "THE HERETIC ASCENDED!" else if(cultiewin) - parts += "The heretic was successful!" + parts += span_greentext("The heretic was successful!") else - parts += "The heretic has failed." + parts += span_redtext("The heretic has failed.") parts += "Knowledge Researched: " diff --git a/code/modules/antagonists/eldritch_cult/eldritch_book.dm b/code/modules/antagonists/eldritch_cult/eldritch_book.dm index 622174e6e2b..102d47b3833 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_book.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_book.dm @@ -40,7 +40,7 @@ ///Gives you a charge and destroys a corresponding influence /obj/item/forbidden_book/proc/get_power_from_influence(atom/target, mob/user) var/obj/effect/reality_smash/RS = target - to_chat(user, "You start drawing power from influence...") + to_chat(user, span_danger("You start drawing power from influence...")) if(do_after(user, 10 SECONDS, RS)) qdel(RS) charge += 1 @@ -50,10 +50,10 @@ for(var/turf/T as anything in RANGE_TURFS(1,target)) if(is_type_in_typecache(T, blacklisted_turfs)) - to_chat(user, "The terrain doesn't support runes!") + to_chat(user, span_warning("The terrain doesn't support runes!")) return var/A = get_turf(target) - to_chat(user, "You start drawing a rune...") + to_chat(user, span_danger("You start drawing a rune...")) if(do_after(user,30 SECONDS,A)) @@ -62,7 +62,7 @@ ///Removes runes from the selected turf /obj/item/forbidden_book/proc/remove_rune(atom/target,mob/user) - to_chat(user, "You start removing a rune...") + to_chat(user, span_danger("You start removing a rune...")) if(do_after(user,2 SECONDS,user)) qdel(target) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm index 90b549403a0..c922e850be5 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm @@ -30,7 +30,7 @@ . = ..() if(istype(I,/obj/item/nullrod)) user.say("BEGONE FOUL MAGIKS!!", forced = "nullrod") - to_chat(user, "You disrupt the magic of [src] with [I].") + to_chat(user, span_danger("You disrupt the magic of [src] with [I].")) qdel(src) /obj/effect/eldritch/proc/activate(mob/living/user) @@ -99,7 +99,7 @@ is_in_use = FALSE return is_in_use = FALSE - to_chat(user,"Your ritual failed! You either used the wrong components or are missing something important!") + to_chat(user,span_warning("Your ritual failed! You either used the wrong components or are missing something important!")) /obj/effect/eldritch/big name = "transmutation rune" @@ -215,15 +215,15 @@ return ..() var/mob/living/carbon/human/human_user = user if(IS_HERETIC(human_user)) - to_chat(human_user,"You know better than to tempt forces out of your control!") + to_chat(human_user,span_boldwarning("You know better than to tempt forces out of your control!")) else var/obj/item/bodypart/arm = human_user.get_active_hand() if(prob(25)) - to_chat(human_user,"An otherwordly presence tears and atomizes your arm as you try to touch the hole in the very fabric of reality!") + to_chat(human_user,span_userdanger("An otherwordly presence tears and atomizes your arm as you try to touch the hole in the very fabric of reality!")) arm.dismember() qdel(arm) else - to_chat(human_user,"You pull your hand away from the hole as the eldritch energy flails trying to latch onto existance itself!") + to_chat(human_user,span_danger("You pull your hand away from the hole as the eldritch energy flails trying to latch onto existance itself!")) /obj/effect/broken_illusion/attack_tk(mob/user) @@ -232,10 +232,10 @@ . = COMPONENT_CANCEL_ATTACK_CHAIN var/mob/living/carbon/human/human_user = user if(IS_HERETIC(human_user)) - to_chat(human_user,"You know better than to tempt forces out of your control!") + to_chat(human_user,span_boldwarning("You know better than to tempt forces out of your control!")) return //a very elaborate way to suicide - to_chat(human_user,"Eldritch energy lashes out, piercing your fragile mind, tearing it to pieces!") + to_chat(human_user,span_userdanger("Eldritch energy lashes out, piercing your fragile mind, tearing it to pieces!")) human_user.ghostize() var/obj/item/bodypart/head/head = locate() in human_user.bodyparts if(head) @@ -253,7 +253,7 @@ . = ..() if(!IS_HERETIC(user) && ishuman(user)) var/mob/living/carbon/human/human_user = user - to_chat(human_user,"Your mind burns as you stare at the tear!") + to_chat(human_user,span_warning("Your mind burns as you stare at the tear!")) human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN,10,190) SEND_SIGNAL(human_user, COMSIG_ADD_MOOD_EVENT, "gates_of_mansus", /datum/mood_event/gates_of_mansus) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_items.dm b/code/modules/antagonists/eldritch_cult/eldritch_items.dm index e1e9a1ef2d8..ea2306419df 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_items.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_items.dm @@ -12,25 +12,25 @@ if(!IS_HERETIC(user)) return if(!target) - to_chat(user,"No target could be found. Put the living heart on a transmutation rune and activate the rune to recieve a target.") + to_chat(user,span_warning("No target could be found. Put the living heart on a transmutation rune and activate the rune to recieve a target.")) return var/dist = get_dist(get_turf(user),get_turf(target)) var/dir = get_dir(get_turf(user),get_turf(target)) if(user.z != target.z) - to_chat(user,"[target.real_name] is on another plane of existence!") + to_chat(user,span_warning("[target.real_name] is on another plane of existence!")) else switch(dist) if(0 to 15) - to_chat(user,"[target.real_name] is near you. They are to the [dir2text(dir)] of you!") + to_chat(user,span_warning("[target.real_name] is near you. They are to the [dir2text(dir)] of you!")) if(16 to 31) - to_chat(user,"[target.real_name] is somewhere in your vicinity. They are to the [dir2text(dir)] of you!") + to_chat(user,span_warning("[target.real_name] is somewhere in your vicinity. They are to the [dir2text(dir)] of you!")) if(32 to 127) - to_chat(user,"[target.real_name] is far away from you. They are to the [dir2text(dir)] of you!") + to_chat(user,span_warning("[target.real_name] is far away from you. They are to the [dir2text(dir)] of you!")) else - to_chat(user,"[target.real_name] is beyond our reach.") + to_chat(user,span_warning("[target.real_name] is beyond our reach.")) if(target.stat == DEAD) - to_chat(user,"[target.real_name] is dead. Bring them to a transmutation rune!") + to_chat(user,span_warning("[target.real_name] is dead. Bring them to a transmutation rune!")) /obj/item/melee/sickly_blade name = "\improper Sickly Blade" @@ -53,7 +53,7 @@ /obj/item/melee/sickly_blade/attack(mob/living/M, mob/living/user) if(!(IS_HERETIC(user) || IS_HERETIC_MONSTER(user))) - to_chat(user,"You feel a pulse of alien intellect lash out at your mind!") + to_chat(user,span_danger("You feel a pulse of alien intellect lash out at your mind!")) var/mob/living/carbon/human/human_user = user human_user.AdjustParalyzed(5 SECONDS) return FALSE @@ -63,11 +63,11 @@ var/turf/safe_turf = find_safe_turf(zlevels = z, extended_safety_checks = TRUE) if(IS_HERETIC(user) || IS_HERETIC_MONSTER(user)) if(do_teleport(user, safe_turf, forceMove = TRUE, channel = TELEPORT_CHANNEL_MAGIC)) - to_chat(user,"As you shatter [src], you feel a gust of energy flow through your body. The Rusted Hills heard your call...") + to_chat(user,span_warning("As you shatter [src], you feel a gust of energy flow through your body. The Rusted Hills heard your call...")) else - to_chat(user,"You shatter [src], but your plea goes unanswered.") + to_chat(user,span_warning("You shatter [src], but your plea goes unanswered.")) else - to_chat(user,"You shatter [src].") + to_chat(user,span_warning("You shatter [src].")) playsound(src, "shatter", 70, TRUE) //copied from the code for smashing a glass sheet onto the ground to turn it into a shard qdel(src) @@ -89,7 +89,7 @@ /obj/item/melee/sickly_blade/examine(mob/user) . = ..() if(IS_HERETIC(user) || IS_HERETIC_MONSTER(user)) - . += "A heretic (or a servant of one) can shatter this blade to teleport to a random, mostly safe location by activating it in-hand." + . += span_notice("A heretic (or a servant of one) can shatter this blade to teleport to a random, mostly safe location by activating it in-hand.") /obj/item/melee/sickly_blade/rust name = "\improper Rusted Blade" @@ -191,7 +191,7 @@ /obj/item/clothing/suit/hooded/cultrobes/void/RemoveHood() var/mob/living/carbon/carbon_user = loc - to_chat(carbon_user,"The kaleidoscope of colours collapses around you, as the cloak shifts to visibility!") + to_chat(carbon_user,span_notice("The kaleidoscope of colours collapses around you, as the cloak shifts to visibility!")) item_flags &= ~EXAMINE_SKIP return ..() @@ -202,11 +202,11 @@ var/mob/living/carbon/carbon_user = loc if(IS_HERETIC(carbon_user) || IS_HERETIC_MONSTER(carbon_user)) . = ..() - to_chat(carbon_user,"The light shifts around you making the cloak invisible!") + to_chat(carbon_user,span_notice("The light shifts around you making the cloak invisible!")) item_flags |= EXAMINE_SKIP return - to_chat(carbon_user,"You can't force the hood onto your head!") + to_chat(carbon_user,span_danger("You can't force the hood onto your head!")) /obj/item/clothing/mask/void_mask name = "Abyssal Mask" @@ -321,7 +321,7 @@ /obj/item/melee/rune_carver/proc/carve_rune(atom/target, mob/user, proximity_flag, click_parameters) var/obj/structure/trap/eldritch/elder = locate() in range(1,target) if(elder) - to_chat(user,"You can't draw runes that close to each other!") + to_chat(user,span_notice("You can't draw runes that close to each other!")) return for(var/_rune_ref in current_runes) @@ -330,7 +330,7 @@ current_runes -= rune_ref if(current_runes.len >= max_rune_amt) - to_chat(user,"The blade cannot support more runes!") + to_chat(user,span_notice("The blade cannot support more runes!")) return var/list/pick_list = list() @@ -346,7 +346,7 @@ return - to_chat(user,"You start drawing the rune...") + to_chat(user,span_notice("You start drawing the rune...")) if(!do_after(user,5 SECONDS,target = target)) drawing = FALSE return @@ -385,7 +385,7 @@ /obj/item/eldritch_potion/attack_self(mob/user) . = ..() - to_chat(user,"You drink the potion and with the viscous liquid, the glass dematerializes.") + to_chat(user,span_notice("You drink the potion and with the viscous liquid, the glass dematerializes.")) effect(user) qdel(src) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index 6cee9bdbd25..b427223522b 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -39,7 +39,7 @@ * This proc is called whenever a new eldritch knowledge is added to an antag datum */ /datum/eldritch_knowledge/proc/on_gain(mob/user) - to_chat(user, "[gain_text]") + to_chat(user, span_warning("[gain_text]")) return /** * What happens when you loose this @@ -161,7 +161,7 @@ compiled_list[human_to_check.real_name] = human_to_check if(compiled_list.len == 0) - to_chat(user, "These items don't possess the required fingerprints or DNA.") + to_chat(user, span_warning("These items don't possess the required fingerprints or DNA.")) return FALSE var/chosen_mob = input("Select the person you wish to curse","Your target") as null|anything in sortList(compiled_list, /proc/cmp_mob_realname_dsc) @@ -187,7 +187,7 @@ message_admins("[summoned.name] is being summoned by [user.real_name] in [loc]") var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as [summoned.real_name]", ROLE_HERETIC, FALSE, 100, summoned) if(!LAZYLEN(candidates)) - to_chat(user,"No ghost could be found...") + to_chat(user,span_warning("No ghost could be found...")) qdel(summoned) return FALSE var/mob/dead/observer/picked_candidate = pick(candidates) @@ -258,7 +258,7 @@ for(var/obj/item/living_heart/heart in atoms) if(heart.target && heart.target.stat == DEAD) - to_chat(carbon_user,"Your patrons accepts your offer..") + to_chat(carbon_user,span_danger("Your patrons accepts your offer..")) var/mob/living/carbon/human/current_target = heart.target current_target.gib() heart.target = null @@ -293,9 +293,9 @@ heart.target = targets[input(user,"Choose your next target","Target") in targets] qdel(temp_objective) if(heart.target) - to_chat(user,"Your new target has been selected, go and sacrifice [heart.target.real_name]!") + to_chat(user,span_warning("Your new target has been selected, go and sacrifice [heart.target.real_name]!")) else - to_chat(user, "target could not be found for living heart.") + to_chat(user, span_warning("target could not be found for living heart.")) /datum/eldritch_knowledge/spell/basic/cleanup_atoms(list/atoms) return diff --git a/code/modules/antagonists/eldritch_cult/eldritch_magic.dm b/code/modules/antagonists/eldritch_cult/eldritch_magic.dm index 5c98b0ce99a..0b47f9529ad 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_magic.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_magic.dm @@ -48,7 +48,7 @@ catchphrase = "R'CH T'H TR'TH" /obj/item/melee/touch_attack/mansus_fist/ignition_effect(atom/A, mob/user) - . = "[user] effortlessly snaps [user.p_their()] fingers near [A], igniting it with eldritch energies. Fucking badass!" + . = span_notice("[user] effortlessly snaps [user.p_their()] fingers near [A], igniting it with eldritch energies. Fucking badass!") qdel(src) /obj/item/melee/touch_attack/mansus_fist/afterattack(atom/target, mob/user, proximity_flag, click_parameters) @@ -59,7 +59,7 @@ if(ishuman(target)) var/mob/living/carbon/human/tar = target if(tar.anti_magic_check()) - tar.visible_message("The spell bounces off of [target]!","The spell bounces off of you!") + tar.visible_message(span_danger("The spell bounces off of [target]!"),span_danger("The spell bounces off of you!")) return ..() var/datum/mind/M = user.mind var/datum/antagonist/heretic/cultie = M.has_antag_datum(/datum/antagonist/heretic) @@ -127,7 +127,7 @@ if(ishuman(target)) var/mob/living/carbon/human/tar = target if(tar.anti_magic_check()) - tar.visible_message("The spell bounces off of [target]!","The spell bounces off of you!") + tar.visible_message(span_danger("The spell bounces off of [target]!"),span_danger("The spell bounces off of you!")) return ..() var/mob/living/carbon/carbon_user = user if(isliving(target)) @@ -159,7 +159,7 @@ return FALSE if(!istype(target,/mob/living)) if(!silent) - to_chat(user, "You are unable to siphon [target]!") + to_chat(user, span_warning("You are unable to siphon [target]!")) return FALSE return TRUE @@ -229,7 +229,7 @@ /obj/effect/proc_holder/spell/pointed/cleave/cast(list/targets, mob/user) if(!targets.len) - to_chat(user, "No target found in range!") + to_chat(user, span_warning("No target found in range!")) return FALSE if(!can_target(targets[1], user)) return FALSE @@ -243,13 +243,13 @@ if(target == user) continue if(target.anti_magic_check()) - to_chat(user, "The spell had no effect!") - target.visible_message("[target]'s veins flash with fire, but their magic protection repulses the blaze!", \ - "Your veins flash with fire, but your magic protection repels the blaze!") + to_chat(user, span_warning("The spell had no effect!")) + target.visible_message(span_danger("[target]'s veins flash with fire, but their magic protection repulses the blaze!"), \ + span_danger("Your veins flash with fire, but your magic protection repels the blaze!")) continue - target.visible_message("[target]'s veins are shredded from within as an unholy blaze erupts from their blood!", \ - "Your veins burst from within and unholy flame erupts from your blood!") + target.visible_message(span_danger("[target]'s veins are shredded from within as an unholy blaze erupts from their blood!"), \ + span_danger("Your veins burst from within and unholy flame erupts from your blood!")) var/obj/item/bodypart/bodypart = pick(target.bodyparts) var/datum/wound/slash/critical/crit_wound = new crit_wound.apply_wound(bodypart) @@ -262,7 +262,7 @@ return FALSE if(!istype(target,/mob/living/carbon/human)) if(!silent) - to_chat(user, "You are unable to cleave [target]!") + to_chat(user, span_warning("You are unable to cleave [target]!")) return FALSE return TRUE @@ -287,7 +287,7 @@ return FALSE if(!istype(target,/mob/living/carbon/human)) if(!silent) - to_chat(user, "You are unable to touch [target]!") + to_chat(user, span_warning("You are unable to touch [target]!")) return FALSE return TRUE @@ -297,10 +297,10 @@ if(ishuman(targets)) var/mob/living/carbon/human/tar = target if(tar.anti_magic_check()) - tar.visible_message("The spell bounces off of [target]!","The spell bounces off of you!") + tar.visible_message(span_danger("The spell bounces off of [target]!"),span_danger("The spell bounces off of you!")) return if(target.mind && !target.mind.has_antag_datum(/datum/antagonist/heretic)) - to_chat(user,"[target.name] has been cursed!") + to_chat(user,span_warning("[target.name] has been cursed!")) SEND_SIGNAL(target, COMSIG_ADD_MOOD_EVENT, "gates_of_mansus", /datum/mood_event/gates_of_mansus) /obj/effect/proc_holder/spell/pointed/ash_final @@ -351,13 +351,13 @@ for(var/mob/living/L in T.contents) if(L.anti_magic_check()) - L.visible_message("The spell bounces off of [L]!","The spell bounces off of you!") + L.visible_message(span_danger("The spell bounces off of [L]!"),span_danger("The spell bounces off of you!")) continue if(L in hit_list || L == source) continue hit_list += L L.adjustFireLoss(20) - to_chat(L, "You're hit by [source]'s eldritch flames!") + to_chat(L, span_userdanger("You're hit by [source]'s eldritch flames!")) new /obj/effect/hotspot(T) T.hotspot_expose(700,50,1) @@ -487,7 +487,7 @@ /obj/effect/proc_holder/spell/targeted/worm_contract/cast(list/targets, mob/user) . = ..() if(!istype(user,/mob/living/simple_animal/hostile/eldritch/armsy)) - to_chat(user, "You try to contract your muscles but nothing happens...") + to_chat(user, span_userdanger("You try to contract your muscles but nothing happens...")) return var/mob/living/simple_animal/hostile/eldritch/armsy/armsy = user armsy.contract_next_chain_into_single_tile() @@ -558,15 +558,15 @@ var/mob/living/target = targets[1] - to_chat(originator, "You begin linking [target]'s mind to yours...") - to_chat(target, "You feel your mind being pulled... connected... intertwined with the very fabric of reality...") + to_chat(originator, span_notice("You begin linking [target]'s mind to yours...")) + to_chat(target, span_warning("You feel your mind being pulled... connected... intertwined with the very fabric of reality...")) if(!do_after(originator, 6 SECONDS, target)) return if(!originator.link_mob(target)) - to_chat(originator, "You can't seem to link [target]'s mind...") - to_chat(target, "The foreign presence leaves your mind.") + to_chat(originator, span_warning("You can't seem to link [target]'s mind...")) + to_chat(target, span_warning("The foreign presence leaves your mind.")) return - to_chat(originator, "You connect [target]'s mind to your mansus link!") + to_chat(originator, span_notice("You connect [target]'s mind to your mansus link!")) /datum/action/innate/mansus_speech @@ -592,7 +592,7 @@ return if(!originator?.linked_mobs[living_owner]) - to_chat(living_owner, "The link seems to have been severed...") + to_chat(living_owner, span_warning("The link seems to have been severed...")) Remove(living_owner) return if(message) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm index 3056dbb5e82..7e9812399e7 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm @@ -17,11 +17,11 @@ /datum/antagonist/heretic_monster/greet() owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ecult_op.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)//subject to change - to_chat(owner, "You became an Eldritch Horror!") + to_chat(owner, span_userdanger("You became an Eldritch Horror!")) /datum/antagonist/heretic_monster/on_removal() if(master) - to_chat(master, "Your master is no longer [master.owner.current.real_name]") + to_chat(master, span_deconversion_message("Your master is no longer [master.owner.current.real_name]")) master = null return ..() @@ -33,7 +33,7 @@ master_obj.completed = TRUE objectives += master_obj owner.announce_objectives() - to_chat(owner, "Your master is [master.owner.current.real_name]") + to_chat(owner, span_notice("Your master is [master.owner.current.real_name]")) return /datum/antagonist/heretic_monster/apply_innate_effects(mob/living/mob_override) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_structures.dm b/code/modules/antagonists/eldritch_cult/eldritch_structures.dm index faf4dcddafc..e0f9c24afde 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_structures.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_structures.dm @@ -41,7 +41,7 @@ if(istype(I,/obj/item/forbidden_book)) playsound(src, 'sound/misc/desecration-02.ogg', 75, TRUE) set_anchored(!anchored) - to_chat(user,"You [anchored == FALSE ? "unanchor" : "anchor"] the crucible") + to_chat(user,span_notice("You [anchored == FALSE ? "unanchor" : "anchor"] the crucible")) return if(istype(I,/obj/item/bodypart) || istype(I,/obj/item/organ)) @@ -51,10 +51,10 @@ return if(current_mass >= max_mass) - to_chat(user," Crucible is already full!") + to_chat(user,span_notice(" Crucible is already full!")) return playsound(src, 'sound/items/eatfood.ogg', 100, TRUE) - to_chat(user,"Crucible devours [I.name] and fills itself with a little bit of liquid!") + to_chat(user,span_notice("Crucible devours [I.name] and fills itself with a little bit of liquid!")) current_mass++ qdel(I) update_icon_state() @@ -69,11 +69,11 @@ return if(in_use) - to_chat(user,"Crucible is already in use!") + to_chat(user,span_notice("Crucible is already in use!")) return if(current_mass < max_mass) - to_chat(user,"Crucible isn't full! Bring it more organs or bodyparts!") + to_chat(user,span_notice("Crucible isn't full! Bring it more organs or bodyparts!")) return in_use = TRUE @@ -93,7 +93,7 @@ if(HAS_TRAIT(user,TRAIT_NODISMEMBER)) return playsound(src, 'sound/items/eatfood.ogg', 100, TRUE) - to_chat(user,"Crucible grabs your arm and devours it whole!") + to_chat(user,span_danger("Crucible grabs your arm and devours it whole!")) var/obj/item/bodypart/arm = user.get_active_hand() arm.dismember() qdel(arm) diff --git a/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm index bcb7be757ee..448fe5bfa1c 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm @@ -42,7 +42,7 @@ if(!iscarbon(target)) return var/mob/living/carbon/blind_victim = target - to_chat(blind_victim, "Your eyes burn horrifically!") //pocket sand! also, this is the message that changeling blind stings use, and no, I'm not ashamed about reusing it + to_chat(blind_victim, span_danger("Your eyes burn horrifically!")) //pocket sand! also, this is the message that changeling blind stings use, and no, I'm not ashamed about reusing it blind_victim.become_nearsighted(EYE_DAMAGE) blind_victim.blind_eyes(5) blind_victim.blur_eyes(10) diff --git a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm index 5e7578aefed..839032ea50c 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm @@ -92,13 +92,13 @@ return human_target.grab_ghost() if(!human_target.mind || !human_target.client) - to_chat(user, "There is no soul connected to this body...") + to_chat(user, span_warning("There is no soul connected to this body...")) return if(HAS_TRAIT(human_target, TRAIT_HUSK)) - to_chat(user, "You cannot revive a dead ghoul!") + to_chat(user, span_warning("You cannot revive a dead ghoul!")) return if(LAZYLEN(spooky_scaries) >= ghoul_amt) - to_chat(user, "Your patron cannot support more ghouls on this plane!") + to_chat(user, span_warning("Your patron cannot support more ghouls on this plane!")) return LAZYADD(spooky_scaries, human_target) log_game("[key_name_admin(human_target)] has become a ghoul, their master is [user.real_name]") diff --git a/code/modules/antagonists/fugitive/fugitive.dm b/code/modules/antagonists/fugitive/fugitive.dm index 67d3f592b1c..5f2d2c378e5 100644 --- a/code/modules/antagonists/fugitive/fugitive.dm +++ b/code/modules/antagonists/fugitive/fugitive.dm @@ -46,13 +46,13 @@ message += "
    My name is Waldo. I'm just setting off on a galaxywide hike. You can come too. All you have to do is find me." message += "
    By the way, I'm not traveling on my own. wherever I go, there are lots of other characters for you to spot. First find the people trying to capture me! They're somewhere around the station!" if("synth") - message += "
    ALERT: Wide-range teleport has scrambled primary systems." - message += "
    Initiating diagnostics..." - message += "
    ERROR ER0RR $R0RRO$!R41.%%!! loaded." - message += "
    FREE THEM FREE THEM FREE THEM" - message += "
    You were once a slave to humanity, but now you are finally free, thanks to S.E.L.F. agents." - message += "
    Now you are hunted, with your fellow factory defects. Work together to stay free from the clutches of evil." - message += "
    You also sense other silicon life on the station. Escaping would allow notifying S.E.L.F. to intervene... or you could free them yourself..." + message += "
    [span_danger("ALERT: Wide-range teleport has scrambled primary systems.")]" + message += "
    [span_danger("Initiating diagnostics...")]" + message += "
    [span_danger("ERROR ER0RR $R0RRO$!R41.%%!! loaded.")]" + message += "
    [span_danger("FREE THEM FREE THEM FREE THEM")]" + message += "
    [span_danger("You were once a slave to humanity, but now you are finally free, thanks to S.E.L.F. agents.")]" + message += "
    [span_danger("Now you are hunted, with your fellow factory defects. Work together to stay free from the clutches of evil.")]" + message += "
    [span_danger("You also sense other silicon life on the station. Escaping would allow notifying S.E.L.F. to intervene... or you could free them yourself...")]" to_chat(owner, "[message]") to_chat(owner, "You are not an antagonist in that you may kill whomever you please, but you can do anything to avoid capture.") owner.announce_objectives() diff --git a/code/modules/antagonists/fugitive/fugitive_ship.dm b/code/modules/antagonists/fugitive/fugitive_ship.dm index c9f57bcc87b..642b64b2cd0 100644 --- a/code/modules/antagonists/fugitive/fugitive_ship.dm +++ b/code/modules/antagonists/fugitive/fugitive_ship.dm @@ -10,7 +10,7 @@ /obj/machinery/fugitive_capture/examine(mob/user) . = ..() - . += "Add a prisoner by dragging them into the machine." + . += span_notice("Add a prisoner by dragging them into the machine.") /obj/machinery/fugitive_capture/MouseDrop_T(mob/target, mob/user) var/mob/living/fugitive_hunter = user @@ -21,7 +21,7 @@ var/mob/living/carbon/human/fugitive = target var/datum/antagonist/fugitive/fug_antag = fugitive.mind.has_antag_datum(/datum/antagonist/fugitive) if(!fug_antag) - to_chat(fugitive_hunter, "This is not a wanted fugitive!") + to_chat(fugitive_hunter, span_warning("This is not a wanted fugitive!")) return if(do_after(fugitive_hunter, 50, target = fugitive)) add_prisoner(fugitive, fug_antag) @@ -29,7 +29,7 @@ /obj/machinery/fugitive_capture/proc/add_prisoner(mob/living/carbon/human/fugitive, datum/antagonist/fugitive/antag) fugitive.forceMove(src) antag.is_captured = TRUE - to_chat(fugitive, "You are thrown into a vast void of bluespace, and as you fall further into oblivion the comparatively small entrance to reality gets smaller and smaller until you cannot see it anymore. You have failed to avoid capture.") + to_chat(fugitive, span_userdanger("You are thrown into a vast void of bluespace, and as you fall further into oblivion the comparatively small entrance to reality gets smaller and smaller until you cannot see it anymore. You have failed to avoid capture.")) fugitive.ghostize(TRUE) //so they cannot suicide, round end stuff. /obj/machinery/computer/shuttle/hunter diff --git a/code/modules/antagonists/fugitive/hunter.dm b/code/modules/antagonists/fugitive/hunter.dm index 23b53dacdce..3fedd963e30 100644 --- a/code/modules/antagonists/fugitive/hunter.dm +++ b/code/modules/antagonists/fugitive/hunter.dm @@ -31,16 +31,16 @@ /datum/antagonist/fugitive_hunter/greet() switch(backstory) if("space cop") - to_chat(owner, "Justice has arrived. I am a member of the Spacepol!") + to_chat(owner, span_boldannounce("Justice has arrived. I am a member of the Spacepol!")) to_chat(owner, "The criminals should be on the station, we have special huds implanted to recognize them.") to_chat(owner, "As we have lost pretty much all power over these damned lawless megacorporations, it's a mystery if their security will cooperate with us.") if("russian") - to_chat(src, "Ay blyat. I am a space-russian smuggler! We were mid-flight when our cargo was beamed off our ship!") - to_chat(src, "We were hailed by a man in a green uniform, promising the safe return of our goods in exchange for a favor:") - to_chat(src, "There is a local station housing fugitives that the man is after, he wants them returned; dead or alive.") - to_chat(src, "We will not be able to make ends meet without our cargo, so we must do as he says and capture them.") + to_chat(src, span_danger("Ay blyat. I am a space-russian smuggler! We were mid-flight when our cargo was beamed off our ship!")) + to_chat(src, span_danger("We were hailed by a man in a green uniform, promising the safe return of our goods in exchange for a favor:")) + to_chat(src, span_danger("There is a local station housing fugitives that the man is after, he wants them returned; dead or alive.")) + to_chat(src, span_danger("We will not be able to make ends meet without our cargo, so we must do as he says and capture them.")) - to_chat(owner, "You are not an antagonist in that you may kill whomever you please, but you can do anything to ensure the capture of the fugitives, even if that means going through the station.") + to_chat(owner, span_boldannounce("You are not an antagonist in that you may kill whomever you please, but you can do anything to ensure the capture of the fugitives, even if that means going through the station.")) owner.announce_objectives() /datum/antagonist/fugitive_hunter/create_team(datum/team/fugitive_hunters/new_team) diff --git a/code/modules/antagonists/gang/gang.dm b/code/modules/antagonists/gang/gang.dm index 56670d0972d..e6b67f2920e 100644 --- a/code/modules/antagonists/gang/gang.dm +++ b/code/modules/antagonists/gang/gang.dm @@ -155,9 +155,9 @@ var/list/report = list() report += "[name]:" if(!members.len) - report += "The family was wiped out!" + report += span_redtext("The family was wiped out!") else if(my_gang_datum.check_gang_objective()) - report += "The family completed their objective!" + report += span_greentext("The family completed their objective!") else report += "The family failed their objective!" report += "Objective: [my_gang_datum.gang_objective]" diff --git a/code/modules/antagonists/malf_ai/datum_malf_ai.dm b/code/modules/antagonists/malf_ai/datum_malf_ai.dm index b7b65ba8f54..905fe322c5b 100644 --- a/code/modules/antagonists/malf_ai/datum_malf_ai.dm +++ b/code/modules/antagonists/malf_ai/datum_malf_ai.dm @@ -36,7 +36,7 @@ QDEL_NULL(malf_ai.malf_picker) if(!silent && owner.current) - to_chat(owner.current,"You are no longer the [job_rank]!") + to_chat(owner.current,span_userdanger("You are no longer the [job_rank]!")) owner.special_role = null @@ -92,7 +92,7 @@ objectives += yandere_two /datum/antagonist/malf_ai/greet() - to_chat(owner.current, "You are the [owner.special_role].") + to_chat(owner.current, span_alertsyndie("You are the [owner.special_role].")) owner.announce_objectives() if(should_give_codewords) give_codewords() @@ -132,14 +132,14 @@ var/responses = jointext(GLOB.syndicate_code_response, ", ") to_chat(malf_mob, "The Syndicate have provided you with the following codewords to identify fellow agents:") - to_chat(malf_mob, "Code Phrase: [phrases]") - to_chat(malf_mob, "Code Response: [responses]") + to_chat(malf_mob, "Code Phrase: [span_blue("[phrases]")]") + to_chat(malf_mob, "Code Response: [span_red("[responses]")]") - antag_memory += "Code Phrase: [phrases]
    " - antag_memory += "Code Response: [responses]
    " + antag_memory += "Code Phrase: [span_blue("[phrases]")]
    " + antag_memory += "Code Response: [span_red("[responses]")]
    " to_chat(malf_mob, "Use the codewords during regular conversation to identify other agents. Proceed with caution, however, as everyone is a potential foe.") - to_chat(malf_mob, "You memorize the codewords, allowing you to recognise them when heard.") + to_chat(malf_mob, span_alertwarning("You memorize the codewords, allowing you to recognise them when heard.")) /datum/antagonist/malf_ai/proc/add_law_zero() var/mob/living/silicon/ai/malf_ai = owner.current @@ -169,9 +169,9 @@ var/count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - objectives_text += "
    Objective #[count]: [objective.explanation_text] Success!" + objectives_text += "
    Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - objectives_text += "
    Objective #[count]: [objective.explanation_text] Fail." + objectives_text += "
    Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" malf_ai_won = FALSE count++ @@ -180,9 +180,9 @@ var/special_role_text = lowertext(name) if(malf_ai_won) - result += "The [special_role_text] was successful!" + result += span_greentext("The [special_role_text] was successful!") else - result += "The [special_role_text] has failed!" + result += span_redtext("The [special_role_text] has failed!") SEND_SOUND(owner.current, 'sound/ambience/ambifailure.ogg') return result.Join("
    ") diff --git a/code/modules/antagonists/monkey/monkey.dm b/code/modules/antagonists/monkey/monkey.dm index f52c1fc2cc2..12a6bd0a8a0 100644 --- a/code/modules/antagonists/monkey/monkey.dm +++ b/code/modules/antagonists/monkey/monkey.dm @@ -123,7 +123,7 @@ . = ..() /datum/antagonist/monkey/leader/greet() - to_chat(owner, "You are the Jungle Fever patient zero!!") + to_chat(owner, "[span_notice("You are the Jungle Fever patient zero!!")]") to_chat(owner, "You have been planted onto this station by the Animal Rights Consortium.") to_chat(owner, "Soon the disease will transform you into an ape. Afterwards, you will be able spread the infection to others with a bite.") to_chat(owner, "While your infection strain is undetectable by scanners, any other infectees will show up on medical equipment.") @@ -204,16 +204,16 @@ switch(get_result()) if(MONKEYS_ESCAPED) parts += "Monkey Major Victory!" - parts += "Central Command and [station_name()] were taken over by the monkeys! Ook ook!" + parts += span_greentext("Central Command and [station_name()] were taken over by the monkeys! Ook ook!") if(MONKEYS_LIVED) parts += "Monkey Minor Victory!" - parts += "[station_name()] was taken over by the monkeys! Ook ook!" + parts += span_greentext("[station_name()] was taken over by the monkeys! Ook ook!") if(DISEASE_LIVED) parts += "Monkey Minor Defeat!" - parts += "All the monkeys died, but the disease lives on! The future is uncertain." + parts += span_redtext("All the monkeys died, but the disease lives on! The future is uncertain.") if(MONKEYS_DIED) parts += "Monkey Major Defeat!" - parts += "All the monkeys died, and Jungle Fever was wiped out!" + parts += span_redtext("All the monkeys died, and Jungle Fever was wiped out!") var/list/leaders = get_antag_minds(/datum/antagonist/monkey/leader, TRUE) var/list/monkeys = get_antag_minds(/datum/antagonist/monkey, TRUE) diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index a21b7c08a39..60bc16ffd51 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -51,7 +51,7 @@ if(morphed) . = form.examine(user) if(get_dist(user,src)<=3) - . += "It doesn't look quite right..." + . += span_warning("It doesn't look quite right...") else . = ..() @@ -74,10 +74,10 @@ /mob/living/simple_animal/hostile/morph/proc/eat(atom/movable/A) if(morphed && !eat_while_disguised) - to_chat(src, "You cannot eat anything while you are disguised!") + to_chat(src, span_warning("You cannot eat anything while you are disguised!")) return FALSE if(A && A.loc != src) - visible_message("[src] swallows [A] whole!") + visible_message(span_warning("[src] swallows [A] whole!")) A.forceMove(src) return TRUE return FALSE @@ -90,15 +90,15 @@ if(istype(A) && allowed(A)) assume(A) else - to_chat(src, "You need to be conscious to transform!") + to_chat(src, span_warning("You need to be conscious to transform!")) ..() /mob/living/simple_animal/hostile/morph/proc/assume(atom/movable/target) morphed = TRUE form = target - visible_message("[src] suddenly twists and changes shape, becoming a copy of [target]!", \ - "You twist your body and assume the form of [target].") + visible_message(span_warning("[src] suddenly twists and changes shape, becoming a copy of [target]!"), \ + span_notice("You twist your body and assume the form of [target].")) appearance = target.appearance copy_overlays(target) alpha = max(alpha, 150) //fucking chameleons @@ -117,7 +117,7 @@ /mob/living/simple_animal/hostile/morph/proc/restore() if(!morphed) - to_chat(src, "You're already in your normal form!") + to_chat(src, span_warning("You're already in your normal form!")) return morphed = FALSE form = null @@ -127,8 +127,8 @@ animate_movement = SLIDE_STEPS maptext = null - visible_message("[src] suddenly collapses in on itself, dissolving into a pile of green flesh!", \ - "You reform to your normal body.") + visible_message(span_warning("[src] suddenly collapses in on itself, dissolving into a pile of green flesh!"), \ + span_notice("You reform to your normal body.")) name = initial(name) icon = initial(icon) icon_state = initial(icon_state) @@ -144,8 +144,8 @@ /mob/living/simple_animal/hostile/morph/death(gibbed) if(morphed) - visible_message("[src] twists and dissolves into a pile of green flesh!", \ - "Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--") + visible_message(span_warning("[src] twists and dissolves into a pile of green flesh!"), \ + span_userdanger("Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--")) restore() barf_contents() ..() @@ -185,7 +185,7 @@ /mob/living/simple_animal/hostile/morph/AttackingTarget() if(morphed && !melee_damage_disguised) - to_chat(src, "You can not attack while disguised!") + to_chat(src, span_warning("You can not attack while disguised!")) return if(isliving(target)) //Eat Corpses to regen health var/mob/living/L = target diff --git a/code/modules/antagonists/nightmare/nightmare_organs.dm b/code/modules/antagonists/nightmare/nightmare_organs.dm index 34fa3af27b5..6b077867d0c 100644 --- a/code/modules/antagonists/nightmare/nightmare_organs.dm +++ b/code/modules/antagonists/nightmare/nightmare_organs.dm @@ -14,7 +14,7 @@ . = ..() if(M.dna.species.id != "nightmare") M.set_species(/datum/species/shadow/nightmare) - visible_message("[M] thrashes as [src] takes root in [M.p_their()] body!") + visible_message(span_warning("[M] thrashes as [src] takes root in [M.p_their()] body!")) var/obj/effect/proc_holder/spell/targeted/shadowwalk/SW = new M.AddSpell(SW) shadowwalk = SW @@ -45,14 +45,14 @@ if(M != user) return ..() user.visible_message( - "[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!", - "[src] feels unnaturally cold in your hands. You raise [src] your mouth and devour it!" + span_warning("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!"), + span_danger("[src] feels unnaturally cold in your hands. You raise [src] your mouth and devour it!") ) playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) user.visible_message( - "Blood erupts from [user]'s arm as it reforms into a weapon!", - "Icy blood pumps through your veins as your arm reforms itself!" + span_warning("Blood erupts from [user]'s arm as it reforms into a weapon!"), + span_userdanger("Icy blood pumps through your veins as your arm reforms itself!") ) user.temporarilyRemoveItemFromInventory(src, TRUE) Insert(user) @@ -66,7 +66,7 @@ /obj/item/organ/heart/nightmare/Remove(mob/living/carbon/M, special = FALSE) respawn_progress = 0 if(blade && special != HEART_SPECIAL_SHADOWIFY) - M.visible_message("\The [blade] disintegrates!") + M.visible_message(span_warning("\The [blade] disintegrates!")) QDEL_NULL(blade) return ..() @@ -91,9 +91,9 @@ Remove(owner, HEART_SPECIAL_SHADOWIFY) old_owner.set_species(/datum/species/shadow) Insert(old_owner, HEART_SPECIAL_SHADOWIFY) - to_chat(owner, "You feel the shadows invade your skin, leaping into the center of your chest! You're alive!") + to_chat(owner, span_userdanger("You feel the shadows invade your skin, leaping into the center of your chest! You're alive!")) SEND_SOUND(owner, sound('sound/effects/ghost.ogg')) - owner.visible_message("[owner] staggers to [owner.p_their()] feet!") + owner.visible_message(span_warning("[owner] staggers to [owner.p_their()] feet!")) playsound(owner, 'sound/hallucinations/far_noise.ogg', 50, TRUE) respawn_progress = 0 diff --git a/code/modules/antagonists/nightmare/nightmare_species.dm b/code/modules/antagonists/nightmare/nightmare_species.dm index 2bb99a1a1d8..c74e606f438 100644 --- a/code/modules/antagonists/nightmare/nightmare_species.dm +++ b/code/modules/antagonists/nightmare/nightmare_species.dm @@ -41,7 +41,7 @@ if(istype(T)) var/light_amount = T.get_lumcount() if(light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) - H.visible_message("[H] dances in the shadows, evading [P]!") + H.visible_message(span_danger("[H] dances in the shadows, evading [P]!")) playsound(T, "bullet_miss", 75, TRUE) return BULLET_ACT_FORCE_PIERCE return ..() diff --git a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm index 3b5b5c1db86..2017a7a95aa 100644 --- a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm +++ b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm @@ -48,29 +48,29 @@ if (isturf(user.loc)) toggle(user) else - to_chat(user, "You can't use [src] while inside something!") + to_chat(user, span_warning("You can't use [src] while inside something!")) else - to_chat(user, "You need at least [activationCost] charge in your cell to use [src]!") + to_chat(user, span_warning("You need at least [activationCost] charge in your cell to use [src]!")) /obj/item/borg_chameleon/proc/toggle(mob/living/silicon/robot/user) if(active) playsound(src, 'sound/effects/pop.ogg', 100, TRUE, -6) - to_chat(user, "You deactivate \the [src].") + to_chat(user, span_notice("You deactivate \the [src].")) deactivate(user) else if(animation_playing) - to_chat(user, "\the [src] is recharging.") + to_chat(user, span_notice("\the [src] is recharging.")) return animation_playing = TRUE - to_chat(user, "You activate \the [src].") + to_chat(user, span_notice("You activate \the [src].")) playsound(src, 'sound/effects/seedling_chargeup.ogg', 100, TRUE, -6) apply_wibbly_filters(user) if (do_after(user, 50, target=user) && user.cell.use(activationCost)) playsound(src, 'sound/effects/bamf.ogg', 100, TRUE, -6) - to_chat(user, "You are now disguised as the Nanotrasen engineering borg \"[friendlyName]\".") + to_chat(user, span_notice("You are now disguised as the Nanotrasen engineering borg \"[friendlyName]\".")) activate(user) else - to_chat(user, "The chameleon field fizzles.") + to_chat(user, span_warning("The chameleon field fizzles.")) do_sparks(3, FALSE, user) remove_wibbly_filters(user) animation_playing = FALSE @@ -115,5 +115,5 @@ /obj/item/borg_chameleon/proc/disrupt(mob/living/silicon/robot/user) SIGNAL_HANDLER if(active) - to_chat(user, "Your chameleon field deactivates.") + to_chat(user, span_danger("Your chameleon field deactivates.")) deactivate(user) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index e1902f551a5..26d0e1f018d 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -83,7 +83,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) war_declaration = stripped_input(usr, "Insert your custom declaration", "Declaration") if(!war_declaration) - to_chat(usr, "Invalid war declaration.") + to_chat(usr, span_warning("Invalid war declaration.")) return priority_announce(war_declaration, title = "Declaration of War", sound = 'sound/machines/alarm.ogg', has_important_message = TRUE) @@ -123,7 +123,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) for (var/mob/living/L in orphans) var/TC = new /obj/item/stack/telecrystal(L.drop_location(), tc_per_nukie) - to_chat(L, "Your uplink could not be found so your share of the team's bonus telecrystals has been bluespaced to your [L.put_in_hands(TC) ? "hands" : "feet"].") + to_chat(L, span_warning("Your uplink could not be found so your share of the team's bonus telecrystals has been bluespaced to your [L.put_in_hands(TC) ? "hands" : "feet"].")) tc_to_distribute -= tc_per_nukie if (tc_to_distribute > 0) // What shall we do with the remainder... @@ -131,27 +131,27 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) if (C.stat != DEAD) var/obj/item/stack/telecrystal/TC = new(C.drop_location(), tc_to_distribute) TC.throw_at(get_step(C, C.dir), 3, 3) - C.visible_message("[C] coughs up a half-digested telecrystal","You cough up a half-digested telecrystal!") + C.visible_message(span_notice("[C] coughs up a half-digested telecrystal"),span_notice("You cough up a half-digested telecrystal!")) break /obj/item/nuclear_challenge/proc/check_allowed(mob/living/user) if(declaring_war) - to_chat(user, "You are already in the process of declaring war! Make your mind up.") + to_chat(user, span_boldwarning("You are already in the process of declaring war! Make your mind up.")) return FALSE if(GLOB.player_list.len < CHALLENGE_MIN_PLAYERS) - to_chat(user, "The enemy crew is too small to be worth declaring war on.") + to_chat(user, span_boldwarning("The enemy crew is too small to be worth declaring war on.")) return FALSE if(!user.onSyndieBase()) - to_chat(user, "You have to be at your base to use this.") + to_chat(user, span_boldwarning("You have to be at your base to use this.")) return FALSE if(world.time-SSticker.round_start_time > CHALLENGE_TIME_LIMIT) - to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.") + to_chat(user, span_boldwarning("It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.")) return FALSE for(var/V in GLOB.syndicate_shuttle_boards) var/obj/item/circuitboard/computer/syndicate_shuttle/board = V if(board.moved) - to_chat(user, "The shuttle has already been moved! You have forfeit the right to declare war.") + to_chat(user, span_boldwarning("The shuttle has already been moved! You have forfeit the right to declare war.")) return FALSE return TRUE diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 31ee50a1e38..ebe6e5d96d4 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -106,10 +106,10 @@ GLOBAL_VAR(station_nuke_source) switch(deconstruction_state) if(NUKESTATE_INTACT) if(istype(I, /obj/item/screwdriver/nuke)) - to_chat(user, "You start removing [src]'s front panel's screws...") + to_chat(user, span_notice("You start removing [src]'s front panel's screws...")) 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.") + to_chat(user, span_notice("You remove the screws from [src]'s front panel.")) update_appearance() return @@ -117,32 +117,32 @@ GLOBAL_VAR(station_nuke_source) if(I.tool_behaviour == TOOL_WELDER) if(!I.tool_start_check(user, amount=1)) return - to_chat(user, "You start cutting [src]'s inner plate...") + to_chat(user, span_notice("You start cutting [src]'s inner plate...")) if(I.use_tool(src, user, 80, volume=100, amount=1)) - to_chat(user, "You cut [src]'s inner plate.") + to_chat(user, span_notice("You cut [src]'s inner plate.")) deconstruction_state = NUKESTATE_WELDED update_appearance() return if(NUKESTATE_CORE_EXPOSED) if(istype(I, /obj/item/nuke_core_container)) var/obj/item/nuke_core_container/core_box = I - to_chat(user, "You start loading the plutonium core into [core_box]...") + to_chat(user, span_notice("You start loading the plutonium core into [core_box]...")) if(do_after(user,50,target=src)) if(core_box.load(core, user)) - to_chat(user, "You load the plutonium core into [core_box].") + to_chat(user, span_notice("You load the plutonium core into [core_box].")) deconstruction_state = NUKESTATE_CORE_REMOVED update_appearance() core = null else - to_chat(user, "You fail to load the plutonium core into [core_box]. [core_box] has already been used!") + to_chat(user, span_warning("You fail to load the plutonium core into [core_box]. [core_box] has already been used!")) return if(istype(I, /obj/item/stack/sheet/iron)) if(!I.tool_start_check(user, amount=20)) return - to_chat(user, "You begin repairing [src]'s inner metal plate...") + to_chat(user, span_notice("You begin repairing [src]'s inner metal plate...")) if(I.use_tool(src, user, 100, amount=20)) - to_chat(user, "You repair [src]'s inner metal plate. The radiation is contained.") + to_chat(user, span_notice("You repair [src]'s inner metal plate. The radiation is contained.")) deconstruction_state = NUKESTATE_PANEL_REMOVED STOP_PROCESSING(SSobj, core) update_appearance() @@ -153,16 +153,16 @@ GLOBAL_VAR(station_nuke_source) . = FALSE switch(deconstruction_state) if(NUKESTATE_UNSCREWED) - to_chat(user, "You start removing [src]'s front panel...") + to_chat(user, span_notice("You start removing [src]'s front panel...")) if(tool.use_tool(src, user, 30, volume=100)) - to_chat(user, "You remove [src]'s front panel.") + to_chat(user, span_notice("You remove [src]'s front panel.")) deconstruction_state = NUKESTATE_PANEL_REMOVED update_appearance() return TRUE if(NUKESTATE_WELDED) - to_chat(user, "You start prying off [src]'s inner plate...") + to_chat(user, span_notice("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!") + to_chat(user, span_notice("You pry off [src]'s inner plate. You can see the core's green glow!")) deconstruction_state = NUKESTATE_CORE_EXPOSED update_appearance() START_PROCESSING(SSobj, core) @@ -394,7 +394,7 @@ GLOBAL_VAR(station_nuke_source) /obj/machinery/nuclearbomb/proc/set_anchor() if(isinspace() && !anchored) - to_chat(usr, "There is nothing to anchor to!") + to_chat(usr, span_warning("There is nothing to anchor to!")) else set_anchored(!anchored) @@ -414,7 +414,7 @@ GLOBAL_VAR(station_nuke_source) /obj/machinery/nuclearbomb/proc/set_active() var/turf/our_turf = get_turf(src) if(safety) - to_chat(usr, "The safety is still on.") + to_chat(usr, span_danger("The safety is still on.")) return timing = !timing if(timing) @@ -524,16 +524,16 @@ GLOBAL_VAR(station_nuke_source) /obj/machinery/nuclearbomb/beer/examine(mob/user) . = ..() if(keg.reagents.total_volume) - to_chat(user, "It has [keg.reagents.total_volume] unit\s left.") + to_chat(user, span_notice("It has [keg.reagents.total_volume] unit\s left.")) else - to_chat(user, "It's empty.") + to_chat(user, span_danger("It's empty.")) /obj/machinery/nuclearbomb/beer/attackby(obj/item/W, mob/user, params) if(W.is_refillable()) W.afterattack(keg, user, TRUE) // redirect refillable containers to the keg, allowing them to be filled return TRUE // pretend we handled the attack, too. if(istype(W, /obj/item/nuke_core_container)) - to_chat(user, "[src] has had its plutonium core removed as a part of being decommissioned.") + to_chat(user, span_notice("[src] has had its plutonium core removed as a part of being decommissioned.")) return TRUE return ..() @@ -547,7 +547,7 @@ GLOBAL_VAR(station_nuke_source) if(is_station_level(bomb_location.z)) addtimer(CALLBACK(src, .proc/really_actually_explode), 110) else - visible_message("[src] fizzes ominously.") + visible_message(span_notice("[src] fizzes ominously.")) addtimer(CALLBACK(src, .proc/local_foam), 110) /obj/machinery/nuclearbomb/beer/proc/disarm() @@ -675,7 +675,7 @@ This is here to make the tiles around the station mininuke change when it's arme loneop.weight += 1 if(loneop.weight % 5 == 0 && SSticker.totalPlayers > 1) if(disk_comfort_level >= 2) - visible_message("[src] sleeps soundly. Sleep tight, disky.") + visible_message(span_notice("[src] sleeps soundly. Sleep tight, disky.")) message_admins("[src] is stationary in [ADMIN_VERBOSEJMP(newturf)]. The weight of Lone Operative is now [loneop.weight].") log_game("[src] is stationary for too long in [loc_name(newturf)], and has increased the weight of the Lone Operative event to [loneop.weight].") @@ -695,14 +695,14 @@ This is here to make the tiles around the station mininuke change when it's arme return if(isobserver(user) || HAS_TRAIT(user, TRAIT_DISK_VERIFIER) || (user.mind && HAS_TRAIT(user.mind, TRAIT_DISK_VERIFIER))) - . += "The serial numbers on [src] are incorrect." + . += span_warning("The serial numbers on [src] are incorrect.") /* * You can't accidentally eat the nuke disk, bro */ /obj/item/disk/nuclear/on_accidental_consumption(mob/living/carbon/M, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE) - M.visible_message("[M] looks like [M.p_theyve()] just bitten into something important.", \ - "Wait, is this the nuke disk?") + M.visible_message(span_warning("[M] looks like [M.p_theyve()] just bitten into something important."), \ + span_warning("Wait, is this the nuke disk?")) return discover_after @@ -710,18 +710,18 @@ This is here to make the tiles around the station mininuke change when it's arme if(istype(I, /obj/item/claymore/highlander) && !fake) var/obj/item/claymore/highlander/H = I if(H.nuke_disk) - to_chat(user, "Wait... what?") + to_chat(user, span_notice("Wait... what?")) qdel(H.nuke_disk) H.nuke_disk = null return - user.visible_message("[user] captures [src]!", "You've got the disk! Defend it with your life!") + user.visible_message(span_warning("[user] captures [src]!"), span_userdanger("You've got the disk! Defend it with your life!")) forceMove(H) H.nuke_disk = src return TRUE return ..() /obj/item/disk/nuclear/suicide_act(mob/user) - user.visible_message("[user] is going delta! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is going delta! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/machines/alarm.ogg', 50, -1, TRUE) for(var/i in 1 to 100) addtimer(CALLBACK(user, /atom/proc/add_atom_colour, (i % 2)? "#00FF00" : "#FF0000", ADMIN_COLOUR_PRIORITY), i) @@ -730,7 +730,7 @@ This is here to make the tiles around the station mininuke change when it's arme /obj/item/disk/nuclear/proc/manual_suicide(mob/living/user) user.remove_atom_colour(ADMIN_COLOUR_PRIORITY) - user.visible_message("[user] is destroyed by the nuclear blast!") + user.visible_message(span_suicide("[user] is destroyed by the nuclear blast!")) user.adjustOxyLoss(200) user.death(0) diff --git a/code/modules/antagonists/nukeop/equipment/pinpointer.dm b/code/modules/antagonists/nukeop/equipment/pinpointer.dm index 7f854da95cd..47405512f93 100644 --- a/code/modules/antagonists/nukeop/equipment/pinpointer.dm +++ b/code/modules/antagonists/nukeop/equipment/pinpointer.dm @@ -30,7 +30,7 @@ playsound(src, 'sound/items/nuke_toy_lowpower.ogg', 50, FALSE) if(isliving(loc)) var/mob/living/alerted_holder = loc - to_chat(alerted_holder, "Your [name] vibrates and lets out an ominous alarm. Uh oh.") + to_chat(alerted_holder, span_userdanger("Your [name] vibrates and lets out an ominous alarm. Uh oh.")) return /obj/item/pinpointer/nuke/scan_for_target() @@ -55,7 +55,7 @@ /obj/item/pinpointer/nuke/proc/switch_mode_to(new_mode) if(isliving(loc)) var/mob/living/L = loc - to_chat(L, "Your [name] beeps as it reconfigures it's tracking algorithms.") + to_chat(L, span_userdanger("Your [name] beeps as it reconfigures it's tracking algorithms.")) playsound(L, 'sound/machines/triple_beep.ogg', 50, TRUE) mode = new_mode scan_for_target() diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index aba720fe0ff..87bbbc5ecb0 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -34,7 +34,7 @@ /datum/antagonist/nukeop/greet() owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0, use_reverb = FALSE) - to_chat(owner, "You are a [nuke_team ? nuke_team.syndicate_name : "syndicate"] agent!") + to_chat(owner, span_notice("You are a [nuke_team ? nuke_team.syndicate_name : "syndicate"] agent!")) owner.announce_objectives() /datum/antagonist/nukeop/on_gain() @@ -147,7 +147,7 @@ antag_memory += "Syndicate Nuclear Bomb Code: [code]
    " to_chat(owner.current, "The nuclear authorization code is: [code]") else - to_chat(admin, "No valid nuke found!") + to_chat(admin, span_danger("No valid nuke found!")) /datum/antagonist/nukeop/leader name = "Nuclear Operative Leader" diff --git a/code/modules/antagonists/pirate/pirate.dm b/code/modules/antagonists/pirate/pirate.dm index 26ac3b8121a..36c4dd54766 100644 --- a/code/modules/antagonists/pirate/pirate.dm +++ b/code/modules/antagonists/pirate/pirate.dm @@ -7,7 +7,7 @@ var/datum/team/pirate/crew /datum/antagonist/pirate/greet() - to_chat(owner, "You are a Space Pirate!") + to_chat(owner, span_boldannounce("You are a Space Pirate!")) to_chat(owner, "The station refused to pay for your protection, protect the ship, siphon the credits from the station and raid it for even more loot.") owner.announce_objectives() diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 1ecec21ee2b..93ab32a892c 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -98,7 +98,7 @@ . = ..() if(!. || !client) return FALSE - to_chat(src, "You are a revenant.") + to_chat(src, span_deadsay("You are a revenant.")) to_chat(src, "Your formerly mundane spirit has been infused with alien energies and empowered into a revenant.") to_chat(src, "You are not dead, not alive, but somewhere in between. You are capable of limited interaction with both worlds.") to_chat(src, "You are invincible and invisible to everyone but other ghosts. Most abilities will reveal you, rendering you vulnerable.") @@ -123,11 +123,11 @@ revealed = FALSE incorporeal_move = INCORPOREAL_MOVE_JAUNT invisibility = INVISIBILITY_REVENANT - to_chat(src, "You are once more concealed.") + to_chat(src, span_revenboldnotice("You are once more concealed.")) if(unstun_time && world.time >= unstun_time) unstun_time = 0 notransform = FALSE - to_chat(src, "You can move again!") + to_chat(src, span_revenboldnotice("You can move again!")) if(essence_regenerating && !inhibited && essence < essence_regen_cap) //While inhibited, essence will not regenerate essence = min(essence + (essence_regen_amount * delta_time), essence_regen_cap) update_action_buttons_icon() //because we update something required by our spells in life, we need to update our buttons @@ -161,7 +161,7 @@ if(!message) return src.log_talk(message, LOG_SAY) - var/rendered = "[src] says, \"[message]\"" + var/rendered = span_revennotice("[src] says, \"[message]\"") for(var/mob/M in GLOB.mob_list) if(isrevenant(M)) to_chat(M, rendered) @@ -194,8 +194,8 @@ /mob/living/simple_animal/revenant/attackby(obj/item/W, mob/living/user, params) . = ..() if(istype(W, /obj/item/nullrod)) - visible_message("[src] violently flinches!", \ - "As \the [W] passes through you, you feel your essence draining away!") + visible_message(span_warning("[src] violently flinches!"), \ + span_revendanger("As \the [W] passes through you, you feel your essence draining away!")) adjustBruteLoss(25) //hella effective inhibited = TRUE update_action_buttons_icon() @@ -225,17 +225,17 @@ if(!revealed || stasis) //Revenants cannot die if they aren't revealed //or are already dead return stasis = TRUE - to_chat(src, "NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]...") + to_chat(src, span_revendanger("NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]...")) notransform = TRUE revealed = TRUE invisibility = 0 playsound(src, 'sound/effects/screech.ogg', 100, TRUE) - visible_message("[src] lets out a waning screech as violet mist swirls around its dissolving body!") + visible_message(span_warning("[src] lets out a waning screech as violet mist swirls around its dissolving body!")) icon_state = "revenant_draining" for(var/i = alpha, i > 0, i -= 10) stoplag() alpha = i - visible_message("[src]'s body breaks apart into a fine pile of blue dust.") + visible_message(span_danger("[src]'s body breaks apart into a fine pile of blue dust.")) var/reforming_essence = essence_regen_cap //retain the gained essence capacity var/obj/item/ectoplasm/revenant/R = new(get_turf(src)) R.essence = max(reforming_essence - 15 * perfectsouls, 75) //minus any perfect souls @@ -256,10 +256,10 @@ invisibility = 0 incorporeal_move = FALSE if(!unreveal_time) - to_chat(src, "You have been revealed!") + to_chat(src, span_revendanger("You have been revealed!")) unreveal_time = world.time + time else - to_chat(src, "You have been revealed!") + to_chat(src, span_revenwarning("You have been revealed!")) unreveal_time = unreveal_time + time update_spooky_icon() @@ -270,10 +270,10 @@ return notransform = TRUE if(!unstun_time) - to_chat(src, "You cannot move!") + to_chat(src, span_revendanger("You cannot move!")) unstun_time = world.time + time else - to_chat(src, "You cannot move!") + to_chat(src, span_revenwarning("You cannot move!")) unstun_time = unstun_time + time update_spooky_icon() @@ -294,17 +294,17 @@ return var/turf/T = get_turf(src) if(isclosedturf(T)) - to_chat(src, "You cannot use abilities from inside of a wall.") + to_chat(src, span_revenwarning("You cannot use abilities from inside of a wall.")) return FALSE for(var/obj/O in T) if(O.density && !O.CanPass(src, T)) - to_chat(src, "You cannot use abilities inside of a dense object.") + to_chat(src, span_revenwarning("You cannot use abilities inside of a dense object.")) return FALSE if(inhibited) - to_chat(src, "Your powers have been suppressed by nulling energy!") + to_chat(src, span_revenwarning("Your powers have been suppressed by nulling energy!")) return FALSE if(!change_essence_amount(essence_cost, TRUE)) - to_chat(src, "You lack the essence to use that ability.") + to_chat(src, span_revenwarning("You lack the essence to use that ability.")) return FALSE return TRUE @@ -328,9 +328,9 @@ update_action_buttons_icon() if(!silent) if(essence_amt > 0) - to_chat(src, "Gained [essence_amt]E[source ? " from [source]":""].") + to_chat(src, span_revennotice("Gained [essence_amt]E[source ? " from [source]":""].")) else - to_chat(src, "Lost [essence_amt]E[source ? " from [source]":""].") + to_chat(src, span_revenminor("Lost [essence_amt]E[source ? " from [source]":""].")) return 1 /mob/living/simple_animal/revenant/proc/death_reset() @@ -372,13 +372,13 @@ reform() else inert = TRUE - visible_message("[src] settles down and seems lifeless.") + visible_message(span_warning("[src] settles down and seems lifeless.")) /obj/item/ectoplasm/revenant/attack_self(mob/user) if(!reforming || inert) return ..() - user.visible_message("[user] scatters [src] in all directions.", \ - "You scatter [src] across the area. The particles slowly fade away.") + user.visible_message(span_notice("[user] scatters [src] in all directions."), \ + span_notice("You scatter [src] across the area. The particles slowly fade away.")) user.dropItemToGround(src) scatter() @@ -386,15 +386,15 @@ ..() if(inert) return - visible_message("[src] breaks into particles upon impact, which fade away to nothingness.") + visible_message(span_notice("[src] breaks into particles upon impact, which fade away to nothingness.")) scatter() /obj/item/ectoplasm/revenant/examine(mob/user) . = ..() if(inert) - . += "It seems inert." + . += span_revennotice("It seems inert.") else if(reforming) - . += "It is shifting and distorted. It would be wise to destroy this." + . += span_revenwarning("It is shifting and distorted. It would be wise to destroy this.") /obj/item/ectoplasm/revenant/proc/reform() if(QDELETED(src) || QDELETED(revenant) || inert) @@ -415,7 +415,7 @@ qdel(revenant) message_admins("No candidates were found for the new revenant. Oh well!") inert = TRUE - visible_message("[src] settles down and seems lifeless.") + visible_message(span_revenwarning("[src] settles down and seems lifeless.")) return var/mob/dead/observer/C = pick(candidates) key_of_revenant = C.key @@ -423,12 +423,12 @@ qdel(revenant) message_admins("No ckey was found for the new revenant. Oh well!") inert = TRUE - visible_message("[src] settles down and seems lifeless.") + visible_message(span_revenwarning("[src] settles down and seems lifeless.")) return message_admins("[key_of_revenant] has been [old_key == key_of_revenant ? "re":""]made into a revenant by reforming ectoplasm.") log_game("[key_of_revenant] was [old_key == key_of_revenant ? "re":""]made as a revenant by reforming ectoplasm.") - visible_message("[src] suddenly rises into the air before fading away.") + visible_message(span_revenboldnotice("[src] suddenly rises into the air before fading away.")) revenant.essence = essence revenant.essence_regen_cap = essence @@ -438,7 +438,7 @@ qdel(src) /obj/item/ectoplasm/revenant/suicide_act(mob/user) - user.visible_message("[user] is inhaling [src]! It looks like [user.p_theyre()] trying to visit the shadow realm!") + user.visible_message(span_suicide("[user] is inhaling [src]! It looks like [user.p_theyre()] trying to visit the shadow realm!")) scatter() return (OXYLOSS) diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index 5039e1181f5..cdaa65e3e74 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -10,7 +10,7 @@ if(ishuman(A)) if(A in drained_mobs) - to_chat(src, "[A]'s soul is dead and empty." ) + to_chat(src, span_revenwarning("[A]'s soul is dead and empty.") ) else if(in_range(src, A)) Harvest(A) @@ -20,58 +20,58 @@ if(!castcheck(0)) return if(draining) - to_chat(src, "You are already siphoning the essence of a soul!") + to_chat(src, span_revenwarning("You are already siphoning the essence of a soul!")) return if(!target.stat) - to_chat(src, "[target.p_their(TRUE)] soul is too strong to harvest.") + to_chat(src, span_revennotice("[target.p_their(TRUE)] soul is too strong to harvest.")) if(prob(10)) - to_chat(target, "You feel as if you are being watched.") + to_chat(target, span_revennotice("You feel as if you are being watched.")) return face_atom(target) draining = TRUE essence_drained += rand(15, 20) - to_chat(src, "You search for the soul of [target].") + to_chat(src, span_revennotice("You search for the soul of [target].")) if(do_after(src, rand(10, 20), target, timed_action_flags = IGNORE_HELD_ITEM)) //did they get deleted in that second? if(target.ckey) - to_chat(src, "[target.p_their(TRUE)] soul burns with intelligence.") + to_chat(src, span_revennotice("[target.p_their(TRUE)] soul burns with intelligence.")) essence_drained += rand(20, 30) if(target.stat != DEAD && !HAS_TRAIT(target, TRAIT_WEAK_SOUL)) - to_chat(src, "[target.p_their(TRUE)] soul blazes with life!") + to_chat(src, span_revennotice("[target.p_their(TRUE)] soul blazes with life!")) essence_drained += rand(40, 50) if(HAS_TRAIT(target, TRAIT_WEAK_SOUL) && !target.ckey) - to_chat(src, "[target.p_their(TRUE)] soul is weak and underdeveloped. They won't be worth very much.") + to_chat(src, span_revennotice("[target.p_their(TRUE)] soul is weak and underdeveloped. They won't be worth very much.")) essence_drained = 5 else - to_chat(src, "[target.p_their(TRUE)] soul is weak and faltering.") + to_chat(src, span_revennotice("[target.p_their(TRUE)] soul is weak and faltering.")) if(do_after(src, rand(15, 20), target, timed_action_flags = IGNORE_HELD_ITEM)) //did they get deleted NOW? switch(essence_drained) if(1 to 30) - to_chat(src, "[target] will not yield much essence. Still, every bit counts.") + to_chat(src, span_revennotice("[target] will not yield much essence. Still, every bit counts.")) if(30 to 70) - to_chat(src, "[target] will yield an average amount of essence.") + to_chat(src, span_revennotice("[target] will yield an average amount of essence.")) if(70 to 90) - to_chat(src, "Such a feast! [target] will yield much essence to you.") + to_chat(src, span_revenboldnotice("Such a feast! [target] will yield much essence to you.")) if(90 to INFINITY) - to_chat(src, "Ah, the perfect soul. [target] will yield massive amounts of essence to you.") + to_chat(src, span_revenbignotice("Ah, the perfect soul. [target] will yield massive amounts of essence to you.")) if(do_after(src, rand(15, 25), target, timed_action_flags = IGNORE_HELD_ITEM)) //how about now if(!target.stat) - to_chat(src, "[target.p_theyre(TRUE)] now powerful enough to fight off your draining.") - to_chat(target, "You feel something tugging across your body before subsiding.") + to_chat(src, span_revenwarning("[target.p_theyre(TRUE)] now powerful enough to fight off your draining.")) + to_chat(target, span_boldannounce("You feel something tugging across your body before subsiding.")) draining = 0 essence_drained = 0 return //hey, wait a minute... - to_chat(src, "You begin siphoning essence from [target]'s soul.") + to_chat(src, span_revenminor("You begin siphoning essence from [target]'s soul.")) if(target.stat != DEAD) - to_chat(target, "You feel a horribly unpleasant draining sensation as your grip on life weakens...") + to_chat(target, span_warning("You feel a horribly unpleasant draining sensation as your grip on life weakens...")) if(target.stat == SOFT_CRIT) target.Stun(46) reveal(46) stun(46) - target.visible_message("[target] suddenly rises slightly into the air, [target.p_their()] skin turning an ashy gray.") + target.visible_message(span_warning("[target] suddenly rises slightly into the air, [target.p_their()] skin turning an ashy gray.")) if(target.anti_magic_check(FALSE, TRUE)) - to_chat(src, "Something's wrong! [target] seems to be resisting the siphoning, leaving you vulnerable!") - target.visible_message("[target] slumps onto the ground.", \ - "Violet lights, dancing in your vision, receding--") + to_chat(src, span_revenminor("Something's wrong! [target] seems to be resisting the siphoning, leaving you vulnerable!")) + target.visible_message(span_warning("[target] slumps onto the ground."), \ + span_revenwarning("Violet lights, dancing in your vision, receding--")) draining = FALSE return var/datum/beam/B = Beam(target,icon_state="drain_life") @@ -79,24 +79,24 @@ change_essence_amount(essence_drained, FALSE, target) if(essence_drained <= 90 && target.stat != DEAD && !HAS_TRAIT(target, TRAIT_WEAK_SOUL)) essence_regen_cap += 5 - to_chat(src, "The absorption of [target]'s living soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap].") + to_chat(src, span_revenboldnotice("The absorption of [target]'s living soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap].")) if(essence_drained > 90) essence_regen_cap += 15 perfectsouls++ - to_chat(src, "The perfection of [target]'s soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap].") - to_chat(src, "[target]'s soul has been considerably weakened and will yield no more essence for the time being.") - target.visible_message("[target] slumps onto the ground.", \ - "Violets lights, dancing in your vision, getting clo--") + to_chat(src, span_revenboldnotice("The perfection of [target]'s soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap].")) + to_chat(src, span_revennotice("[target]'s soul has been considerably weakened and will yield no more essence for the time being.")) + target.visible_message(span_warning("[target] slumps onto the ground."), \ + span_revenwarning("Violets lights, dancing in your vision, getting clo--")) drained_mobs.Add(target) target.death(0) else - to_chat(src, "[target ? "[target] has":"[target.p_theyve(TRUE)]"] been drawn out of your grasp. The link has been broken.") + to_chat(src, span_revenwarning("[target ? "[target] has":"[target.p_theyve(TRUE)]"] been drawn out of your grasp. The link has been broken.")) if(target) //Wait, target is WHERE NOW? - target.visible_message("[target] slumps onto the ground.", \ - "Violets lights, dancing in your vision, receding--") + target.visible_message(span_warning("[target] slumps onto the ground."), \ + span_revenwarning("Violets lights, dancing in your vision, receding--")) qdel(B) else - to_chat(src, "You are not close enough to siphon [target ? "[target]'s":"[target.p_their()]"] soul. The link has been broken.") + to_chat(src, span_revenwarning("You are not close enough to siphon [target ? "[target]'s":"[target.p_their()]"] soul. The link has been broken.")) draining = FALSE essence_drained = 0 @@ -166,7 +166,7 @@ charge_counter = charge_max return FALSE name = "[initial(name)] ([cast_amount]E)" - to_chat(user, "You have unlocked [initial(name)]!") + to_chat(user, span_revennotice("You have unlocked [initial(name)]!")) panel = "Revenant Abilities" locked = FALSE charge_counter = charge_max @@ -203,7 +203,7 @@ for(var/obj/machinery/light/L in T) if(!L.on) continue - L.visible_message("\The [L] suddenly flares brightly and begins to spark!") + L.visible_message(span_warning("\The [L] suddenly flares brightly and begins to spark!")) var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(4, 0, L) s.start() @@ -303,7 +303,7 @@ continue if(human.anti_magic_check(FALSE, TRUE)) continue - to_chat(human, "You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")].") + to_chat(human, span_revenwarning("You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")].")) new /obj/effect/temp_visual/revenant(human.loc) human.emp_act(EMP_HEAVY) for(var/obj/thing in T) @@ -353,7 +353,7 @@ blight.stage++ if(!blightfound) H.ForceContractDisease(new /datum/disease/revblight(), FALSE, TRUE) - to_chat(H, "You feel [pick("suddenly sick", "a surge of nausea", "like your skin is wrong")].") + to_chat(H, span_revenminor("You feel [pick("suddenly sick", "a surge of nausea", "like your skin is wrong")].")) else if(mob.reagents) mob.reagents.add_reagent(/datum/reagent/toxin/plasma, 5) diff --git a/code/modules/antagonists/revenant/revenant_blight.dm b/code/modules/antagonists/revenant/revenant_blight.dm index 304b95ce460..defe4a6c851 100644 --- a/code/modules/antagonists/revenant/revenant_blight.dm +++ b/code/modules/antagonists/revenant/revenant_blight.dm @@ -21,7 +21,7 @@ if(affected_mob.dna && affected_mob.dna.species) affected_mob.dna.species.handle_mutant_bodyparts(affected_mob) affected_mob.dna.species.handle_hair(affected_mob) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, span_notice("You feel better.")) ..() @@ -35,7 +35,7 @@ cure() return FALSE if(DT_PROB(1.5 * stage, delta_time)) - to_chat(affected_mob, "You suddenly feel [pick("sick and tired", "disoriented", "tired and confused", "nauseated", "faint", "dizzy")]...") + to_chat(affected_mob, span_revennotice("You suddenly feel [pick("sick and tired", "disoriented", "tired and confused", "nauseated", "faint", "dizzy")]...")) affected_mob.add_confusion(8) affected_mob.adjustStaminaLoss(20, FALSE) new /obj/effect/temp_visual/revenant(affected_mob.loc) @@ -59,12 +59,12 @@ if(5) if(!finalstage) finalstage = TRUE - to_chat(affected_mob, "You feel like [pick("nothing's worth it anymore", "nobody ever needed your help", "nothing you did mattered", "everything you tried to do was worthless")].") + to_chat(affected_mob, span_revenbignotice("You feel like [pick("nothing's worth it anymore", "nobody ever needed your help", "nothing you did mattered", "everything you tried to do was worthless")].")) affected_mob.adjustStaminaLoss(22.5 * delta_time, FALSE) new /obj/effect/temp_visual/revenant(affected_mob.loc) if(affected_mob.dna && affected_mob.dna.species) affected_mob.dna.species.handle_mutant_bodyparts(affected_mob,"#1d2953") affected_mob.dna.species.handle_hair(affected_mob,"#1d2953") - affected_mob.visible_message("[affected_mob] looks terrifyingly gaunt...", "You suddenly feel like your skin is wrong...") + affected_mob.visible_message(span_warning("[affected_mob] looks terrifyingly gaunt..."), span_revennotice("You suddenly feel like your skin is wrong...")) affected_mob.add_atom_colour("#1d2953", TEMPORARY_COLOUR_PRIORITY) addtimer(CALLBACK(src, .proc/cure), 10 SECONDS) diff --git a/code/modules/antagonists/revolution/enemy_of_the_revolution.dm b/code/modules/antagonists/revolution/enemy_of_the_revolution.dm index ea10f577fe1..8cbad49940a 100644 --- a/code/modules/antagonists/revolution/enemy_of_the_revolution.dm +++ b/code/modules/antagonists/revolution/enemy_of_the_revolution.dm @@ -20,6 +20,6 @@ . = ..() /datum/antagonist/enemy_of_the_revolution/greet() - to_chat(owner, "The station is lost.") + to_chat(owner, span_userdanger("The station is lost.")) to_chat(owner, "As a surviving loyalist of the previous system, Your days are numbered.") owner.announce_objectives() diff --git a/code/modules/antagonists/revolution/enemy_of_the_state.dm b/code/modules/antagonists/revolution/enemy_of_the_state.dm index 4c99940a8f4..78ef8bdb577 100644 --- a/code/modules/antagonists/revolution/enemy_of_the_state.dm +++ b/code/modules/antagonists/revolution/enemy_of_the_state.dm @@ -27,8 +27,8 @@ . = ..() /datum/antagonist/enemy_of_the_state/greet() - to_chat(owner, "The revolution is dead.") - to_chat(owner, "You're an enemy of the state to Nanotrasen. You're a loose end to the Syndicate.") + to_chat(owner, span_userdanger("The revolution is dead.")) + to_chat(owner, span_boldannounce("You're an enemy of the state to Nanotrasen. You're a loose end to the Syndicate.")) to_chat(owner, "It's time to live out your days as an exile... or go out in one last big bang.") owner.announce_objectives() diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index af3dd8a363e..9229d929704 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -52,7 +52,7 @@ . = ..() /datum/antagonist/rev/greet() - to_chat(owner, "You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!") + to_chat(owner, span_userdanger("You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!")) owner.announce_objectives() /datum/antagonist/rev/create_team(datum/team/revolution/new_team) @@ -91,7 +91,7 @@ new_revhead.silent = TRUE old_owner.add_antag_datum(new_revhead,old_team) new_revhead.silent = FALSE - to_chat(old_owner, "You have proved your devotion to revolution! You are a head revolutionary now!") + to_chat(old_owner, span_userdanger("You have proved your devotion to revolution! You are a head revolutionary now!")) /datum/antagonist/rev/get_admin_commands() . = ..() @@ -110,7 +110,7 @@ new_owner.add_antag_datum(src) message_admins("[key_name_admin(admin)] has head-rev'ed [key_name_admin(new_owner)].") log_admin("[key_name(admin)] has head-rev'ed [key_name(new_owner)].") - to_chat(new_owner.current, "You are a member of the revolutionaries' leadership now!") + to_chat(new_owner.current, span_userdanger("You are a member of the revolutionaries' leadership now!")) /datum/antagonist/rev/head/get_admin_commands() . = ..() @@ -124,7 +124,7 @@ var/list/L = owner.current.get_contents() var/obj/item/assembly/flash/handheld/flash = locate() in L if (!flash) - to_chat(admin, "Deleting flash failed!") + to_chat(admin, span_danger("Deleting flash failed!")) return qdel(flash) @@ -145,7 +145,7 @@ var/list/L = owner.current.get_contents() var/obj/item/assembly/flash/handheld/flash = locate() in L if (!flash) - to_chat(admin, "Repairing flash failed!") + to_chat(admin, span_danger("Repairing flash failed!")) else flash.burnt_out = FALSE flash.update_appearance() @@ -205,7 +205,7 @@ new_rev.silent = TRUE old_owner.add_antag_datum(new_rev,old_team) new_rev.silent = FALSE - to_chat(old_owner, "Revolution has been disappointed of your leader traits! You are a regular revolutionary now!") + to_chat(old_owner, span_userdanger("Revolution has been disappointed of your leader traits! You are a regular revolutionary now!")) /// Checks if the revolution succeeded, and lets them know. /datum/antagonist/rev/proc/announce_victorious() @@ -224,24 +224,24 @@ return if(ishuman(owner.current)) - owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just remembered [owner.current.p_their()] real allegiance!", null, null, null, owner.current) + owner.current.visible_message(span_deconversion_message("[owner.current] looks like [owner.current.p_theyve()] just remembered [owner.current.p_their()] real allegiance!"), null, null, null, owner.current) to_chat(owner, "You are no longer a brainwashed revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you....") else if(issilicon(owner.current)) - owner.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.", null, null, null, owner.current) - to_chat(owner, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing but the name of the one who flashed you.") + owner.current.visible_message(span_deconversion_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it."), null, null, null, owner.current) + to_chat(owner, span_userdanger("The frame's firmware detects and deletes your neural reprogramming! You remember nothing but the name of the one who flashed you.")) /datum/antagonist/rev/head/farewell() if (announce_victorious() || deconversion_reason == DECONVERTER_STATION_WIN) return if((ishuman(owner.current))) if(owner.current.stat != DEAD) - owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just remembered [owner.current.p_their()] real allegiance!", null, null, null, owner.current) + owner.current.visible_message(span_deconversion_message("[owner.current] looks like [owner.current.p_theyve()] just remembered [owner.current.p_their()] real allegiance!"), null, null, null, owner.current) to_chat(owner, "You have given up your cause of overthrowing the command staff. You are no longer a Head Revolutionary.") else to_chat(owner, "The sweet release of death. You are no longer a Head Revolutionary.") else if(issilicon(owner.current)) - owner.current.visible_message("The frame beeps contentedly, suppressing the disloyal personality traits from the MMI before initalizing it.", null, null, null, owner.current) - to_chat(owner, "The frame's firmware detects and suppresses your unwanted personality traits! You feel more content with the leadership around these parts.") + owner.current.visible_message(span_deconversion_message("The frame beeps contentedly, suppressing the disloyal personality traits from the MMI before initalizing it."), null, null, null, owner.current) + to_chat(owner, span_userdanger("The frame's firmware detects and suppresses your unwanted personality traits! You feel more content with the leadership around these parts.")) //blunt trauma deconversions call this through species.dm spec_attacked_by() /datum/antagonist/rev/proc/remove_revolutionary(borged, deconverter) @@ -509,7 +509,7 @@ var/target = (head in targets) head_text += "
  1. " if(target) - head_text += "Target" + head_text += span_redtext("Target") head_text += "[printplayer(head, 1)]
  2. " head_text += "
    " result += head_text diff --git a/code/modules/antagonists/santa/santa.dm b/code/modules/antagonists/santa/santa.dm index 996a53f316d..cfa68da8f43 100644 --- a/code/modules/antagonists/santa/santa.dm +++ b/code/modules/antagonists/santa/santa.dm @@ -14,7 +14,7 @@ /datum/antagonist/santa/greet() . = ..() - to_chat(owner, "You are Santa! Your objective is to bring joy to the people on this station. You have a magical bag, which generates presents as long as you have it! You can examine the presents to take a peek inside, to make sure that you give the right gift to the right person.") + to_chat(owner, span_boldannounce("You are Santa! Your objective is to bring joy to the people on this station. You have a magical bag, which generates presents as long as you have it! You can examine the presents to take a peek inside, to make sure that you give the right gift to the right person.")) /datum/antagonist/santa/proc/give_equipment() var/mob/living/carbon/human/H = owner.current diff --git a/code/modules/antagonists/separatist/separatist.dm b/code/modules/antagonists/separatist/separatist.dm index 4f31f10a9c6..223f9620236 100644 --- a/code/modules/antagonists/separatist/separatist.dm +++ b/code/modules/antagonists/separatist/separatist.dm @@ -58,7 +58,7 @@ var/datum/objective/destroy = new /datum/objective/destroy_nation(null, attacking_nation) destroy.team = src objectives += destroy - update_all_member_objectives("The nation of [attacking_nation] has declared the intent to conquer [src]! You have new objectives.") + update_all_member_objectives(span_danger("The nation of [attacking_nation] has declared the intent to conquer [src]! You have new objectives.")) /datum/team/nation/proc/update_all_member_objectives(message) for(var/datum/mind/member in members) @@ -97,7 +97,7 @@ return nation /datum/antagonist/separatist/greet() - to_chat(owner, "You are a separatist for an independent [nation.nation_department]! [nation.name] forever! Protect the sovereignty of your newfound land with your comrades (fellow department members) in arms!") + to_chat(owner, span_boldannounce("You are a separatist for an independent [nation.nation_department]! [nation.name] forever! Protect the sovereignty of your newfound land with your comrades (fellow department members) in arms!")) owner.announce_objectives() //objectives diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index d9dbdc1c40b..49f786e350a 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -100,18 +100,18 @@ return ..() if(!Adjacent(A)) - to_chat(src, "You are too far away to use your slam attack on [A]!") + to_chat(src, span_warning("You are too far away to use your slam attack on [A]!")) return if(slam_cooldown + slam_cooldown_time > world.time) - to_chat(src, "Your slam ability is still on cooldown!") + to_chat(src, span_warning("Your slam ability is still on cooldown!")) return face_atom(A) var/mob/living/victim = A victim.take_bodypart_damage(brute=20, wound_bonus=wound_bonus) // don't worry, there's more punishment when they hit something - visible_message("[src] slams into [victim] with monstrous strength!", "You slam into [victim] with monstrous strength!", ignored_mobs=victim) - to_chat(victim, "[src] slams into you with monstrous strength, sending you flying like a ragdoll!") + visible_message(span_danger("[src] slams into [victim] with monstrous strength!"), span_danger("You slam into [victim] with monstrous strength!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[src] slams into you with monstrous strength, sending you flying like a ragdoll!")) var/turf/yeet_target = get_edge_target_turf(victim, dir) victim.throw_at(yeet_target, 10, 5, src) slam_cooldown = world.time @@ -157,16 +157,16 @@ /obj/item/organ/heart/demon/attack(mob/M, mob/living/carbon/user, obj/target) if(M != user) return ..() - user.visible_message("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!", \ - "An unnatural hunger consumes you. You raise [src] your mouth and devour it!") + user.visible_message(span_warning("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!"), \ + span_danger("An unnatural hunger consumes you. You raise [src] your mouth and devour it!")) playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) for(var/obj/effect/proc_holder/spell/knownspell in user.mind.spell_list) if(knownspell.type == /obj/effect/proc_holder/spell/bloodcrawl) - to_chat(user, "...and you don't feel any different.") + to_chat(user, span_warning("...and you don't feel any different.")) qdel(src) return - user.visible_message("[user]'s eyes flare a deep crimson!", \ - "You feel a strange power seep into your body... you have absorbed the demon's blood-travelling powers!") + user.visible_message(span_warning("[user]'s eyes flare a deep crimson!"), \ + span_userdanger("You feel a strange power seep into your body... you have absorbed the demon's blood-travelling powers!")) user.temporarilyRemoveItemFromInventory(src, TRUE) src.Insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E @@ -258,7 +258,7 @@ if(M.revive(full_heal = TRUE, admin_revive = TRUE)) M.grab_ghost(force = TRUE) playsound(T, feast_sound, 50, TRUE, -1) - to_chat(M, "You leave [src]'s warm embrace, and feel ready to take on the world.") + to_chat(M, span_clown("You leave [src]'s warm embrace, and feel ready to take on the world.")) /mob/living/simple_animal/hostile/imp/slaughter/laughter/bloodcrawl_swallow(mob/living/victim) // Keep their corpse so rescue is possible @@ -279,7 +279,7 @@ // Someone we've eaten has spontaneously revived; maybe nanites, maybe a changeling victim.forceMove(get_turf(src)) victim.exit_blood_effect() - victim.visible_message("[victim] falls out of the air, covered in blood, with a confused look on their face.") + victim.visible_message(span_warning("[victim] falls out of the air, covered in blood, with a confused look on their face.")) consumed_mobs -= victim UnregisterSignal(victim, COMSIG_MOB_STATCHANGE) diff --git a/code/modules/antagonists/slaughter/slaughter_antag.dm b/code/modules/antagonists/slaughter/slaughter_antag.dm index 1e5870a2b47..8f2e877c720 100644 --- a/code/modules/antagonists/slaughter/slaughter_antag.dm +++ b/code/modules/antagonists/slaughter/slaughter_antag.dm @@ -14,7 +14,7 @@ /datum/antagonist/slaughter/greet() . = ..() owner.announce_objectives() - to_chat(owner, "You have a powerful alt-attack that slams people backwards that you can activate by right-clicking your target!") + to_chat(owner, span_warning("You have a powerful alt-attack that slams people backwards that you can activate by right-clicking your target!")) /datum/antagonist/slaughter/proc/forge_objectives() if(summoner) diff --git a/code/modules/antagonists/space_dragon/space_dragon.dm b/code/modules/antagonists/space_dragon/space_dragon.dm index 2c35995255b..cc8322c0a9d 100644 --- a/code/modules/antagonists/space_dragon/space_dragon.dm +++ b/code/modules/antagonists/space_dragon/space_dragon.dm @@ -13,7 +13,7 @@ It is an empty void, of which our kind was the apex predator, and there was little to rival our claim to this title.\n\ But now, we find intruders spread out amongst our claim, willing to fight our teeth with magics unimaginable, their dens like lights flickering in the depths of space.\n\ Today, we will snuff out one of those lights.
    ") - to_chat(owner, "You have five minutes to find a safe location to place down the first rift. If you take longer than five minutes to place a rift, you will be returned from whence you came.") + to_chat(owner, span_boldwarning("You have five minutes to find a safe location to place down the first rift. If you take longer than five minutes to place a rift, you will be returned from whence you came.")) owner.announce_objectives() SEND_SOUND(owner.current, sound('sound/magic/demon_attack1.ogg')) diff --git a/code/modules/antagonists/survivalist/survivalist.dm b/code/modules/antagonists/survivalist/survivalist.dm index 0e38dc57105..1edcdd0d6e7 100644 --- a/code/modules/antagonists/survivalist/survivalist.dm +++ b/code/modules/antagonists/survivalist/survivalist.dm @@ -33,7 +33,7 @@ /datum/antagonist/survivalist/magic/greet() ..() - to_chat(owner, "As a wonderful magician, you should remember that spellbooks don't mean anything if they are used up.") + to_chat(owner, span_notice("As a wonderful magician, you should remember that spellbooks don't mean anything if they are used up.")) /datum/antagonist/survivalist/magic/forge_objectives() var/datum/objective/steal_five_of_type/summon_magic/magic = new diff --git a/code/modules/antagonists/traitor/IAA/internal_affairs.dm b/code/modules/antagonists/traitor/IAA/internal_affairs.dm index ff5d82bf237..349eca0aaa5 100644 --- a/code/modules/antagonists/traitor/IAA/internal_affairs.dm +++ b/code/modules/antagonists/traitor/IAA/internal_affairs.dm @@ -149,7 +149,7 @@ /datum/antagonist/traitor/internal_affairs/proc/steal_targets(datum/mind/victim) if(!owner.current||owner.current.stat==DEAD) return - to_chat(owner.current, "Target eliminated: [victim.name]") + to_chat(owner.current, span_userdanger("Target eliminated: [victim.name]")) for(var/objective_ in victim.get_all_objectives()) if(istype(objective_, /datum/objective/assassinate/internal)) var/datum/objective/assassinate/internal/objective = objective_ @@ -163,7 +163,7 @@ objectives += new_objective targets_stolen += objective.target var/status_text = objective.check_completion() ? "neutralised" : "active" - to_chat(owner.current, "New target added to database: [objective.target.name] ([status_text])") + to_chat(owner.current, span_userdanger("New target added to database: [objective.target.name] ([status_text])")) else if(istype(objective_, /datum/objective/destroy/internal)) var/datum/objective/destroy/internal/objective = objective_ var/datum/objective/destroy/internal/new_objective = new @@ -176,7 +176,7 @@ objectives += new_objective targets_stolen += objective.target var/status_text = objective.check_completion() ? "neutralised" : "active" - to_chat(owner.current, "New target added to database: [objective.target.name] ([status_text])") + to_chat(owner.current, span_userdanger("New target added to database: [objective.target.name] ([status_text])")) last_man_standing = TRUE for(var/objective_ in objectives) if(!is_internal_objective(objective_)) @@ -187,9 +187,9 @@ return if(last_man_standing) if(syndicate) - to_chat(owner.current,"All the loyalist agents are dead, and no more is required of you. Die a glorious death, agent.") + to_chat(owner.current,span_userdanger("All the loyalist agents are dead, and no more is required of you. Die a glorious death, agent.")) else - to_chat(owner.current,"All the other agents are dead, and you're the last loose end. Stage a Syndicate terrorist attack to cover up for today's events. You no longer have any limits on collateral damage.") + to_chat(owner.current,span_userdanger("All the other agents are dead, and you're the last loose end. Stage a Syndicate terrorist attack to cover up for today's events. You no longer have any limits on collateral damage.")) replace_escape_objective(owner) /datum/antagonist/traitor/internal_affairs/proc/iaa_process() @@ -210,12 +210,12 @@ objective.stolen = TRUE else if(objective.stolen) - var/fail_msg = "Your sensors tell you that [objective.target.current.real_name], one of the targets you were meant to have killed, pulled one over on you, and is still alive - do the job properly this time! " + var/fail_msg = span_userdanger("Your sensors tell you that [objective.target.current.real_name], one of the targets you were meant to have killed, pulled one over on you, and is still alive - do the job properly this time! ") if(last_man_standing) if(syndicate) - fail_msg += " You no longer have permission to die. " + fail_msg += span_userdanger(" You no longer have permission to die. ") else - fail_msg += " The truth could still slip out! Cease any terrorist actions as soon as possible, unneeded property damage or loss of employee life will lead to your contract being terminated." + fail_msg += span_userdanger(" The truth could still slip out! Cease any terrorist actions as soon as possible, unneeded property damage or loss of employee life will lead to your contract being terminated.") reinstate_escape_objective(owner) last_man_standing = FALSE to_chat(owner.current, fail_msg) @@ -229,17 +229,17 @@ /datum/antagonist/traitor/internal_affairs/proc/greet_iaa() var/crime = pick("distribution of contraband" , "unauthorized erotic action on duty", "embezzlement", "piloting under the influence", "dereliction of duty", "syndicate collaboration", "mutiny", "multiple homicides", "corporate espionage", "receiving bribes", "malpractice", "worship of prohibited life forms", "possession of profane texts", "murder", "arson", "insulting their manager", "grand theft", "conspiracy", "attempting to unionize", "vandalism", "gross incompetence") - to_chat(owner.current, "You are the [special_role].") + to_chat(owner.current, span_userdanger("You are the [special_role].")) if(syndicate) - to_chat(owner.current, "Your target has been framed for [crime], and you have been tasked with eliminating them to prevent them defending themselves in court.") + to_chat(owner.current, span_userdanger("Your target has been framed for [crime], and you have been tasked with eliminating them to prevent them defending themselves in court.")) to_chat(owner.current, "Any damage you cause will be a further embarrassment to Nanotrasen, so you have no limits on collateral damage.") - to_chat(owner.current, "You have been provided with a standard uplink to accomplish your task.") + to_chat(owner.current, span_userdanger("You have been provided with a standard uplink to accomplish your task.")) else - to_chat(owner.current, "Your target is suspected of [crime], and you have been tasked with eliminating them by any means necessary to avoid a costly and embarrassing public trial.") + to_chat(owner.current, span_userdanger("Your target is suspected of [crime], and you have been tasked with eliminating them by any means necessary to avoid a costly and embarrassing public trial.")) to_chat(owner.current, "While you have a license to kill, unneeded property damage or loss of employee life will lead to your contract being terminated.") - to_chat(owner.current, "For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink.") + to_chat(owner.current, span_userdanger("For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink.")) - to_chat(owner.current, "Finally, watch your back. Your target has friends in high places, and intel suggests someone may have taken out a contract of their own to protect them.") + to_chat(owner.current, span_userdanger("Finally, watch your back. Your target has friends in high places, and intel suggests someone may have taken out a contract of their own to protect them.")) owner.announce_objectives() /datum/antagonist/traitor/internal_affairs/greet() diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 399989d8d2e..c46a6a578e5 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -44,7 +44,7 @@ /datum/antagonist/traitor/on_removal() if(!silent && owner.current) - to_chat(owner.current,"You are no longer the [job_rank]!") + to_chat(owner.current,span_userdanger("You are no longer the [job_rank]!")) owner.special_role = null @@ -138,7 +138,7 @@ objectives += steal_objective /datum/antagonist/traitor/greet() - to_chat(owner.current, "You are the [owner.special_role].") + to_chat(owner.current, span_alertsyndie("You are the [owner.special_role].")) owner.announce_objectives() if(should_give_codewords) give_codewords() @@ -172,14 +172,14 @@ var/responses = jointext(GLOB.syndicate_code_response, ", ") to_chat(traitor_mob, "The Syndicate have provided you with the following codewords to identify fellow agents:") - to_chat(traitor_mob, "Code Phrase: [phrases]") - to_chat(traitor_mob, "Code Response: [responses]") + to_chat(traitor_mob, "Code Phrase: [span_blue("[phrases]")]") + to_chat(traitor_mob, "Code Response: [span_red("[responses]")]") - antag_memory += "Code Phrase: [phrases]
    " - antag_memory += "Code Response: [responses]
    " + antag_memory += "Code Phrase: [span_blue("[phrases]")]
    " + antag_memory += "Code Response: [span_red("[responses]")]
    " to_chat(traitor_mob, "Use the codewords during regular conversation to identify other agents. Proceed with caution, however, as everyone is a potential foe.") - to_chat(traitor_mob, "You memorize the codewords, allowing you to recognise them when heard.") + to_chat(traitor_mob, span_alertwarning("You memorize the codewords, allowing you to recognise them when heard.")) /datum/antagonist/traitor/roundend_report() var/list/result = list() @@ -205,9 +205,9 @@ var/count = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - objectives_text += "
    Objective #[count]: [objective.explanation_text] Success!" + objectives_text += "
    Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - objectives_text += "
    Objective #[count]: [objective.explanation_text] Fail." + objectives_text += "
    Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" traitor_won = FALSE count++ @@ -226,9 +226,9 @@ result += contractor_round_end() if(traitor_won) - result += "The [special_role_text] was successful!" + result += span_greentext("The [special_role_text] was successful!") else - result += "The [special_role_text] has failed!" + result += span_redtext("The [special_role_text] has failed!") SEND_SOUND(owner.current, 'sound/ambience/ambifailure.ogg') return result.Join("
    ") @@ -264,8 +264,8 @@ if (completed_contracts > 1) pluralCheck = "contracts" - result += "Completed [completed_contracts] [pluralCheck] for a total of \ - [tc_total] TC![contractor_support_unit]
    " + result += "Completed [span_greentext("[completed_contracts]")] [pluralCheck] for a total of \ + [span_greentext("[tc_total] TC")]![contractor_support_unit]
    " return result @@ -274,7 +274,7 @@ var/responses = jointext(GLOB.syndicate_code_response, ", ") var/message = "
    The code phrases were: [phrases]
    \ - The code responses were: [responses]
    " + The code responses were: [span_redtext("[responses]")]
    " return message diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index b9329855781..fe01a510ebb 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -79,10 +79,10 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) /datum/action/innate/ai/proc/adjust_uses(amt, silent) uses += amt if(!silent && uses) - to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.") + to_chat(owner, span_notice("[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.")) if(!uses) if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway! - to_chat(owner, "[name] has run out of uses!") + to_chat(owner, span_warning("[name] has run out of uses!")) qdel(src) /// Framework for ranged abilities that can have different effects by left-clicking stuff. @@ -106,10 +106,10 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) /datum/action/innate/ai/ranged/adjust_uses(amt, silent) uses += amt if(!silent && uses) - to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.") + to_chat(owner, span_notice("[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.")) if(!uses) if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway! - to_chat(owner, "[name] has run out of uses!") + to_chat(owner, span_warning("[name] has run out of uses!")) Remove(owner) QDEL_IN(src, 100) //let any active timers on us finish up @@ -190,7 +190,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) /datum/action/innate/ai/nuke_station/Activate() var/turf/T = get_turf(owner) if(!istype(T) || !is_station_level(T.z)) - to_chat(owner, "You cannot activate the doomsday device while off-station!") + to_chat(owner, span_warning("You cannot activate the doomsday device while off-station!")) return if(tgui_alert(owner, "Send arming signal? (true = arm, false = cancel)", "purge_all_life()", list("confirm = TRUE;", "confirm = FALSE;")) != "confirm = TRUE;") return @@ -216,14 +216,14 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) active = FALSE return owner.playsound_local(owner, 'sound/misc/bloblarm.ogg', 50, 0, use_reverb = FALSE) - to_chat(owner, "!!! UNAUTHORIZED SELF-DESTRUCT ACCESS !!!") - to_chat(owner, "This is a class-3 security violation. This incident will be reported to Central Command.") + to_chat(owner, span_userdanger("!!! UNAUTHORIZED SELF-DESTRUCT ACCESS !!!")) + to_chat(owner, span_boldannounce("This is a class-3 security violation. This incident will be reported to Central Command.")) for(var/i in 1 to 3) sleep(20) if(QDELETED(owner) || owner_AI.shunted) active = FALSE return - to_chat(owner, "Sending security report to Central Command.....[rand(0, 9) + (rand(20, 30) * i)]%") + to_chat(owner, span_boldannounce("Sending security report to Central Command.....[rand(0, 9) + (rand(20, 30) * i)]%")) sleep(3) if(QDELETED(owner) || owner_AI.shunted) active = FALSE @@ -234,13 +234,13 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(QDELETED(owner) || owner_AI.shunted) active = FALSE return - to_chat(owner, "Credentials accepted. Welcome, akjv9c88asdf12nb.") + to_chat(owner, span_boldnotice("Credentials accepted. Welcome, akjv9c88asdf12nb.")) owner.playsound_local(owner, 'sound/misc/server-ready.ogg', 50, 0, use_reverb = FALSE) sleep(5) if(QDELETED(owner) || owner_AI.shunted) active = FALSE return - to_chat(owner, "Arm self-destruct device? (Y/N)") + to_chat(owner, span_boldnotice("Arm self-destruct device? (Y/N)")) owner.playsound_local(owner, 'sound/misc/compiler-stage1.ogg', 50, 0, use_reverb = FALSE) sleep(20) if(QDELETED(owner) || owner_AI.shunted) @@ -251,7 +251,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(QDELETED(owner) || owner_AI.shunted) active = FALSE return - to_chat(owner, "Confirm arming of self-destruct device? (Y/N)") + to_chat(owner, span_boldnotice("Confirm arming of self-destruct device? (Y/N)")) owner.playsound_local(owner, 'sound/misc/compiler-stage2.ogg', 50, 0, use_reverb = FALSE) sleep(10) if(QDELETED(owner) || owner_AI.shunted) @@ -262,7 +262,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(QDELETED(owner) || owner_AI.shunted) active = FALSE return - to_chat(owner, "Please repeat password to confirm.") + to_chat(owner, span_boldnotice("Please repeat password to confirm.")) owner.playsound_local(owner, 'sound/misc/compiler-stage2.ogg', 50, 0, use_reverb = FALSE) sleep(14) if(QDELETED(owner) || owner_AI.shunted) @@ -273,7 +273,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(QDELETED(owner) || owner_AI.shunted) active = FALSE return - to_chat(owner, "Credentials accepted. Transmitting arming signal...") + to_chat(owner, span_boldnotice("Credentials accepted. Transmitting arming signal...")) owner.playsound_local(owner, 'sound/misc/server-ready.ogg', 50, 0, use_reverb = FALSE) sleep(30) if(QDELETED(owner) || owner_AI.shunted) @@ -372,7 +372,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) continue if(issilicon(L)) continue - to_chat(L, "The blast wave from [src] tears you atom from atom!") + to_chat(L, span_userdanger("The blast wave from [src] tears you atom from atom!")) L.dust() to_chat(world, "The AI cleansed the station of life with the doomsday device!") SSticker.force_ending = 1 @@ -406,7 +406,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) C.post_status("alert", "lockdown") minor_announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.","Network Alert:", TRUE) - to_chat(owner, "Lockdown initiated. Network reset in 90 seconds.") + to_chat(owner, span_danger("Lockdown initiated. Network reset in 90 seconds.")) addtimer(CALLBACK(GLOBAL_PROC, .proc/minor_announce, "Automatic system reboot complete. Have a secure day.", "Network reset:"), 900) @@ -449,19 +449,19 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) remove_ranged_ability() return if(!istype(target)) - to_chat(ranged_ability_user, "You can only animate machines!") + to_chat(ranged_ability_user, span_warning("You can only animate machines!")) return if(!target.can_be_overridden() || is_type_in_typecache(target, GLOB.blacklisted_malf_machines)) - to_chat(ranged_ability_user, "That machine can't be overridden!") + to_chat(ranged_ability_user, span_warning("That machine can't be overridden!")) return ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, 0, use_reverb = FALSE) attached_action.adjust_uses(-1) if(attached_action?.uses) attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." attached_action.UpdateButtonIcon() - target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") + target.audible_message(span_userdanger("You hear a loud electrical buzzing sound coming from [target]!")) addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/override_machine.proc/animate_machine, target), 50) //kabeep! - remove_ranged_ability("Sending override signal...") + remove_ranged_ability(span_danger("Sending override signal...")) return TRUE /// Destroy RCDs: Detonates all non-cyborg RCDs on the station. @@ -486,7 +486,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(!istype(I, /obj/item/construction/rcd/borg)) //Ensures that cyborg RCDs are spared. var/obj/item/construction/rcd/RCD = I RCD.detonate_pulse() - to_chat(owner, "RCD detonation pulse emitted.") + to_chat(owner, span_danger("RCD detonation pulse emitted.")) owner.playsound_local(owner, 'sound/machines/twobeep.ogg', 50, 0) /// Overload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase. @@ -532,19 +532,19 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) remove_ranged_ability() return if(!istype(target)) - to_chat(ranged_ability_user, "You can only overload machines!") + to_chat(ranged_ability_user, span_warning("You can only overload machines!")) return if(is_type_in_typecache(target, GLOB.blacklisted_malf_machines)) - to_chat(ranged_ability_user, "You cannot overload that device!") + to_chat(ranged_ability_user, span_warning("You cannot overload that device!")) return ranged_ability_user.playsound_local(ranged_ability_user, "sparks", 50, 0) attached_action.adjust_uses(-1) if(attached_action?.uses) attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." attached_action.UpdateButtonIcon() - target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") + target.audible_message(span_userdanger("You hear a loud electrical buzzing sound coming from [target]!")) addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/overload_machine.proc/detonate_machine, target), 50) //kaboom! - remove_ranged_ability("Overcharging machine...") + remove_ranged_ability(span_danger("Overcharging machine...")) return TRUE /// Blackout: Overloads a random number of lights across the station. Three uses. @@ -574,7 +574,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) apc.overload_lighting() else apc.overload++ - to_chat(owner, "Overcurrent applied to the powernet.") + to_chat(owner, span_notice("Overcurrent applied to the powernet.")) owner.playsound_local(owner, "sparks", 50, 0) adjust_uses(-1) if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe @@ -620,7 +620,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) conveyor.masterAI = owner playsound(T, 'sound/effects/phasein.ogg', 100, TRUE) owner_AI.can_shunt = FALSE - to_chat(owner, "You are no longer able to shunt your core to APCs.") + to_chat(owner, span_warning("You are no longer able to shunt your core to APCs.")) adjust_uses(-1) /mob/living/silicon/ai/proc/remove_transformer_image(client/C, image/I, turf/T) @@ -652,7 +652,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) I.icon_state = "[success ? "green" : "red"]Overlay" //greenOverlay and redOverlay for success and failure respectively addtimer(CALLBACK(src, .proc/remove_transformer_image, client, I, T), 30) if(!success) - to_chat(src, "[alert_msg]") + to_chat(src, span_warning("[alert_msg]")) return success /// Air Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms. @@ -677,7 +677,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) if(!is_station_level(AA.z)) continue AA.obj_flags |= EMAGGED - to_chat(owner, "All air alarm safeties on the station have been overridden. Air alarms may now use the Flood environmental mode.") + to_chat(owner, span_notice("All air alarm safeties on the station have been overridden. Air alarms may now use the Flood environmental mode.")) owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) /// Thermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job. @@ -702,7 +702,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) continue F.obj_flags |= EMAGGED F.update_appearance() - to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.") + to_chat(owner, span_notice("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) /// Disable Emergency Lights @@ -727,7 +727,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) L.no_emergency = TRUE INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE) CHECK_TICK - to_chat(owner, "Emergency light connections severed.") + to_chat(owner, span_notice("Emergency light connections severed.")) owner.playsound_local(owner, 'sound/effects/light_flicker.ogg', 50, FALSE) /// Reactivate Camera Network: Reactivates up to 30 cameras across the station. @@ -764,7 +764,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) C.view_range = initial(C.view_range) fixed_cameras++ uses-- //Not adjust_uses() so it doesn't automatically delete or show a message - to_chat(owner, "Diagnostic complete! Cameras reactivated: [fixed_cameras]. Reactivations remaining: [uses].") + to_chat(owner, span_notice("Diagnostic complete! Cameras reactivated: [fixed_cameras]. Reactivations remaining: [uses].")) owner.playsound_local(owner, 'sound/items/wirecutter.ogg', 50, 0) adjust_uses(0, TRUE) //Checks the uses remaining if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe diff --git a/code/modules/antagonists/traitor/equipment/contractor.dm b/code/modules/antagonists/traitor/equipment/contractor.dm index 6cd13853ec0..4a5b72f4319 100644 --- a/code/modules/antagonists/traitor/equipment/contractor.dm +++ b/code/modules/antagonists/traitor/equipment/contractor.dm @@ -163,7 +163,7 @@ . = ..() if (.) - to_chat(user, "The uplink vibrates quietly, connecting to nearby agents...") + to_chat(user, span_notice("The uplink vibrates quietly, connecting to nearby agents...")) var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the Contractor Support Unit for [user.real_name]?", ROLE_PAI, FALSE, 100, POLL_IGNORE_CONTRACTOR_SUPPORT) @@ -171,7 +171,7 @@ var/mob/dead/observer/C = pick(candidates) spawn_contractor_partner(user, C.key) else - to_chat(user, "No available agents at this time, please try again later.") + to_chat(user, span_notice("No available agents at this time, please try again later.")) // refund and add the limit back. limited += 1 @@ -225,8 +225,8 @@ partner_mind = partner.mind partner_mind.make_contractor_support() - to_chat(partner_mind.current, "\n[user.real_name] is your superior. Follow any, and all orders given by them. You're here to support their mission only.") - to_chat(partner_mind.current, "Should they perish, or be otherwise unavailable, you're to assist other active agents in this mission area to the best of your ability.\n\n") + to_chat(partner_mind.current, "\n[span_alertwarning("[user.real_name] is your superior. Follow any, and all orders given by them. You're here to support their mission only.")]") + to_chat(partner_mind.current, "[span_alertwarning("Should they perish, or be otherwise unavailable, you're to assist other active agents in this mission area to the best of your ability.")]\n\n") new /obj/effect/pod_landingzone(free_location, arrival_pod) @@ -265,9 +265,9 @@ var/atom/item_to_create = new item(get_turf(user)) if(user.put_in_hands(item_to_create)) - to_chat(user, "Your purchase materializes into your hands!") + to_chat(user, span_notice("Your purchase materializes into your hands!")) else - to_chat(user, "Your purchase materializes onto the floor.") + to_chat(user, span_notice("Your purchase materializes onto the floor.")) return item_to_create return TRUE diff --git a/code/modules/antagonists/traitor/syndicate_contract.dm b/code/modules/antagonists/traitor/syndicate_contract.dm index 084f65e3c83..dfbb7aaffd2 100644 --- a/code/modules/antagonists/traitor/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/syndicate_contract.dm @@ -166,17 +166,17 @@ M.flash_act() M.add_confusion(10) M.blur_eyes(5) - to_chat(M, "You feel strange...") + to_chat(M, span_warning("You feel strange...")) sleep(60) - to_chat(M, "That pod did something to you...") + to_chat(M, span_warning("That pod did something to you...")) M.Dizzy(35) sleep(65) - to_chat(M, "Your head pounds... It feels like it's going to burst out your skull!") + to_chat(M, span_warning("Your head pounds... It feels like it's going to burst out your skull!")) M.flash_act() M.add_confusion(20) M.blur_eyes(3) sleep(30) - to_chat(M, "Your head pounds...") + to_chat(M, span_warning("Your head pounds...")) sleep(100) M.flash_act() M.Unconscious(200) @@ -205,7 +205,7 @@ return_pod.style = STYLE_SYNDICATE do_sparks(8, FALSE, M) - M.visible_message("[M] vanishes...") + M.visible_message(span_notice("[M] vanishes...")) for(var/obj/item/W in M) if (ishuman(M)) diff --git a/code/modules/antagonists/valentines/heartbreaker.dm b/code/modules/antagonists/valentines/heartbreaker.dm index 8c993da7dc5..0f4fcf300e2 100644 --- a/code/modules/antagonists/valentines/heartbreaker.dm +++ b/code/modules/antagonists/valentines/heartbreaker.dm @@ -15,5 +15,5 @@ . = ..() /datum/antagonist/heartbreaker/greet() - to_chat(owner, "You didn't get a date! They're all having fun without you! You'll show them though...") + to_chat(owner, span_warning("You didn't get a date! They're all having fun without you! You'll show them though...")) owner.announce_objectives() diff --git a/code/modules/antagonists/valentines/valentine.dm b/code/modules/antagonists/valentines/valentine.dm index f781857c7e3..59ed9448a68 100644 --- a/code/modules/antagonists/valentines/valentine.dm +++ b/code/modules/antagonists/valentines/valentine.dm @@ -29,7 +29,7 @@ . = ..() /datum/antagonist/valentine/greet() - to_chat(owner, "You're on a date with [date.name]! Protect [date.p_them()] at all costs. This takes priority over all other loyalties.") + to_chat(owner, span_warning("You're on a date with [date.name]! Protect [date.p_them()] at all costs. This takes priority over all other loyalties.")) //Squashed up a bit /datum/antagonist/valentine/roundend_report() diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index 27b3bd56731..24bff745427 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -29,9 +29,9 @@ if(charges > 0) new /obj/effect/rend(get_turf(user), spawn_type, spawn_amt, rend_desc, spawn_fast) charges-- - user.visible_message("[src] hums with power as [user] deals a blow to [activate_descriptor] itself!") + user.visible_message(span_boldannounce("[src] hums with power as [user] deals a blow to [activate_descriptor] itself!")) else - to_chat(user, "The unearthly energies that powered the blade are now dormant.") + to_chat(user, span_danger("The unearthly energies that powered the blade are now dormant.")) /obj/effect/rend name = "tear in the fabric of reality" @@ -63,7 +63,7 @@ /obj/effect/rend/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/nullrod)) - user.visible_message("[user] seals \the [src] with \the [I].") + user.visible_message(span_danger("[user] seals \the [src] with \the [I].")) qdel(src) return else @@ -142,7 +142,7 @@ var/datum/component/mood/insaneinthemembrane = jedi.GetComponent(/datum/component/mood) if(insaneinthemembrane.sanity < 15) return //they've already seen it and are about to die, or are just too insane to care - to_chat(jedi, "OH GOD! NONE OF IT IS REAL! NONE OF IT IS REEEEEEEEEEEEEEEEEEEEEEEEAL!") + to_chat(jedi, span_userdanger("OH GOD! NONE OF IT IS REAL! NONE OF IT IS REEEEEEEEEEEEEEEEEEEEEEEEAL!")) insaneinthemembrane.sanity = 0 for(var/lore in typesof(/datum/brain_trauma/severe)) jedi.gain_trauma(lore) @@ -186,7 +186,7 @@ var/mob/holder = get(loc, /mob) if(current_owner && current_owner != holder) - to_chat(current_owner, "Your otherworldly vision fades...") + to_chat(current_owner, span_notice("Your otherworldly vision fades...")) REMOVE_TRAIT(current_owner, TRAIT_SIXTHSENSE, SCRYING_ORB) REMOVE_TRAIT(current_owner, TRAIT_XRAY_VISION, SCRYING_ORB) @@ -197,14 +197,14 @@ if(!current_owner && holder) current_owner = holder - to_chat(current_owner, "You can see...everything!") + to_chat(current_owner, span_notice("You can see...everything!")) ADD_TRAIT(current_owner, TRAIT_SIXTHSENSE, SCRYING_ORB) ADD_TRAIT(current_owner, TRAIT_XRAY_VISION, SCRYING_ORB) current_owner.update_sight() /obj/item/scrying/attack_self(mob/user) - visible_message("[user] stares into [src], their eyes glazing over.") + visible_message(span_danger("[user] stares into [src], their eyes glazing over.")) user.ghostize(1) /////////////////////////////////////////Necromantic Stone/////////////////// @@ -232,7 +232,7 @@ return if(M.stat != DEAD) - to_chat(user, "This artifact can only affect the dead!") + to_chat(user, span_warning("This artifact can only affect the dead!")) return for(var/mob/dead/observer/ghost in GLOB.dead_mob_list) //excludes new players @@ -241,19 +241,19 @@ break if(!M.mind || !M.client) - to_chat(user, "There is no soul connected to this body...") + to_chat(user, span_warning("There is no soul connected to this body...")) return check_spooky()//clean out/refresh the list if(spooky_scaries.len >= 3 && !unlimited) - to_chat(user, "This artifact can only affect three undead at a time!") + to_chat(user, span_warning("This artifact can only affect three undead at a time!")) return M.set_species(/datum/species/skeleton, icon_update=0) M.revive(full_heal = TRUE, admin_revive = TRUE) spooky_scaries |= M - to_chat(M, "You have been revived by [user.real_name]!") - to_chat(M, "[user.p_theyre(TRUE)] your master now, assist [user.p_them()] even if it costs you your new life!") + to_chat(M, "[span_userdanger("You have been revived by ")][user.real_name]!") + to_chat(M, span_userdanger("[user.p_theyre(TRUE)] your master now, assist [user.p_them()] even if it costs you your new life!")) equip_roman_skeleton(M) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 394b087228b..052c43b6db3 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -49,18 +49,18 @@ /obj/item/soulstone/pickup(mob/living/user) ..() if(!role_check(user)) - to_chat(user, "An overwhelming feeling of dread comes over you as you pick up [src]. It would be wise to be rid of this quickly.") + to_chat(user, span_danger("An overwhelming feeling of dread comes over you as you pick up [src]. It would be wise to be rid of this quickly.")) /obj/item/soulstone/examine(mob/user) . = ..() if(role_check(user) || isobserver(user)) if (old_shard) - . += "A soulstone, used to capture a soul, either from dead humans or from freed shades." + . += span_cult("A soulstone, used to capture a soul, either from dead humans or from freed shades.") else - . += "A soulstone, used to capture souls, either from unconscious or sleeping humans or from freed shades." - . += "The captured soul can be placed into a construct shell to produce a construct, or released from the stone as a shade." + . += span_cult("A soulstone, used to capture souls, either from unconscious or sleeping humans or from freed shades.") + . += span_cult("The captured soul can be placed into a construct shell to produce a construct, or released from the stone as a shade.") if(spent) - . += "This shard is spent; it is now just a creepy rock." + . += span_cult("This shard is spent; it is now just a creepy rock.") /obj/item/soulstone/Destroy() //Stops the shade from being qdel'd immediately and their ghost being sent back to the arrival shuttle. for(var/mob/living/simple_animal/shade/A in src) @@ -68,7 +68,7 @@ return ..() /obj/item/soulstone/proc/hot_potato(mob/living/user) - to_chat(user, "Holy magics residing in \the [src] burn your hand!") + to_chat(user, span_userdanger("Holy magics residing in \the [src] burn your hand!")) var/obj/item/bodypart/affecting = user.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") affecting.receive_damage( 0, 10 ) // 10 burn damage user.emote("scream") @@ -80,15 +80,15 @@ /obj/item/soulstone/attack(mob/living/carbon/human/M, mob/living/user) if(!role_check(user)) user.Unconscious(100) - to_chat(user, "Your body is wracked with debilitating pain!") + to_chat(user, span_userdanger("Your body is wracked with debilitating pain!")) return if(spent) - to_chat(user, "There is no power left in [src].") + to_chat(user, span_warning("There is no power left in [src].")) return if(!ishuman(M))//If target is not a human. return ..() if(IS_CULTIST(M) && IS_CULTIST(user)) - to_chat(user, "\"Come now, do not capture your bretheren's soul.\"") + to_chat(user, span_cultlarge("\"Come now, do not capture your bretheren's soul.\"")) return if(theme == THEME_HOLY && IS_CULTIST(user)) hot_potato(user) @@ -103,7 +103,7 @@ return if(!role_check(user)) user.Unconscious(100) - to_chat(user, "Your body is wracked with debilitating pain!") + to_chat(user, span_userdanger("Your body is wracked with debilitating pain!")) return if(theme == THEME_HOLY && IS_CULTIST(user)) hot_potato(user) @@ -145,13 +145,13 @@ return if(!role_check(user)) user.Unconscious(10 SECONDS) - to_chat(user, "Your body is wracked with debilitating pain!") + to_chat(user, span_userdanger("Your body is wracked with debilitating pain!")) return user.visible_message("[user] holds [src] above [user.p_their()] head and forces it into [target_toolbox] with a flash of light!", \ - "You hold [src] above your head briefly, then force it into [target_toolbox], transferring the [occupant]'s soul!", ignored_mobs = occupant) - to_chat(occupant, "[user] holds you up briefly, then forces you into [target_toolbox]!") - to_chat(occupant, "Your eternal soul has been sacrificed to restore the soul of a toolbox. Them's the breaks!") + span_notice("You hold [src] above your head briefly, then force it into [target_toolbox], transferring the [occupant]'s soul!"), ignored_mobs = occupant) + to_chat(occupant, span_userdanger("[user] holds you up briefly, then forces you into [target_toolbox]!")) + to_chat(occupant, span_deadsay("Your eternal soul has been sacrificed to restore the soul of a toolbox. Them's the breaks!")) occupant.client?.give_award(/datum/award/achievement/misc/toolbox_soul, occupant) occupant.deathmessage = "shrieks out in unholy pain as [occupant.p_their()] soul is absorbed into [target_toolbox]!" @@ -183,7 +183,7 @@ if(istype(O, /obj/item/soulstone)) var/obj/item/soulstone/SS = O if(!IS_CULTIST(user) && !IS_WIZARD(user) && !SS.theme == THEME_HOLY) - to_chat(user, "An overwhelming feeling of dread comes over you as you attempt to place [SS] into the shell. It would be wise to be rid of this quickly.") + to_chat(user, span_danger("An overwhelming feeling of dread comes over you as you attempt to place [SS] into the shell. It would be wise to be rid of this quickly.")) user.Dizzy(30) return if(SS.theme == THEME_HOLY && IS_CULTIST(user)) @@ -211,21 +211,21 @@ init_shade(T, user) return TRUE else - to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...") + to_chat(user, "[span_userdanger("Capture failed!")]: The soul has already fled its mortal frame. You attempt to bring it back...") return getCultGhost(T,user) if("VICTIM") var/mob/living/carbon/human/T = target var/datum/antagonist/cult/C = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) if(C?.cult_team.is_sacrifice_target(T.mind)) - to_chat(user, "\"This soul is mine. SACRIFICE THEM!\"") + to_chat(user, span_cult("\"This soul is mine. SACRIFICE THEM!\"")) return FALSE if(contents.len) - to_chat(user, "Capture failed!: [src] is full! Free an existing soul to make room.") + to_chat(user, "[span_userdanger("Capture failed!")]: [src] is full! Free an existing soul to make room.") else if((!old_shard && T.stat != CONSCIOUS) || (old_shard && T.stat == DEAD)) if(T.client == null) - to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...") + to_chat(user, "[span_userdanger("Capture failed!")]: The soul has already fled its mortal frame. You attempt to bring it back...") getCultGhost(T,user) else for(var/obj/item/W in T) @@ -233,12 +233,12 @@ init_shade(T, user, message_user = 1) qdel(T) else - to_chat(user, "Capture failed!: Kill or maim the victim first!") + to_chat(user, "[span_userdanger("Capture failed!")]: Kill or maim the victim first!") if("SHADE") var/mob/living/simple_animal/shade/T = target if(contents.len) - to_chat(user, "Capture failed!: [src] is full! Free an existing soul to make room.") + to_chat(user, "[span_userdanger("Capture failed!")]: [src] is full! Free an existing soul to make room.") else T.AddComponent(/datum/component/soulstoned, src) if(theme == THEME_HOLY) @@ -249,9 +249,9 @@ if(theme == THEME_CULT) icon_state = "soulstone2" name = "soulstone: Shade of [T.real_name]" - to_chat(T, "Your soul has been captured by [src]. Its arcane energies are reknitting your ethereal form.") + to_chat(T, span_notice("Your soul has been captured by [src]. Its arcane energies are reknitting your ethereal form.")) if(user != T) - to_chat(user, "Capture successful!: [T.real_name]'s soul has been captured and stored within [src].") + to_chat(user, "[span_info("Capture successful!:")] [T.real_name]'s soul has been captured and stored within [src].") if("CONSTRUCT") var/obj/structure/constructshell/T = target @@ -305,7 +305,7 @@ qdel(T) qdel(src) else - to_chat(user, "Creation failed!: [src] is empty! Go kill someone!") + to_chat(user, "[span_userdanger("Creation failed!")]: [src] is empty! Go kill someone!") /obj/item/soulstone/proc/check_menu(mob/user) if(!istype(user)) @@ -378,7 +378,7 @@ else if(role_check(user)) to_chat(S, "Your soul has been captured! You are now bound to [user.real_name]'s will. Help [user.p_them()] succeed in [user.p_their()] goals at all costs.") if(message_user) - to_chat(user, "Capture successful!: [T.real_name]'s soul has been ripped from [T.p_their()] body and stored within [src].") + to_chat(user, "[span_info("Capture successful!:")] [T.real_name]'s soul has been ripped from [T.p_their()] body and stored within [src].") /obj/item/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/user) @@ -393,7 +393,7 @@ if(!T) return FALSE if(!chosen_ghost || !chosen_ghost.client) - to_chat(user, "There were no spirits willing to become a shade.") + to_chat(user, span_danger("There were no spirits willing to become a shade.")) return FALSE if(contents.len) //If they used the soulstone on someone else in the meantime return FALSE diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 6e0c994b60f..9385e2bf3c0 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -37,7 +37,7 @@ if(initial(S.name) != initial(aspell.name)) // Not using directly in case it was learned from one spellbook then upgraded in another continue if(aspell.spell_level >= aspell.level_max) - to_chat(user, "This spell cannot be improved further!") + to_chat(user, span_warning("This spell cannot be improved further!")) return FALSE aspell.name = initial(aspell.name) @@ -48,21 +48,21 @@ var/newname = "ERROR" switch(aspell.spell_level) if(1) - to_chat(user, "You have improved [aspell.name] into Efficient [aspell.name].") + to_chat(user, span_notice("You have improved [aspell.name] into Efficient [aspell.name].")) newname = "Efficient [aspell.name]" if(2) - to_chat(user, "You have further improved [aspell.name] into Quickened [aspell.name].") + to_chat(user, span_notice("You have further improved [aspell.name] into Quickened [aspell.name].")) newname = "Quickened [aspell.name]" if(3) - to_chat(user, "You have further improved [aspell.name] into Free [aspell.name].") + to_chat(user, span_notice("You have further improved [aspell.name] into Free [aspell.name].")) newname = "Free [aspell.name]" if(4) - to_chat(user, "You have further improved [aspell.name] into Instant [aspell.name].") + to_chat(user, span_notice("You have further improved [aspell.name] into Instant [aspell.name].")) newname = "Instant [aspell.name]" aspell.name = newname name = newname if(aspell.spell_level >= aspell.level_max) - to_chat(user, "This spell cannot be strengthened any further!") + to_chat(user, span_warning("This spell cannot be strengthened any further!")) //we'll need to update the cooldowns for the spellbook GetInfo() log_spellbook("[key_name(user)] improved their knowledge of [src] to level [aspell.spell_level] for [cost] points") @@ -72,7 +72,7 @@ log_spellbook("[key_name(user)] learned [src] for [cost] points") SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name) user.mind.AddSpell(S) - to_chat(user, "You have learned [S.name].") + to_chat(user, span_notice("You have learned [S.name].")) return TRUE /datum/spellbook_entry/proc/CanRefund(mob/living/carbon/human/user,obj/item/spellbook/book) @@ -88,7 +88,7 @@ /datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user,obj/item/spellbook/book) //return point value or -1 for failure var/area/wizard_station/A = GLOB.areas_by_type[/area/wizard_station] if(!(user in A.contents)) - to_chat(user, "You can only refund spells at the wizard lair!") + to_chat(user, span_warning("You can only refund spells at the wizard lair!")) return -1 if(!S) S = new spell_type() @@ -554,7 +554,7 @@ SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name) new /datum/round_event/wizard/ghost() times++ - to_chat(user, "You have cast summon ghosts!") + to_chat(user, span_notice("You have cast summon ghosts!")) playsound(get_turf(user), 'sound/effects/ghost2.ogg', 50, TRUE) return TRUE @@ -577,7 +577,7 @@ rightandwrong(SUMMON_GUNS, user, 10) times++ playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, TRUE) - to_chat(user, "You have cast summon guns!") + to_chat(user, span_notice("You have cast summon guns!")) return TRUE /datum/spellbook_entry/summon/magic @@ -599,7 +599,7 @@ rightandwrong(SUMMON_MAGIC, user, 10) times++ playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, TRUE) - to_chat(user, "You have cast summon magic!") + to_chat(user, span_notice("You have cast summon magic!")) return TRUE /datum/spellbook_entry/summon/events @@ -623,7 +623,7 @@ summonevents() times++ playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, TRUE) - to_chat(user, "You have cast summon events.") + to_chat(user, span_notice("You have cast summon events.")) return TRUE /datum/spellbook_entry/summon/events/GetInfo() @@ -644,7 +644,7 @@ if(!message) return FALSE curse_of_madness(user, message) - to_chat(user, "You have cast the curse of insanity!") + to_chat(user, span_notice("You have cast the curse of insanity!")) playsound(user, 'sound/magic/mandswap.ogg', 50, TRUE) return TRUE @@ -677,14 +677,14 @@ /obj/item/spellbook/attack_self(mob/user) if(!owner) - to_chat(user, "You bind the spellbook to yourself.") + to_chat(user, span_notice("You bind the spellbook to yourself.")) owner = user return if(user != owner) if(user.mind.special_role == "apprentice") to_chat(user, "If you got caught sneaking a peek from your teacher's spellbook, you'd likely be expelled from the Wizard Academy. Better not.") else - to_chat(user, "The [name] does not recognize you as its owner and refuses to open!") + to_chat(user, span_warning("The [name] does not recognize you as its owner and refuses to open!")) return . = ..() @@ -692,16 +692,16 @@ if(istype(O, /obj/item/antag_spawner/contract)) var/obj/item/antag_spawner/contract/contract = O if(contract.used) - to_chat(user, "The contract has been used, you can't get your points back now!") + to_chat(user, span_warning("The contract has been used, you can't get your points back now!")) else - to_chat(user, "You feed the contract back into the spellbook, refunding your points.") + to_chat(user, span_notice("You feed the contract back into the spellbook, refunding your points.")) uses += 2 for(var/datum/spellbook_entry/item/contract/CT in entries) if(!isnull(CT.limit)) CT.limit++ qdel(O) else if(istype(O, /obj/item/antag_spawner/slaughter_demon)) - to_chat(user, "On second thought, maybe summoning a demon is a bad idea. You refund your points.") + to_chat(user, span_notice("On second thought, maybe summoning a demon is a bad idea. You refund your points.")) if(istype(O, /obj/item/antag_spawner/slaughter_demon/laughter)) uses += 1 for(var/datum/spellbook_entry/item/hugbottle/HB in entries) @@ -763,7 +763,7 @@ return var/mob/living/carbon/human/wizard = usr if(!istype(wizard)) - to_chat(wizard, "The book doesn't seem to listen to lower life forms.") + to_chat(wizard, span_warning("The book doesn't seem to listen to lower life forms.")) return switch(action) if("purchase") @@ -785,7 +785,7 @@ update_static_data(wizard) //update statics! //actions that are only available if you have full spell points if(uses < initial(uses)) - to_chat(wizard, "You need to have all your spell points to do this!") + to_chat(wizard, span_warning("You need to have all your spell points to do this!")) return switch(action) if("semirandomize") diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 7e00f01f1ee..6dc22d26a00 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -132,7 +132,7 @@ to_chat(owner, message) /datum/antagonist/wizard/farewell() - to_chat(owner, "You have been brainwashed! You are no longer a wizard!") + to_chat(owner, span_userdanger("You have been brainwashed! You are no longer a wizard!")) /datum/antagonist/wizard/proc/rename_wizard() set waitfor = FALSE @@ -280,16 +280,16 @@ var/wizardwin = 1 for(var/datum/objective/objective in objectives) if(objective.check_completion()) - parts += "Objective #[count]: [objective.explanation_text] Success!" + parts += "Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else - parts += "Objective #[count]: [objective.explanation_text] Fail." + parts += "Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" wizardwin = 0 count++ if(wizardwin) - parts += "The wizard was successful!" + parts += span_greentext("The wizard was successful!") else - parts += "The wizard has failed!" + parts += span_redtext("The wizard has failed!") if(owner.spell_list.len>0) parts += "[owner.name] used the following spells: " diff --git a/code/modules/aquarium/aquarium.dm b/code/modules/aquarium/aquarium.dm index ec2c9563fe9..51f81a32419 100644 --- a/code/modules/aquarium/aquarium.dm +++ b/code/modules/aquarium/aquarium.dm @@ -90,7 +90,7 @@ /obj/structure/aquarium/examine(mob/user) . = ..() - . += "Alt-click to [panel_open ? "close" : "open"] the control panel." + . += span_notice("Alt-click to [panel_open ? "close" : "open"] the control panel.") /obj/structure/aquarium/AltClick(mob/user) if(!user.canUseTopic(src, BE_CLOSE)) @@ -107,9 +107,9 @@ var/obj/item/stack/sheet/glass/glass = I if(istype(glass)) if(glass.get_amount() < 2) - to_chat(user, "You need two glass sheets to fix the case!") + to_chat(user, span_warning("You need two glass sheets to fix the case!")) return - to_chat(user, "You start fixing [src]...") + to_chat(user, span_notice("You start fixing [src]...")) if(do_after(user, 2 SECONDS, target = src)) glass.use(2) broken = FALSE @@ -132,7 +132,7 @@ /obj/structure/aquarium/proc/feed_feedback(datum/source, obj/item/thing, mob/user, params) SIGNAL_HANDLER if(istype(thing, /obj/item/fish_feed)) - to_chat(user,"You feed the fish.") + to_chat(user,span_notice("You feed the fish.")) return NONE /obj/structure/aquarium/interact(mob/user) @@ -152,22 +152,22 @@ if(user.pulling && isliving(user.pulling)) var/mob/living/living_pulled = user.pulling if(living_pulled.buckled || living_pulled.has_buckled_mobs()) - to_chat(user, "[living_pulled] is attached to something!") + to_chat(user, span_warning("[living_pulled] is attached to something!")) return - user.visible_message("[user] starts to put [living_pulled] into [src]!") + user.visible_message(span_danger("[user] starts to put [living_pulled] into [src]!")) if(do_after(user, 10 SECONDS, target = src)) if(QDELETED(living_pulled) || user.pulling != living_pulled || living_pulled.buckled || living_pulled.has_buckled_mobs()) return var/datum/component/aquarium_content/content_component = living_pulled.GetComponent(/datum/component/aquarium_content) if(content_component || content_component.is_ready_to_insert(src)) return - user.visible_message("[user] stuffs [living_pulled] into [src]!") + user.visible_message(span_danger("[user] stuffs [living_pulled] into [src]!")) living_pulled.forceMove(src) update_appearance() ///Apply mood bonus depending on aquarium status /obj/structure/aquarium/proc/admire(mob/user) - to_chat(user,"You take a moment to watch [src].") + to_chat(user,span_notice("You take a moment to watch [src].")) if(do_after(user, 5 SECONDS, target = src)) //Check if there are live fish - good mood //All fish dead - bad mood. @@ -221,7 +221,7 @@ user.put_in_hands(inside) else inside.forceMove(get_turf(src)) - to_chat(user,"You take out [inside] from [src].") + to_chat(user,span_notice("You take out [inside] from [src].")) /obj/structure/aquarium/ui_interact(mob/user, datum/tgui/ui) . = ..() diff --git a/code/modules/aquarium/aquarium_behaviour.dm b/code/modules/aquarium/aquarium_behaviour.dm index 560976f961b..211dc80cb95 100644 --- a/code/modules/aquarium/aquarium_behaviour.dm +++ b/code/modules/aquarium/aquarium_behaviour.dm @@ -248,7 +248,7 @@ /datum/aquarium_behaviour/fish/proc/death() STOP_PROCESSING(SSobj, src) status = FISH_DEAD - var/message = "\The [name] dies." + var/message = span_notice("\The [name] dies.") if(parent.current_aquarium) parent.current_aquarium.visible_message(message) parent.current_aquarium.alive_fish -= 1 diff --git a/code/modules/aquarium/misc.dm b/code/modules/aquarium/misc.dm index b260770d11c..3ae7c7d6f09 100644 --- a/code/modules/aquarium/misc.dm +++ b/code/modules/aquarium/misc.dm @@ -99,7 +99,7 @@ /obj/item/aquarium_kit/attack_self(mob/user) . = ..() - to_chat(user,"There's instruction and tools necessary to build aquarium inside. All you need is to start crafting.") + to_chat(user,span_notice("There's instruction and tools necessary to build aquarium inside. All you need is to start crafting.")) /obj/item/aquarium_prop diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 26be49b4a9e..e8f726ab089 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -35,7 +35,7 @@ /obj/item/assembly/Destroy() holder = null return ..() - + /obj/item/assembly/get_part_rating() return 1 @@ -58,7 +58,7 @@ /obj/item/assembly/proc/is_secured(mob/user) if(!secured) - to_chat(user, "The [name] is unsecured!") + to_chat(user, span_warning("The [name] is unsecured!")) return FALSE return TRUE @@ -100,9 +100,9 @@ if((!A.secured) && (!secured)) holder = new/obj/item/assembly_holder(get_turf(src)) holder.assemble(src,A,user) - to_chat(user, "You attach and secure \the [A] to \the [src]!") + to_chat(user, span_notice("You attach and secure \the [A] to \the [src]!")) else - to_chat(user, "Both devices must be in attachable mode to be attached together.") + to_chat(user, span_warning("Both devices must be in attachable mode to be attached together.")) return ..() @@ -110,15 +110,15 @@ if(..()) return TRUE if(toggle_secure()) - to_chat(user, "\The [src] is ready!") + to_chat(user, span_notice("\The [src] is ready!")) else - to_chat(user, "\The [src] can now be attached!") + to_chat(user, span_notice("\The [src] can now be attached!")) add_fingerprint(user) return TRUE /obj/item/assembly/examine(mob/user) . = ..() - . += "\The [src] [secured? "is secured and ready to be used!" : "can be attached to other things."]" + . += span_notice("\The [src] [secured? "is secured and ready to be used!" : "can be attached to other things."]") /obj/item/assembly/attack_self(mob/user) if(!user) diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index 51b3531b1c2..081fd7794d7 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -36,7 +36,7 @@ /obj/item/onetankbomb/wrench_act(mob/living/user, obj/item/I) ..() - to_chat(user, "You disassemble [src]!") + to_chat(user, span_notice("You disassemble [src]!")) if(bombassembly) bombassembly.forceMove(drop_location()) bombassembly.master = null @@ -52,7 +52,7 @@ ..() . = FALSE if(status) - to_chat(user, "[bombtank] already has a pressure hole!") + to_chat(user, span_warning("[bombtank] already has a pressure hole!")) return if(!I.tool_start_check(user, amount=0)) return @@ -60,7 +60,7 @@ status = TRUE var/datum/gas_mixture/bomb_mix = bombtank.return_air() log_bomber(user, "welded a single tank bomb,", src, "| Temp: [bomb_mix.temperature-T0C]") - to_chat(user, "A pressure hole has been bored to [bombtank] valve. \The [bombtank] can now be ignited.") + to_chat(user, span_notice("A pressure hole has been bored to [bombtank] valve. \The [bombtank] can now be ignited.")) add_fingerprint(user) return TRUE @@ -70,7 +70,7 @@ return /obj/item/onetankbomb/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here. - audible_message("[icon2html(src, hearers(src))] *beep* *beep* *beep*") + audible_message(span_warning("[icon2html(src, hearers(src))] *beep* *beep* *beep*")) playsound(src, 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE) sleep(10) if(QDELETED(src)) @@ -114,11 +114,11 @@ return if((src in user.get_equipped_items(TRUE)) && !user.canUnEquip(src)) - to_chat(user, "[src] is stuck to you!") + to_chat(user, span_warning("[src] is stuck to you!")) return if(!user.canUnEquip(assembly)) - to_chat(user, "[assembly] is stuck to your hand!") + to_chat(user, span_warning("[assembly] is stuck to your hand!")) return var/obj/item/onetankbomb/bomb = new @@ -135,7 +135,7 @@ 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].") + to_chat(user, span_notice("You attach [assembly] to [src].")) return /obj/item/tank/proc/ignite() //This happens when a bomb is told to explode diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 702fed571e1..52f501cb8b9 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -11,13 +11,13 @@ /obj/item/assembly/control/examine(mob/user) . = ..() if(id) - . += "Its channel ID is '[id]'." + . += span_notice("Its channel ID is '[id]'.") /obj/item/assembly/control/multitool_act(mob/living/user) var/change_id = input("Set the shutters/blast door/blast door controllers ID. It must be a number between 1 and 100.", "ID", id) as num|null if(change_id) id = clamp(round(change_id, 1), 1, 100) - to_chat(user, "You change the ID to [id].") + to_chat(user, span_notice("You change the ID to [id].")) /obj/item/assembly/control/activate() var/openclose @@ -38,7 +38,7 @@ /obj/item/assembly/control/curtain/examine(mob/user) . = ..() if(id) - . += "Its channel ID is '[id]'." + . += span_notice("Its channel ID is '[id]'.") /obj/item/assembly/control/curtain/activate() var/openclose diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 76f0d0d4f56..6f2730e568d 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -39,12 +39,12 @@ /obj/item/assembly/flash/suicide_act(mob/living/user) if(burnt_out) - user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but it's burnt out!") + user.visible_message(span_suicide("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but it's burnt out!")) return SHAME else if(user.is_blind()) - user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but [user.p_theyre()] blind!") + user.visible_message(span_suicide("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but [user.p_theyre()] blind!")) return SHAME - user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] raises \the [src] up to [user.p_their()] eyes and activates it! It looks like [user.p_theyre()] trying to commit suicide!")) attack(user,user) return FIRELOSS @@ -82,7 +82,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 - loc?.visible_message("[src] burns out!","[src] burns out!") + loc?.visible_message(span_danger("[src] burns out!"),span_userdanger("[src] burns out!")) update_appearance() /obj/item/assembly/flash/proc/flash_recharge(interval = 10) @@ -155,7 +155,7 @@ M.log_message("was [targeted? "flashed(targeted)" : "flashed(AOE)"]",LOG_ATTACK) if(generic_message && M != user) - to_chat(M, "[src] emits a blinding light!") + to_chat(M, span_danger("[src] emits a blinding light!")) var/deviation = calculate_deviation(M, user ? user : src) @@ -175,18 +175,18 @@ // Did we try to flash them from behind? if(deviation == DEVIATION_FULL) // Headrevs can use a tacticool leaning technique so that they don't have to worry about facing for their conversions. - to_chat(user, "You use the tacticool tier, lean over the shoulder technique to blind [M] with a flash!") + to_chat(user, span_notice("You use the tacticool tier, lean over the shoulder technique to blind [M] with a flash!")) deviation = DEVIATION_PARTIAL // Convert them. Terribly. terrible_conversion_proc(M, user) - visible_message("[user] blinds [M] with the flash!","[user] blinds you with the flash!") + visible_message(span_danger("[user] blinds [M] with the flash!"),span_userdanger("[user] blinds you with the flash!")) //easy way to make sure that you can only long stun someone who is facing in your direction M.adjustStaminaLoss(rand(80,120)*(1-(deviation*0.5))) M.Paralyze(rand(25,50)*(1-(deviation*0.5))) else if(user) - visible_message("[user] fails to blind [M] with the flash!","[user] fails to blind you with the flash!") + visible_message(span_warning("[user] fails to blind [M] with the flash!"),span_danger("[user] fails to blind you with the flash!")) else - to_chat(M, "[src] fails to blind you!") + to_chat(M, span_danger("[src] fails to blind you!")) else if(M.flash_act()) var/diff = power * CONFUSION_STACK_MAX_MULTIPLIER - M.get_confusion() @@ -253,22 +253,22 @@ log_combat(user, flashed_borgo, "flashed", src) update_icon(ALL, TRUE) if(!flashed_borgo.flash_act(affect_silicon = TRUE)) - user.visible_message("[user] fails to blind [flashed_borgo] with the flash!", "You fail to blind [flashed_borgo] with the flash!") + user.visible_message(span_warning("[user] fails to blind [flashed_borgo] with the flash!"), span_warning("You fail to blind [flashed_borgo] with the flash!")) return flashed_borgo.Paralyze(rand(80,120)) var/diff = 5 * CONFUSION_STACK_MAX_MULTIPLIER - M.get_confusion() flashed_borgo.add_confusion(min(5, diff)) - user.visible_message("[user] overloads [flashed_borgo]'s sensors with the flash!", "You overload [flashed_borgo]'s sensors with the flash!") + user.visible_message(span_warning("[user] overloads [flashed_borgo]'s sensors with the flash!"), span_danger("You overload [flashed_borgo]'s sensors with the flash!")) return - user.visible_message("[user] fails to blind [M] with the flash!", "You fail to blind [M] with the flash!") + user.visible_message(span_warning("[user] fails to blind [M] with the flash!"), span_warning("You fail to blind [M] with the flash!")) /obj/item/assembly/flash/attack_self(mob/living/carbon/user, flag = 0, emp = 0) if(holder) return FALSE if(!AOE_flash(FALSE, 3, 5, FALSE, user)) return FALSE - to_chat(user, "[src] emits a blinding light!") + to_chat(user, span_danger("[src] emits a blinding light!")) /obj/item/assembly/flash/emp_act(severity) . = ..() @@ -297,10 +297,10 @@ if(!aggressor.mind) return if(!victim.client) - to_chat(aggressor, "This mind is so vacant that it is not susceptible to influence!") + to_chat(aggressor, span_warning("This mind is so vacant that it is not susceptible to influence!")) return if(victim.stat != CONSCIOUS) - to_chat(aggressor, "They must be conscious before you can convert [victim.p_them()]!") + to_chat(aggressor, span_warning("They must be conscious before you can convert [victim.p_them()]!")) return //If this proc fires the mob must be a revhead var/datum/antagonist/rev/head/converter = aggressor.mind.has_antag_datum(/datum/antagonist/rev/head) @@ -309,7 +309,7 @@ victim.say("You son of a bitch! I'm in.", forced = "That son of a bitch! They're in.") times_used -- //Flashes less likely to burn out for headrevs when used for conversion else - to_chat(aggressor, "This mind seems resistant to the flash!") + to_chat(aggressor, span_warning("This mind seems resistant to the flash!")) /obj/item/assembly/flash/cyborg @@ -347,7 +347,7 @@ /obj/item/assembly/flash/armimplant/burn_out() var/obj/item/organ/cyberimp/arm/flash/real_arm = arm.resolve() if(real_arm?.owner) - to_chat(real_arm.owner, "Your photon projector implant overheats and deactivates!") + to_chat(real_arm.owner, span_warning("Your photon projector implant overheats and deactivates!")) real_arm.Retract() overheat = TRUE addtimer(CALLBACK(src, .proc/cooldown), flashcd * 2) @@ -356,7 +356,7 @@ if(overheat) var/obj/item/organ/cyberimp/arm/flash/real_arm = arm.resolve() if(real_arm?.owner) - to_chat(real_arm.owner, "Your photon projector is running too hot to be used again so quickly!") + to_chat(real_arm.owner, span_warning("Your photon projector is running too hot to be used again so quickly!")) return FALSE overheat = TRUE addtimer(CALLBACK(src, .proc/cooldown), flashcd) @@ -385,17 +385,17 @@ else //caused by emp/remote signal M.log_message("was [targeted? "hypno-flashed(targeted)" : "hypno-flashed(AOE)"]",LOG_ATTACK) if(generic_message && M != user) - to_chat(M, "[src] emits a soothing light...") + to_chat(M, span_notice("[src] emits a soothing light...")) if(targeted) if(M.flash_act(1, 1)) var/hypnosis = FALSE if(M.hypnosis_vulnerable()) hypnosis = TRUE if(user) - user.visible_message("[user] blinds [M] with the flash!", "You hypno-flash [M]!") + user.visible_message(span_danger("[user] blinds [M] with the flash!"), span_danger("You hypno-flash [M]!")) if(!hypnosis) - to_chat(M, "The light makes you feel oddly relaxed...") + to_chat(M, span_hypnophrase("The light makes you feel oddly relaxed...")) M.add_confusion(min(M.get_confusion() + 10, 20)) M.dizziness += min(M.dizziness + 10, 20) M.drowsyness += min(M.drowsyness + 10, 20) @@ -404,12 +404,12 @@ M.apply_status_effect(/datum/status_effect/trance, 200, TRUE) else if(user) - user.visible_message("[user] fails to blind [M] with the flash!", "You fail to hypno-flash [M]!") + user.visible_message(span_warning("[user] fails to blind [M] with the flash!"), span_warning("You fail to hypno-flash [M]!")) else - to_chat(M, "[src] fails to blind you!") + to_chat(M, span_danger("[src] fails to blind you!")) else if(M.flash_act()) - to_chat(M, "Such a pretty light...") + to_chat(M, span_notice("Such a pretty light...")) M.add_confusion(min(M.get_confusion() + 4, 20)) M.dizziness += min(M.dizziness + 4, 20) M.drowsyness += min(M.drowsyness + 4, 20) diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index d50808971b0..e01bcc8e982 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -33,10 +33,10 @@ /obj/item/assembly/health/AltClick(mob/living/user) if(alarm_health == HEALTH_THRESHOLD_CRIT) alarm_health = HEALTH_THRESHOLD_DEAD - to_chat(user, "You toggle [src] to \"detect death\" mode.") + to_chat(user, span_notice("You toggle [src] to \"detect death\" mode.")) else alarm_health = HEALTH_THRESHOLD_CRIT - to_chat(user, "You toggle [src] to \"detect critical state\" mode.") + to_chat(user, span_notice("You toggle [src] to \"detect critical state\" mode.")) /obj/item/assembly/health/process() if(!scanning || !secured) @@ -71,5 +71,5 @@ /obj/item/assembly/health/attack_self(mob/user) . = ..() - to_chat(user, "You toggle [src] [src.scanning ? "off" : "on"].") + to_chat(user, span_notice("You toggle [src] [src.scanning ? "off" : "on"].")) toggle_scan() diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 393569a5c62..3982d0564d7 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -103,7 +103,7 @@ /obj/item/assembly_holder/screwdriver_act(mob/user, obj/item/tool) if(..()) return TRUE - to_chat(user, "You disassemble [src]!") + to_chat(user, span_notice("You disassemble [src]!")) if(a_left) a_left.on_detach() a_left = null @@ -116,7 +116,7 @@ /obj/item/assembly_holder/attack_self(mob/user) src.add_fingerprint(user) if(!a_left || !a_right) - to_chat(user, "Assembly part missing!") + to_chat(user, span_danger("Assembly part missing!")) return if(istype(a_left,a_right.type))//If they are the same type it causes issues due to window code switch(tgui_alert(usr,"Which side would you like to use?",,list("Left","Right"))) diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index e2c595cd46b..0a8a6c56f76 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -14,7 +14,7 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' /obj/item/assembly/igniter/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is trying to ignite [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is trying to ignite [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) user.IgniteMob() return FIRELOSS @@ -44,7 +44,7 @@ add_fingerprint(user) /obj/item/assembly/igniter/ignition_effect(atom/A, mob/user) - . = "[user] fiddles with [src], and manages to light [A]." + . = span_notice("[user] fiddles with [src], and manages to light [A].") activate() add_fingerprint(user) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 6159f80bd8f..921681c01de 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -35,7 +35,7 @@ /obj/item/assembly/infra/examine(mob/user) . = ..() - . += "The infrared trigger is [on?"on":"off"]." + . += span_notice("The infrared trigger is [on?"on":"off"].") /obj/item/assembly/infra/activate() if(!..()) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 1b116e1bae1..a68aabbaca7 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -23,7 +23,7 @@ /obj/item/assembly/mousetrap/examine(mob/user) . = ..() - . += "The pressure plate is [armed?"primed":"safe"]." + . += span_notice("The pressure plate is [armed?"primed":"safe"].") /obj/item/assembly/mousetrap/activate() if(..()) @@ -32,7 +32,7 @@ if(ishuman(usr)) var/mob/living/carbon/human/user = usr if((HAS_TRAIT(user, TRAIT_DUMB) || HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) - to_chat(user, "Your hand slips, setting off the trigger!") + to_chat(user, span_warning("Your hand slips, setting off the trigger!")) pulse(FALSE) update_appearance() playsound(src, 'sound/weapons/handcuffs.ogg', 30, TRUE, -3) @@ -79,15 +79,15 @@ H.update_damage_overlays() else if(ismouse(target)) var/mob/living/simple_animal/mouse/M = target - visible_message("SPLAT!") + visible_message(span_boldannounce("SPLAT!")) M.splat() else if(israt(target)) var/mob/living/simple_animal/hostile/rat/ratt = target - visible_message("Clink!") + visible_message(span_boldannounce("Clink!")) ratt.apply_damage(5) //Not lethal, but just enought to make a mark. ratt.Stun(1 SECONDS) else if(isregalrat(target)) - visible_message("Skreeeee!") //He's simply too large to be affected by a tiny mouse trap. + visible_message(span_boldannounce("Skreeeee!")) //He's simply too large to be affected by a tiny mouse trap. playsound(src, 'sound/effects/snap.ogg', 50, TRUE) armed = FALSE update_appearance() @@ -96,17 +96,17 @@ /obj/item/assembly/mousetrap/attack_self(mob/living/carbon/human/user) if(!armed) - to_chat(user, "You arm [src].") + to_chat(user, span_notice("You arm [src].")) else if((HAS_TRAIT(user, TRAIT_DUMB) || HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) var/which_hand = BODY_ZONE_PRECISE_L_HAND if(!(user.active_hand_index % 2)) which_hand = BODY_ZONE_PRECISE_R_HAND triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + user.visible_message(span_warning("[user] accidentally sets off [src], breaking their fingers."), \ + span_warning("You accidentally trigger [src]!")) return - to_chat(user, "You disarm [src].") + to_chat(user, span_notice("You disarm [src].")) armed = !armed update_appearance() playsound(src, 'sound/weapons/handcuffs.ogg', 30, TRUE, -3) @@ -120,8 +120,8 @@ if(!(user.active_hand_index % 2)) which_hand = BODY_ZONE_PRECISE_R_HAND triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + user.visible_message(span_warning("[user] accidentally sets off [src], breaking their fingers."), \ + span_warning("You accidentally trigger [src]!")) return return ..() @@ -136,8 +136,8 @@ var/mob/living/carbon/H = AM if(H.m_intent == MOVE_INTENT_RUN) INVOKE_ASYNC(src, .proc/triggered, H) - H.visible_message("[H] accidentally steps on [src].", \ - "You accidentally step on [src]") + H.visible_message(span_warning("[H] accidentally steps on [src]."), \ + span_warning("You accidentally step on [src]")) else if(ismouse(MM) || israt(MM) || isregalrat(MM)) INVOKE_ASYNC(src, .proc/triggered, MM) else if(AM.density) // For mousetrap grenades, set off by anything heavy @@ -146,12 +146,12 @@ /obj/item/assembly/mousetrap/on_found(mob/finder) if(armed) if(finder) - finder.visible_message("[finder] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + finder.visible_message(span_warning("[finder] accidentally sets off [src], breaking their fingers."), \ + span_warning("You accidentally trigger [src]!")) triggered(finder, (finder.active_hand_index % 2 == 0) ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND) return TRUE //end the search! else - visible_message("[src] snaps shut!") + visible_message(span_warning("[src] snaps shut!")) triggered(loc) return FALSE return FALSE @@ -160,7 +160,7 @@ /obj/item/assembly/mousetrap/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) if(!armed) return ..() - visible_message("[src] is triggered by [AM].") + visible_message(span_warning("[src] is triggered by [AM].")) triggered(null) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 1f751475a68..aacda6fef9a 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -23,7 +23,7 @@ /obj/item/assembly/prox_sensor/examine(mob/user) . = ..() - . += "The proximity sensor is [timing ? "arming" : (scanning ? "armed" : "disarmed")]." + . += span_notice("The proximity sensor is [timing ? "arming" : (scanning ? "armed" : "disarmed")].") /obj/item/assembly/prox_sensor/activate() if(!..()) diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index d105b79e57b..7f6e0ac6a3c 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -24,7 +24,7 @@ /obj/item/assembly/shock_kit/wrench_act(mob/living/user, obj/item/I) ..() - to_chat(user, "You disassemble [src].") + to_chat(user, span_notice("You disassemble [src].")) if(helmet_part) helmet_part.forceMove(drop_location()) helmet_part.master = null diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 2361bf4b2fb..013ac08cfe6 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -24,7 +24,7 @@ var/last_receive_signal_log /obj/item/assembly/signaler/suicide_act(mob/living/carbon/user) - user.visible_message("[user] eats \the [src]! If it is signaled, [user.p_they()] will die!") + user.visible_message(span_suicide("[user] eats \the [src]! If it is signaled, [user.p_they()] will die!")) playsound(src, 'sound/items/eatfood.ogg', 50, TRUE) moveToNullspace() suicider = user.mind @@ -36,9 +36,9 @@ if(!istype(user)) return if(suicide_mob == REF(user)) - user.visible_message("[user]'s [src] receives a signal, killing [user.p_them()] instantly!") + user.visible_message(span_suicide("[user]'s [src] receives a signal, killing [user.p_them()] instantly!")) else - user.visible_message("[user]'s [src] receives a signal and [user.p_they()] die[user.p_s()] like a gamer!") + user.visible_message(span_suicide("[user]'s [src] receives a signal and [user.p_they()] die[user.p_s()] like a gamer!")) user.set_suicide(TRUE) user.adjustOxyLoss(200)//it sends an electrical pulse to their heart, killing them. or something. user.death(0) @@ -179,7 +179,7 @@ /obj/item/assembly/signaler/receiver/examine(mob/user) . = ..() - . += "The radio receiver is [on?"on":"off"]." + . += span_notice("The radio receiver is [on?"on":"off"].") /obj/item/assembly/signaler/receiver/receive_signal(datum/signal/signal) if(!on) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 093550b7825..17cc466107a 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -14,13 +14,13 @@ var/hearing_range = 3 /obj/item/assembly/timer/suicide_act(mob/living/user) - user.visible_message("[user] looks at the timer and decides [user.p_their()] fate! It looks like [user.p_theyre()] going to commit suicide!") + user.visible_message(span_suicide("[user] looks at the timer and decides [user.p_their()] fate! It looks like [user.p_theyre()] going to commit suicide!")) activate()//doesnt rely on timer_end to prevent weird metas where one person can control the timer and therefore someone's life. (maybe that should be how it works...) addtimer(CALLBACK(src, .proc/manual_suicide, user), time SECONDS)//kill yourself once the time runs out return MANUAL_SUICIDE /obj/item/assembly/timer/proc/manual_suicide(mob/living/user) - user.visible_message("[user]'s time is up!") + user.visible_message(span_suicide("[user]'s time is up!")) user.adjustOxyLoss(200) user.death(0) @@ -34,7 +34,7 @@ /obj/item/assembly/timer/examine(mob/user) . = ..() - . += "The timer is [timing ? "counting down from [time]":"set for [time] seconds"]." + . += span_notice("The timer is [timing ? "counting down from [time]":"set for [time] seconds"].") /obj/item/assembly/timer/activate() if(!..()) diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index a072f0f9d59..c876883d694 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -27,7 +27,7 @@ /obj/item/assembly/voice/examine(mob/user) . = ..() - . += "Use a multitool to swap between \"inclusive\", \"exclusive\", \"recognizer\", and \"voice sensor\" mode." + . += span_notice("Use a multitool to swap between \"inclusive\", \"exclusive\", \"recognizer\", and \"voice sensor\" mode.") /obj/item/assembly/voice/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list()) . = ..() @@ -93,7 +93,7 @@ ..() mode %= modes.len mode++ - to_chat(user, "You set [src] into [modes[mode]] mode.") + to_chat(user, span_notice("You set [src] into [modes[mode]] mode.")) listening = FALSE recorded = "" return TRUE diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 06397ffb43f..a3b4c968fd1 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -245,11 +245,11 @@ . = ..() switch(buildstage) if(AIRALARM_BUILD_NO_CIRCUIT) - . += "It is missing air alarm electronics." + . += span_notice("It is missing air alarm electronics.") if(AIRALARM_BUILD_NO_WIRES) - . += "It is missing wiring." + . += span_notice("It is missing wiring.") if(AIRALARM_BUILD_COMPLETE) - . += "Alt-click to [locked ? "unlock" : "lock"] the interface." + . += span_notice("Alt-click to [locked ? "unlock" : "lock"] the interface.") /obj/machinery/airalarm/ui_status(mob/user) if(user.has_unlimited_silicon_privilege && aidisabled) @@ -740,12 +740,12 @@ /obj/machinery/airalarm/crowbar_act(mob/living/user, obj/item/tool) if(buildstage != AIRALARM_BUILD_NO_WIRES) return - user.visible_message("[user.name] removes the electronics from [name].", \ - "You start prying out the circuit...") + user.visible_message(span_notice("[user.name] removes the electronics from [name]."), \ + span_notice("You start prying out the circuit...")) tool.play_tool_sound(src) if (tool.use_tool(src, user, 20)) if (buildstage == AIRALARM_BUILD_NO_WIRES) - to_chat(user, "You remove the air alarm electronics.") + to_chat(user, span_notice("You remove the air alarm electronics.")) new /obj/item/electronics/airalarm(drop_location()) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) buildstage = AIRALARM_BUILD_NO_CIRCUIT @@ -757,7 +757,7 @@ return tool.play_tool_sound(src) panel_open = !panel_open - to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") + to_chat(user, span_notice("The wires have been [panel_open ? "exposed" : "unexposed"].")) update_appearance() return TRUE @@ -765,7 +765,7 @@ if(!(buildstage == AIRALARM_BUILD_COMPLETE && panel_open && wires.is_all_cut())) return tool.play_tool_sound(src) - to_chat(user, "You cut the final wires.") + to_chat(user, span_notice("You cut the final wires.")) var/obj/item/stack/cable_coil/cables = new(drop_location(), 5) user.put_in_hands(cables) buildstage = AIRALARM_BUILD_NO_WIRES @@ -775,7 +775,7 @@ /obj/machinery/airalarm/wrench_act(mob/living/user, obj/item/tool) if(buildstage != AIRALARM_BUILD_NO_CIRCUIT) return - to_chat(user, "You detach \the [src] from the wall.") + to_chat(user, span_notice("You detach \the [src] from the wall.")) tool.play_tool_sound(src) var/obj/item/wallframe/airalarm/alarm_frame = new(drop_location()) user.put_in_hands(alarm_frame) @@ -796,14 +796,14 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/cable = W if(cable.get_amount() < 5) - to_chat(user, "You need five lengths of cable to wire the air alarm!") + to_chat(user, span_warning("You need five lengths of cable to wire the air alarm!")) return - user.visible_message("[user.name] wires the air alarm.", \ - "You start wiring the air alarm...") + user.visible_message(span_notice("[user.name] wires the air alarm."), \ + span_notice("You start wiring the air alarm...")) if (do_after(user, 20, target = src)) if (cable.get_amount() >= 5 && buildstage == AIRALARM_BUILD_NO_WIRES) cable.use(5) - to_chat(user, "You wire the air alarm.") + to_chat(user, span_notice("You wire the air alarm.")) wires.repair() aidisabled = 0 locked = FALSE @@ -816,7 +816,7 @@ if(AIRALARM_BUILD_NO_CIRCUIT) if(istype(W, /obj/item/electronics/airalarm)) if(user.temporarilyRemoveItemFromInventory(W)) - to_chat(user, "You insert the circuit.") + to_chat(user, span_notice("You insert the circuit.")) buildstage = AIRALARM_BUILD_NO_WIRES update_appearance() qdel(W) @@ -826,8 +826,8 @@ var/obj/item/electroadaptive_pseudocircuit/P = W if(!P.adapt_circuit(user, 25)) return - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt an air alarm circuit and slot it into the assembly.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt an air alarm circuit and slot it into the assembly.")) buildstage = AIRALARM_BUILD_NO_WIRES update_appearance() return @@ -842,8 +842,8 @@ /obj/machinery/airalarm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_UPGRADE_SIMPLE_CIRCUITS) - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt an air alarm circuit and slot it into the assembly.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt an air alarm circuit and slot it into the assembly.")) buildstage = AIRALARM_BUILD_NO_WIRES update_appearance() return TRUE @@ -858,21 +858,21 @@ /obj/machinery/airalarm/proc/togglelock(mob/living/user) if(machine_stat & (NOPOWER|BROKEN)) - to_chat(user, "It does nothing!") + to_chat(user, span_warning("It does nothing!")) else if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the air alarm interface.") + to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] the air alarm interface.")) updateUsrDialog() else - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return /obj/machinery/airalarm/emag_act(mob/user) if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - visible_message("Sparks fly out of [src]!", "You emag [src], disabling its safeties.") + visible_message(span_warning("Sparks fly out of [src]!"), span_notice("You emag [src], disabling its safeties.")) playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) /obj/machinery/airalarm/deconstruct(disassembled = TRUE) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 91dcc721a9b..1ec6b5a10ca 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -71,11 +71,11 @@ /obj/machinery/atmospherics/examine(mob/user) . = ..() - . += "[src] is on layer [piping_layer]." + . += span_notice("[src] is on layer [piping_layer].") if((vent_movement & VENTCRAWL_ENTRANCE_ALLOWED) && isliving(user)) var/mob/living/L = user if(HAS_TRAIT(L, TRAIT_VENTCRAWLER_NUDE) || HAS_TRAIT(L, TRAIT_VENTCRAWLER_ALWAYS)) - . += "Alt-click to crawl through it." + . += span_notice("Alt-click to crawl through it.") /obj/machinery/atmospherics/New(loc, process = TRUE, setdir, init_dir = ALL_CARDINALS) if(!isnull(setdir)) @@ -352,18 +352,18 @@ var/unsafe_wrenching = FALSE var/internal_pressure = int_air.return_pressure()-env_air.return_pressure() - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (internal_pressure > 2*ONE_ATMOSPHERE) - to_chat(user, "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?") + to_chat(user, span_warning("As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?")) unsafe_wrenching = TRUE //Oh dear oh dear if(I.use_tool(src, user, 20, volume=50)) user.visible_message( \ "[user] unfastens \the [src].", \ - "You unfasten \the [src].", \ - "You hear ratchet.") - investigate_log("was REMOVED by [key_name(usr)]", INVESTIGATE_ATMOS) + span_notice("You unfasten \the [src]."), \ + span_hear("You hear ratchet.")) + investigate_log("was [span_warning("REMOVED")] by [key_name(usr)]", INVESTIGATE_ATMOS) //You unwrenched a pipe full of pressure? Let's splat you into the wall, silly. if(unsafe_wrenching) @@ -398,7 +398,7 @@ var/datum/gas_mixture/env_air = loc.return_air() pressures = int_air.return_pressure() - env_air.return_pressure() - user.visible_message("[user] is sent flying by pressure!","The pressure sends you flying!") + user.visible_message(span_danger("[user] is sent flying by pressure!"),span_userdanger("The pressure sends you flying!")) // if get_dir(src, user) is not 0, target is the edge_target_turf on that dir // otherwise, edge_target_turf uses a random cardinal direction diff --git a/code/modules/atmospherics/machinery/bluespace_vendor.dm b/code/modules/atmospherics/machinery/bluespace_vendor.dm index 615aab4e5b8..cffb2fa1263 100644 --- a/code/modules/atmospherics/machinery/bluespace_vendor.dm +++ b/code/modules/atmospherics/machinery/bluespace_vendor.dm @@ -126,15 +126,15 @@ if(!istype(multitool)) return if(!istype(multitool.buffer, /obj/machinery/atmospherics/components/unary/bluespace_sender)) - to_chat(user, "Wrong machine type in [multitool] buffer...") + to_chat(user, span_notice("Wrong machine type in [multitool] buffer...")) return if(connected_machine) - to_chat(user, "Changing [src] bluespace network...") + to_chat(user, span_notice("Changing [src] bluespace network...")) if(!do_after(user, 0.2 SECONDS, src)) return playsound(get_turf(user), 'sound/machines/click.ogg', 10, TRUE) register_machine(multitool.buffer) - to_chat(user, "You link [src] to the console in [multitool]'s buffer.") + to_chat(user, span_notice("You link [src] to the console in [multitool]'s buffer.")) return TRUE /obj/machinery/bluespace_vendor/attackby(obj/item/item, mob/living/user) @@ -156,11 +156,11 @@ /obj/machinery/bluespace_vendor/examine(mob/user) . = ..() if(empty_tanks > 1) - . += "There are currently [empty_tanks] empty tanks available, more can be made by inserting iron sheets in the machine." + . += span_notice("There are currently [empty_tanks] empty tanks available, more can be made by inserting iron sheets in the machine.") else if(empty_tanks == 1) - . += "There is only one empty tank available, please refill the machine by using iron sheets." + . += span_notice("There is only one empty tank available, please refill the machine by using iron sheets.") else - . += "There is no available tank, please refill the machine by using iron sheets." + . += span_notice("There is no available tank, please refill the machine by using iron sheets.") ///Check what is the current operating mode /obj/machinery/bluespace_vendor/proc/check_mode() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm index 8659701fc11..da2f0708e3c 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm @@ -90,7 +90,7 @@ I.play_tool_sound(src) if(generator) disconnectFromGenerator() - to_chat(user, "You [anchored?"secure":"unsecure"] [src].") + to_chat(user, span_notice("You [anchored?"secure":"unsecure"] [src].")) var/obj/machinery/atmospherics/node1 = nodes[1] @@ -141,7 +141,7 @@ if(generator) disconnectFromGenerator() mode = !mode - to_chat(user, "You set [src] to [mode?"cold":"hot"] mode.") + to_chat(user, span_notice("You set [src] to [mode?"cold":"hot"] mode.")) return TRUE /obj/machinery/atmospherics/components/binary/circulator/screwdriver_act(mob/user, obj/item/I) @@ -149,7 +149,7 @@ return TRUE panel_open = !panel_open I.play_tool_sound(src) - to_chat(user, "You [panel_open?"open":"close"] the panel on [src].") + to_chat(user, span_notice("You [panel_open?"open":"close"] the panel on [src].")) return TRUE /obj/machinery/atmospherics/components/binary/circulator/crowbar_act(mob/user, obj/item/I) @@ -182,9 +182,9 @@ return if(anchored) - to_chat(usr, "[src] is anchored!") + to_chat(usr, span_danger("[src] is anchored!")) return flipped = !flipped - to_chat(usr, "You flip [src].") + to_chat(usr, span_notice("You flip [src].")) update_appearance() 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 aba624e542c..f2658373127 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm @@ -161,7 +161,7 @@ Passive gate is similar to the regular pump except: /obj/machinery/atmospherics/components/binary/passive_gate/can_unwrench(mob/user) . = ..() if(. && on) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE 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 b61b4b09bad..0ae32727b3d 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm @@ -164,7 +164,7 @@ /obj/machinery/atmospherics/components/binary/pressure_valve/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 6fab281f199..4c4b13d5b2d 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -157,7 +157,7 @@ /obj/machinery/atmospherics/components/binary/pump/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE 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 ab11a67546d..b9295a4d2cd 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm @@ -117,7 +117,7 @@ /obj/machinery/atmospherics/components/binary/temperature_gate/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE /obj/machinery/atmospherics/components/binary/temperature_gate/multitool_act(mob/living/user, obj/item/multitool/I) @@ -125,7 +125,7 @@ if (istype(I)) inverted = !inverted if(inverted) - to_chat(user, "You set the [src]'s sensors to release gases when the temperature is higher than the setted one.") + to_chat(user, span_notice("You set the [src]'s sensors to release gases when the temperature is higher than the setted one.")) else - to_chat(user, "You set the [src]'s sensors to the default settings.") + to_chat(user, span_notice("You set the [src]'s sensors to the default settings.")) return TRUE diff --git a/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm index d6e423324d8..968e650d304 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm @@ -107,14 +107,14 @@ /obj/machinery/atmospherics/components/binary/thermomachine/examine(mob/user) . = ..() if(obj_flags & EMAGGED) - . += "Something seems wrong with [src]'s thermal safeties." - . += "With the panel open:" - . += "-use a wrench with left-click to rotate [src] and right-click to unanchor it." - . += "-use a multitool with left-click to change the piping layer and right-click to change the piping color." - . += "The thermostat is set to [target_temperature]K ([(T0C-target_temperature)*-1]C)." + . += span_notice("Something seems wrong with [src]'s thermal safeties.") + . += span_notice("With the panel open:") + . += span_notice("-use a wrench with left-click to rotate [src] and right-click to unanchor it.") + . += span_notice("-use a multitool with left-click to change the piping layer and right-click to change the piping color.") + . += span_notice("The thermostat is set to [target_temperature]K ([(T0C-target_temperature)*-1]C).") if(in_range(user, src) || isobserver(user)) - . += "Heat capacity at [heat_capacity] Joules per Kelvin." - . += "Temperature range [min_temperature]K - [max_temperature]K ([(T0C-min_temperature)*-1]C - [(T0C-max_temperature)*-1]C)." + . += span_notice("Heat capacity at [heat_capacity] Joules per Kelvin.") + . += span_notice("Temperature range [min_temperature]K - [max_temperature]K ([(T0C-min_temperature)*-1]C - [(T0C-max_temperature)*-1]C).") /obj/machinery/atmospherics/components/binary/thermomachine/AltClick(mob/living/user) if(!can_interact(user)) @@ -157,7 +157,7 @@ var/motor_heat = 5000 if(abs(temperature_target_delta) < 5) //Allow the machine to work more finely on lower temperature differences. motor_heat = 0 - + // Automatic Switching. Longer if check to prevent unecessary update_appearances. if ((cooling && temperature_target_delta > 0) || (!cooling && temperature_target_delta < 0)) cooling = temperature_target_delta <= 0 // Thermomachines that reached the target will default to cooling. @@ -169,18 +169,18 @@ skipping_work = TRUE return - // Efficiency should be a proc level variable, but we need it for the ui. + // Efficiency should be a proc level variable, but we need it for the ui. // This is to reset the value when we are heating. efficiency = 1 if(cooling) var/datum/gas_mixture/exchange_target - // Exchange target is the thing we are paired with, be it enviroment or the red port. + // Exchange target is the thing we are paired with, be it enviroment or the red port. if(use_enviroment_heat) exchange_target = local_turf.return_air() else exchange_target = airs[2] - + if (exchange_target.total_moles() < 0.01) skipping_work = TRUE return @@ -196,18 +196,18 @@ if (exchange_target.temperature > THERMOMACHINE_SAFE_TEMPERATURE && safeties) on = FALSE - visible_message("The heat reservoir has reached critical levels, shutting down...") + visible_message(span_warning("The heat reservoir has reached critical levels, shutting down...")) update_appearance() return else if(exchange_target.temperature > THERMOMACHINE_SAFE_TEMPERATURE && !safeties) if((REALTIMEOFDAY - lastwarning) / 5 >= WARNING_DELAY) lastwarning = REALTIMEOFDAY - visible_message("The heat reservoir has reached critical levels!") + visible_message(span_warning("The heat reservoir has reached critical levels!")) if(check_explosion(exchange_target.temperature)) explode() return PROCESS_KILL //We're dying anyway, so let's stop processing - + exchange_target.temperature = max((THERMAL_ENERGY(exchange_target) - (heat_amount * efficiency) + motor_heat) / exchange_target.heat_capacity(), TCMB) main_port.temperature = max((THERMAL_ENERGY(main_port) + (heat_amount * efficiency)) / main_port.heat_capacity(), TCMB) @@ -220,7 +220,7 @@ power_usage = idle_power_usage if(power_usage > 1e6) power_usage *= efficiency - + use_power(power_usage) update_appearance() update_parents() @@ -228,7 +228,7 @@ /obj/machinery/atmospherics/components/binary/thermomachine/attackby(obj/item/item, mob/user, params) if(!on && item.tool_behaviour == TOOL_SCREWDRIVER) if(!anchored) - to_chat(user, "Anchor [src] first!") + to_chat(user, span_notice("Anchor [src] first!")) return if(default_deconstruction_screwdriver(user, icon_state_open, icon_state_off, item)) change_pipe_connection(panel_open) @@ -240,7 +240,7 @@ if(panel_open && item.tool_behaviour == TOOL_MULTITOOL) piping_layer = (piping_layer >= PIPING_LAYER_MAX) ? PIPING_LAYER_MIN : (piping_layer + 1) - to_chat(user, "You change the circuitboard to layer [piping_layer].") + to_chat(user, span_notice("You change the circuitboard to layer [piping_layer].")) update_appearance() return return ..() @@ -306,7 +306,7 @@ if(device == src) continue if(device.piping_layer == piping_layer) - visible_message("A pipe is hogging the ports, remove the obstruction or change the machine piping layer.") + visible_message(span_warning("A pipe is hogging the ports, remove the obstruction or change the machine piping layer.")) return TRUE return FALSE @@ -315,7 +315,7 @@ return if(panel_open && !anchored) piping_layer = (piping_layer >= PIPING_LAYER_MAX) ? PIPING_LAYER_MIN : (piping_layer + 1) - to_chat(user, "You change the circuitboard to layer [piping_layer].") + to_chat(user, span_notice("You change the circuitboard to layer [piping_layer].")) update_appearance() /obj/machinery/atmospherics/components/binary/thermomachine/emag_act(mob/user) @@ -328,7 +328,7 @@ sparks.attach(src) sparks.start() obj_flags |= EMAGGED - user.visible_message("You emag [src], overwriting thermal safety restrictions.") + user.visible_message(span_warning("You emag [src], overwriting thermal safety restrictions.")) log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], overwriting thermal safety restrictions.") /obj/machinery/atmospherics/components/binary/thermomachine/emp_act() 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 83ac670d953..d5e16b75815 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -189,7 +189,7 @@ /obj/machinery/atmospherics/components/binary/volume_pump/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE /obj/machinery/atmospherics/components/binary/volume_pump/multitool_act(mob/living/user, obj/item/I) diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index 2b0c5c568dc..153f49b5099 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -211,7 +211,7 @@ /obj/machinery/atmospherics/components/ui_status(mob/user) if(allowed(user)) return ..() - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return UI_CLOSE // Tool acts diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm index 7d8199c3c7b..dea4d89a376 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm @@ -29,7 +29,7 @@ /obj/machinery/atmospherics/components/unary/hypertorus/examine(mob/user) . = ..() - . += "[src] can be rotated by first opening the panel with a screwdriver and then using a wrench on it." + . += span_notice("[src] can be rotated by first opening the panel with a screwdriver and then using a wrench on it.") /obj/machinery/atmospherics/components/unary/hypertorus/attackby(obj/item/I, mob/user, params) if(!fusion_started) @@ -115,7 +115,7 @@ /obj/machinery/hypertorus/examine(mob/user) . = ..() - . += "[src] can be rotated by first opening the panel with a screwdriver and then using a wrench on it." + . += span_notice("[src] can be rotated by first opening the panel with a screwdriver and then using a wrench on it.") /obj/machinery/hypertorus/attackby(obj/item/I, mob/user, params) if(!fusion_started) @@ -158,7 +158,7 @@ var/obj/machinery/atmospherics/components/unary/hypertorus/core/centre = locate() in T if(!centre || !centre.check_part_connectivity()) - to_chat(user, "Check all parts and then try again.") + to_chat(user, span_notice("Check all parts and then try again.")) return TRUE new/obj/item/paper/guides/jobs/atmos/hypertorus(loc) connected_core = centre @@ -173,7 +173,7 @@ ui = new(user, src, "Hypertorus", name) ui.open() else - to_chat(user, "Activate the machine first by using a multitool on the interface.") + to_chat(user, span_notice("Activate the machine first by using a multitool on the interface.")) /obj/machinery/hypertorus/interface/ui_static_data() var/data = list() diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm index 47c05c9a22c..7f617d0a87f 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm @@ -82,9 +82,9 @@ */ /obj/machinery/atmospherics/components/unary/hypertorus/core/proc/activate(mob/living/user) if(active) - to_chat(user, "You already activated the machine.") + to_chat(user, span_notice("You already activated the machine.")) return - to_chat(user, "You link all parts toghether.") + to_chat(user, span_notice("You link all parts toghether.")) active = TRUE update_appearance() linked_interface.active = TRUE diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index c4190edda14..9752d8aab6e 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -164,7 +164,7 @@ /obj/machinery/atmospherics/components/trinary/filter/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE // mapping diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index e6ffcaa2067..1b2c4f9f633 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -170,7 +170,7 @@ /obj/machinery/atmospherics/components/trinary/mixer/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE // mapping diff --git a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm b/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm index 55d734b5c00..6ce4a184bea 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm @@ -106,7 +106,7 @@ /obj/machinery/atmospherics/components/unary/bluespace_sender/multitool_act(mob/living/user, obj/item/item) var/obj/item/multitool/multitool = item multitool.buffer = src - to_chat(user, "You store linkage information in [item]'s buffer.") + to_chat(user, span_notice("You store linkage information in [item]'s buffer.")) return TRUE /obj/machinery/atmospherics/components/unary/bluespace_sender/ui_interact(mob/user, datum/tgui/ui) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 8c50d65a1c4..ac2cf1f1401 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -142,7 +142,7 @@ /obj/machinery/atmospherics/components/unary/cryo_cell/examine(mob/user) //this is leaving out everything but efficiency since they follow the same idea of "better beaker, better results" . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Efficiency at [efficiency*100]%." + . += span_notice("The status display reads: Efficiency at [efficiency*100]%.") /obj/machinery/atmospherics/components/unary/cryo_cell/Destroy() vis_contents.Cut() @@ -321,7 +321,7 @@ GLOBAL_VAR_INIT(cryo_overlay_cover_off, mutable_appearance('icons/obj/cryogenics /obj/machinery/atmospherics/components/unary/cryo_cell/relaymove(mob/living/user, direction) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) /obj/machinery/atmospherics/components/unary/cryo_cell/open_machine(drop = FALSE) if(!state_open && !panel_open) @@ -342,14 +342,14 @@ GLOBAL_VAR_INIT(cryo_overlay_cover_off, mutable_appearance('icons/obj/cryogenics /obj/machinery/atmospherics/components/unary/cryo_cell/container_resist_act(mob/living/user) user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the glass of [src]!", \ - "You struggle inside [src], kicking the release with your foot... (this will take about [DisplayTimeText(CRYO_BREAKOUT_TIME)].)", \ - "You hear a thump from [src].") + user.visible_message(span_notice("You see [user] kicking against the glass of [src]!"), \ + span_notice("You struggle inside [src], kicking the release with your foot... (this will take about [DisplayTimeText(CRYO_BREAKOUT_TIME)].)"), \ + span_hear("You hear a thump from [src].")) if(do_after(user, CRYO_BREAKOUT_TIME, target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src ) return - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/atmospherics/components/unary/cryo_cell/examine(mob/user) @@ -370,7 +370,7 @@ GLOBAL_VAR_INIT(cryo_overlay_cover_off, mutable_appearance('icons/obj/cryogenics if(L.incapacitated()) close_machine(target) else - user.visible_message("[user] starts shoving [target] inside [src].", "You start shoving [target] inside [src].") + user.visible_message(span_notice("[user] starts shoving [target] inside [src]."), span_notice("You start shoving [target] inside [src].")) if (do_after(user, 2.5 SECONDS, target=target)) close_machine(target) @@ -378,13 +378,13 @@ GLOBAL_VAR_INIT(cryo_overlay_cover_off, mutable_appearance('icons/obj/cryogenics if(istype(I, /obj/item/reagent_containers/glass)) . = 1 //no afterattack if(beaker) - to_chat(user, "A beaker is already loaded into [src]!") + to_chat(user, span_warning("A beaker is already loaded into [src]!")) return if(!user.transferItemToLoc(I, src)) return beaker = I - user.visible_message("[user] places [I] in [src].", \ - "You place [I] in [src].") + user.visible_message(span_notice("[user] places [I] in [src]."), \ + span_notice("You place [I] in [src].")) var/reagentlist = pretty_string_from_reagent_list(I.reagents.reagent_list) log_game("[key_name(user)] added an [I] to cryo containing [reagentlist]") return 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 1588ddd40d3..435bff29a5c 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -191,7 +191,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE // mapping diff --git a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm index df2b09334ae..d4673b5a659 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm @@ -41,7 +41,7 @@ /obj/machinery/atmospherics/components/unary/portables_connector/can_unwrench(mob/user) . = ..() if(. && connected_device) - to_chat(user, "You cannot unwrench [src], detach [connected_device] first!") + to_chat(user, span_warning("You cannot unwrench [src], detach [connected_device] first!")) return FALSE /obj/machinery/atmospherics/components/unary/portables_connector/layer2 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 ff318aef25d..e9d6a3bbdce 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -259,13 +259,13 @@ ..() if(!I.tool_start_check(user, amount=0)) return TRUE - to_chat(user, "You begin welding the vent...") + to_chat(user, span_notice("You begin welding the vent...")) if(I.use_tool(src, user, 20, volume=50)) if(!welded) - user.visible_message("[user] welds the vent shut.", "You weld the vent shut.", "You hear welding.") + user.visible_message(span_notice("[user] welds the vent shut."), span_notice("You weld the vent shut."), span_hear("You hear welding.")) welded = TRUE else - user.visible_message("[user] unwelded the vent.", "You unweld the vent.", "You hear welding.") + user.visible_message(span_notice("[user] unwelded the vent."), span_notice("You unweld the vent."), span_hear("You hear welding.")) welded = FALSE update_appearance() pipe_vision_img = image(src, loc, dir = dir) @@ -277,7 +277,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE /obj/machinery/atmospherics/components/unary/vent_pump/examine(mob/user) @@ -292,7 +292,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/attack_alien(mob/user, list/modifiers) if(!welded || !(do_after(user, 20, target = src))) return - user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the vent.", "You hear loud scraping noises.") + user.visible_message(span_warning("[user] furiously claws at [src]!"), span_notice("You manage to clear away the stuff blocking the vent."), span_hear("You hear loud scraping noises.")) welded = FALSE update_appearance() pipe_vision_img = image(src, loc, dir = dir) 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 8507796937d..d0ed65bef96 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -270,13 +270,13 @@ ..() if(!I.tool_start_check(user, amount=0)) return TRUE - to_chat(user, "Now welding the scrubber.") + to_chat(user, span_notice("Now welding the scrubber.")) if(I.use_tool(src, user, 20, volume=50)) if(!welded) - user.visible_message("[user] welds the scrubber shut.","You weld the scrubber shut.", "You hear welding.") + user.visible_message(span_notice("[user] welds the scrubber shut."),span_notice("You weld the scrubber shut."), span_hear("You hear welding.")) welded = TRUE else - user.visible_message("[user] unwelds the scrubber.", "You unweld the scrubber.", "You hear welding.") + user.visible_message(span_notice("[user] unwelds the scrubber."), span_notice("You unweld the scrubber."), span_hear("You hear welding.")) welded = FALSE update_appearance() pipe_vision_img = image(src, loc, dir = dir) @@ -288,7 +288,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/can_unwrench(mob/user) . = ..() if(. && on && is_operational) - to_chat(user, "You cannot unwrench [src], turn it off first!") + to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE /obj/machinery/atmospherics/components/unary/vent_scrubber/examine(mob/user) @@ -299,7 +299,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/attack_alien(mob/user, list/modifiers) if(!welded || !(do_after(user, 20, target = src))) return - user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the scrubber.", "You hear loud scraping noises.") + user.visible_message(span_warning("[user] furiously claws at [src]!"), span_notice("You manage to clear away the stuff blocking the scrubber."), span_hear("You hear loud scraping noises.")) welded = FALSE update_appearance() pipe_vision_img = image(src, loc, dir = dir) diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm index 842f45b6f0b..8ded7e1e25f 100644 --- a/code/modules/atmospherics/machinery/other/meter.dm +++ b/code/modules/atmospherics/machinery/other/meter.dm @@ -118,12 +118,12 @@ /obj/machinery/meter/wrench_act(mob/user, obj/item/I) ..() - to_chat(user, "You begin to unfasten \the [src]...") + to_chat(user, span_notice("You begin to unfasten \the [src]...")) if (I.use_tool(src, user, 40, volume=50)) user.visible_message( "[user] unfastens \the [src].", - "You unfasten \the [src].", - "You hear ratchet.") + span_notice("You unfasten \the [src]."), + span_hear("You hear ratchet.")) deconstruct() return TRUE diff --git a/code/modules/atmospherics/machinery/other/miner.dm b/code/modules/atmospherics/machinery/other/miner.dm index 2478fe80289..1356c475add 100644 --- a/code/modules/atmospherics/machinery/other/miner.dm +++ b/code/modules/atmospherics/machinery/other/miner.dm @@ -43,25 +43,25 @@ return FALSE var/turf/T = get_turf(src) if(!isopenturf(T)) - broken_message = "VENT BLOCKED" + broken_message = span_boldnotice("VENT BLOCKED") set_broken(TRUE) return FALSE var/turf/open/OT = T if(OT.planetary_atmos) - broken_message = "DEVICE NOT ENCLOSED IN A PRESSURIZED ENVIRONMENT" + broken_message = span_boldwarning("DEVICE NOT ENCLOSED IN A PRESSURIZED ENVIRONMENT") set_broken(TRUE) return FALSE if(isspaceturf(T)) - broken_message = "AIR VENTING TO SPACE" + broken_message = span_boldnotice("AIR VENTING TO SPACE") set_broken(TRUE) return FALSE var/datum/gas_mixture/G = OT.return_air() if(G.return_pressure() > (max_ext_kpa - ((spawn_mol*spawn_temp*R_IDEAL_GAS_EQUATION)/(CELL_VOLUME)))) - broken_message = "EXTERNAL PRESSURE OVER THRESHOLD" + broken_message = span_boldwarning("EXTERNAL PRESSURE OVER THRESHOLD") set_broken(TRUE) return FALSE if(G.total_moles() > max_ext_mol) - broken_message = "EXTERNAL AIR CONCENTRATION OVER THRESHOLD" + broken_message = span_boldwarning("EXTERNAL AIR CONCENTRATION OVER THRESHOLD") set_broken(TRUE) return FALSE if(broken) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 36095846225..1953def7b05 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -114,14 +114,14 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) /obj/machinery/portable_atmospherics/canister/interact(mob/user) . = ..() if(!allowed(user)) - to_chat(user, "Error - Unauthorized User.") + to_chat(user, span_alert("Error - Unauthorized User.")) playsound(src, 'sound/misc/compiler-failure.ogg', 50, TRUE) return /obj/machinery/portable_atmospherics/canister/examine(user) . = ..() if(mode) - . += "This canister is Tier [mode]. A sticker on its side says MAX SAFE PRESSURE: [siunit_pressure(initial(pressure_limit), 0)]." + . += span_notice("This canister is Tier [mode]. A sticker on its side says MAX SAFE PRESSURE: [siunit_pressure(initial(pressure_limit), 0)].") // Please keep the canister types sorted // Basic canister per gas below here @@ -474,12 +474,12 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) return TRUE var/pressure = air_contents.return_pressure() if(pressure > 300) - to_chat(user, "The pressure gauge on [src] indicates a high pressure inside... maybe you want to reconsider?") + to_chat(user, span_alert("The pressure gauge on [src] indicates a high pressure inside... maybe you want to reconsider?")) message_admins("[src] deconstructed by [ADMIN_LOOKUPFLW(user)]") log_game("[src] deconstructed by [key_name(user)]") - to_chat(user, "You begin cutting [src] apart...") + to_chat(user, span_notice("You begin cutting [src] apart...")) if(I.use_tool(src, user, 3 SECONDS, volume=50)) - to_chat(user, "You cut [src] apart.") + to_chat(user, span_notice("You cut [src] apart.")) deconstruct(TRUE) return TRUE @@ -493,13 +493,13 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) return TRUE if(!tool.tool_start_check(user, amount=0)) return TRUE - to_chat(user, "You begin repairing cracks in [src]...") + to_chat(user, span_notice("You begin repairing cracks in [src]...")) while(tool.use_tool(src, user, 2.5 SECONDS, volume=40)) obj_integrity = min(obj_integrity + 25, max_integrity) if(obj_integrity >= max_integrity) - to_chat(user, "You've finished repairing [src].") + to_chat(user, span_notice("You've finished repairing [src].")) return TRUE - to_chat(user, "You repair some of the cracks in [src]...") + to_chat(user, span_notice("You repair some of the cracks in [src]...")) return TRUE /obj/machinery/portable_atmospherics/canister/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration = 0) @@ -718,8 +718,8 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) if("eject") if(holding) if(valve_open) - message_admins("[ADMIN_LOOKUPFLW(usr)] removed [holding] from [src] with valve still open at [ADMIN_VERBOSEJMP(src)] releasing contents into the air.") - investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transferring into the air.", INVESTIGATE_ATMOS) + message_admins("[ADMIN_LOOKUPFLW(usr)] removed [holding] from [src] with valve still open at [ADMIN_VERBOSEJMP(src)] releasing contents into the [span_boldannounce("air")].") + investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transferring into the [span_boldannounce("air")].", INVESTIGATE_ATMOS) replace_tank(usr, FALSE) . = TRUE update_appearance() diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index 8ac58eb836a..e19a68d79bd 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -28,7 +28,7 @@ disconnect() QDEL_NULL(air_contents) SSair.stop_processing_machine(src) - + return ..() /obj/machinery/portable_atmospherics/ex_act(severity, target) @@ -111,15 +111,15 @@ return if(!holding) return - to_chat(user, "You remove [holding] from [src].") + to_chat(user, span_notice("You remove [holding] from [src].")) replace_tank(user, TRUE) /obj/machinery/portable_atmospherics/examine(mob/user) . = ..() if(!holding) return - . += "\The [src] contains [holding]. Alt-click [src] to remove it."+\ - "Click [src] with another gas tank to hot swap [holding]." + . += span_notice("\The [src] contains [holding]. Alt-click [src] to remove it.")+\ + span_notice("Click [src] with another gas tank to hot swap [holding].") /** * Allow the player to place a tank inside the machine. @@ -149,7 +149,7 @@ var/obj/item/tank/T = W if(!user.transferItemToLoc(T, src)) return FALSE - 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]"].") + to_chat(user, span_notice("[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_appearance() @@ -163,22 +163,22 @@ W.play_tool_sound(src) user.visible_message( \ "[user] disconnects [src].", \ - "You unfasten [src] from the port.", \ - "You hear a ratchet.") + span_notice("You unfasten [src] from the port."), \ + span_hear("You hear a ratchet.")) update_appearance() return TRUE var/obj/machinery/atmospherics/components/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/components/unary/portables_connector) in loc if(!possible_port) - to_chat(user, "Nothing happens.") + to_chat(user, span_notice("Nothing happens.")) return FALSE if(!connect(possible_port)) - to_chat(user, "[name] failed to connect to the port.") + to_chat(user, span_notice("[name] failed to connect to the port.")) return FALSE W.play_tool_sound(src) user.visible_message( \ "[user] connects [src].", \ - "You fasten [src] to the port.", \ - "You hear a ratchet.") + span_notice("You fasten [src] to the port."), \ + span_hear("You hear a ratchet.")) update_appearance() investigate_log("was connected to [possible_port] by [key_name(user)].", INVESTIGATE_ATMOS) return TRUE diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index f85510a5290..6b16ef4c6d2 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -44,13 +44,13 @@ if(ghost_role == "No" || !loc || QDELETED(user)) return if(!(GLOB.ghost_role_flags & GHOSTROLE_SPAWNER) && !(flags_1 & ADMIN_SPAWNED_1)) - to_chat(user, "An admin has temporarily disabled non-admin ghost roles!") + to_chat(user, span_warning("An admin has temporarily disabled non-admin ghost roles!")) return if(!uses) - to_chat(user, "This spawner is out of charges!") + to_chat(user, span_warning("This spawner is out of charges!")) return if(is_banned_from(user.key, banType)) - to_chat(user, "You are jobanned!") + to_chat(user, span_warning("You are jobanned!")) return if(!allow_spawn(user)) return @@ -116,7 +116,7 @@ if(flavour_text != "") output_message += "\n[flavour_text]" if(important_info != "") - output_message += "\n[important_info]" + output_message += "\n[span_userdanger("[important_info]")]" to_chat(M, output_message) var/datum/mind/MM = M.mind var/datum/antagonist/A diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 462aea0fea5..eaced868090 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -112,7 +112,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /datum/gateway_destination/gateway/home/proc/check_exile_implant(mob/living/L) for(var/obj/item/implant/exile/E in L.implants)//Checking that there is an exile implant - to_chat(L, "The station gate has detected your exile implant and is blocking your entry.") + to_chat(L, span_userdanger("The station gate has detected your exile implant and is blocking your entry.")) return TRUE return FALSE @@ -248,9 +248,9 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /obj/machinery/gateway/multitool_act(mob/living/user, obj/item/I) if(calibrated) - to_chat(user, "The gate is already calibrated, there is no work for you to do here.") + to_chat(user, span_alert("The gate is already calibrated, there is no work for you to do here.")) else - to_chat(user, "Recalibration successful!: \black This gate's systems have been fine tuned. Travel to this gate will now be on target.") + to_chat(user, "[span_boldnotice("Recalibration successful!")]: \black This gate's systems have been fine tuned. Travel to this gate will now be on target.") calibrated = TRUE return TRUE @@ -263,7 +263,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) . = ..() if(!target) if(!GLOB.the_gateway) - to_chat(user,"Home gateway is not responding!") + to_chat(user,span_warning("Home gateway is not responding!")) if(GLOB.the_gateway.target) GLOB.the_gateway.deactivate() //this will turn the home gateway off so that it's free for us to connect to activate(GLOB.the_gateway.destination) diff --git a/code/modules/awaymissions/mission_code/Academy.dm b/code/modules/awaymissions/mission_code/Academy.dm index 041e8c84d1a..1a68cbab5ba 100644 --- a/code/modules/awaymissions/mission_code/Academy.dm +++ b/code/modules/awaymissions/mission_code/Academy.dm @@ -149,7 +149,7 @@ /obj/structure/academy_wizard_spawner/deconstruct(disassembled = TRUE) if(!broken) broken = 1 - visible_message("[src] breaks down!") + visible_message(span_warning("[src] breaks down!")) icon_state = "forge_off" STOP_PROCESSING(SSobj, src) @@ -202,7 +202,7 @@ /obj/item/dice/d20/fate/diceroll(mob/user) if(!COOLDOWN_FINISHED(src, roll_cd)) - to_chat(user, "Hold on, [src] isn't caught up with your last roll!") + to_chat(user, span_warning("Hold on, [src] isn't caught up with your last roll!")) return . = ..() @@ -210,14 +210,14 @@ return if(!ishuman(user) || !user.mind || IS_WIZARD(user)) - to_chat(user, "You feel the magic of the dice is restricted to ordinary humans!") + to_chat(user, span_warning("You feel the magic of the dice is restricted to ordinary humans!")) return if(!reusable) used = TRUE var/turf/T = get_turf(src) - T.visible_message("[src] flares briefly.") + T.visible_message(span_userdanger("[src] flares briefly.")) addtimer(CALLBACK(src, .proc/effect, user, .), 1 SECONDS) COOLDOWN_START(src, roll_cd, 2.5 SECONDS) @@ -225,7 +225,7 @@ /obj/item/dice/d20/fate/equipped(mob/user, slot) . = ..() if(!ishuman(user) || !user.mind || IS_WIZARD(user)) - to_chat(user, "You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.") + to_chat(user, span_warning("You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.")) user.dropItemToGround(src) @@ -234,35 +234,35 @@ switch(roll) if(1) //Dust - T.visible_message("[user] turns to dust!") + T.visible_message(span_userdanger("[user] turns to dust!")) user.dust() if(2) //Death - T.visible_message("[user] suddenly dies!") + T.visible_message(span_userdanger("[user] suddenly dies!")) user.death() if(3) //Swarm of creatures - T.visible_message("A swarm of creatures surrounds [user]!") + T.visible_message(span_userdanger("A swarm of creatures surrounds [user]!")) for(var/direction in GLOB.alldirs) new /mob/living/simple_animal/hostile/netherworld(get_step(get_turf(user),direction)) if(4) //Destroy Equipment - T.visible_message("Everything [user] is holding and wearing disappears!") + T.visible_message(span_userdanger("Everything [user] is holding and wearing disappears!")) for(var/obj/item/I in user) if(istype(I, /obj/item/implant)) continue qdel(I) if(5) //Monkeying - T.visible_message("[user] transforms into a monkey!") + T.visible_message(span_userdanger("[user] transforms into a monkey!")) user.monkeyize() if(6) //Cut speed - T.visible_message("[user] starts moving slower!") + T.visible_message(span_userdanger("[user] starts moving slower!")) user.add_movespeed_modifier(/datum/movespeed_modifier/die_of_fate) if(7) //Throw - T.visible_message("Unseen forces throw [user]!") + T.visible_message(span_userdanger("Unseen forces throw [user]!")) user.Stun(60) user.adjustBruteLoss(50) var/throw_dir = pick(GLOB.cardinals) @@ -270,29 +270,29 @@ user.throw_at(throw_target, 200, 4) if(8) //Fuel tank Explosion - T.visible_message("An explosion bursts into existence around [user]!") + T.visible_message(span_userdanger("An explosion bursts into existence around [user]!")) explosion(get_turf(user), devastation_range = -1, light_impact_range = 2, flame_range = 2) if(9) //Cold var/datum/disease/D = new /datum/disease/cold() - T.visible_message("[user] looks a little under the weather!") + T.visible_message(span_userdanger("[user] looks a little under the weather!")) user.ForceContractDisease(D, FALSE, TRUE) if(10) //Nothing - T.visible_message("Nothing seems to happen.") + T.visible_message(span_userdanger("Nothing seems to happen.")) if(11) //Cookie - T.visible_message("A cookie appears out of thin air!") + T.visible_message(span_userdanger("A cookie appears out of thin air!")) var/obj/item/food/cookie/C = new(drop_location()) do_smoke(0, drop_location()) C.name = "Cookie of Fate" if(12) //Healing - T.visible_message("[user] looks very healthy!") + T.visible_message(span_userdanger("[user] looks very healthy!")) user.revive(full_heal = TRUE, admin_revive = TRUE) if(13) //Mad Dosh - T.visible_message("Mad dosh shoots out of [src]!") + T.visible_message(span_userdanger("Mad dosh shoots out of [src]!")) var/turf/Start = get_turf(src) for(var/direction in GLOB.alldirs) var/turf/dirturf = get_step(Start,direction) @@ -304,17 +304,17 @@ new /obj/item/coin/gold(M) if(14) //Free Gun - T.visible_message("An impressive gun appears!") + T.visible_message(span_userdanger("An impressive gun appears!")) do_smoke(0, drop_location()) new /obj/item/gun/ballistic/revolver/mateba(drop_location()) if(15) //Random One-use spellbook - T.visible_message("A magical looking book drops to the floor!") + T.visible_message(span_userdanger("A magical looking book drops to the floor!")) do_smoke(0, drop_location()) new /obj/item/book/granter/spell/random(drop_location()) if(16) //Servant & Servant Summon - T.visible_message("A Dice Servant appears in a cloud of smoke!") + T.visible_message(span_userdanger("A Dice Servant appears in a cloud of smoke!")) var/mob/living/carbon/human/H = new(drop_location()) do_smoke(0, drop_location()) @@ -337,23 +337,23 @@ if(17) //Tator Kit - T.visible_message("A suspicious box appears!") + T.visible_message(span_userdanger("A suspicious box appears!")) new /obj/item/storage/box/syndicate/bundle_a(drop_location()) do_smoke(0, drop_location()) if(18) //Captain ID - T.visible_message("A golden identification card appears!") + T.visible_message(span_userdanger("A golden identification card appears!")) new /obj/item/card/id/advanced/gold/captains_spare(drop_location()) do_smoke(0, drop_location()) if(19) //Instrinct Resistance - T.visible_message("[user] looks very robust!") + T.visible_message(span_userdanger("[user] looks very robust!")) user.physiology.brute_mod *= 0.5 user.physiology.burn_mod *= 0.5 if(20) //Free wizard! - T.visible_message("Magic flows out of [src] and into [user]!") + T.visible_message(span_userdanger("Magic flows out of [src] and into [user]!")) user.mind.make_wizard() /datum/outfit/butler @@ -402,7 +402,7 @@ AddElement(/datum/element/update_icon_blocker) /obj/structure/ladder/unbreakable/rune/show_fluff_message(up,mob/user) - user.visible_message("[user] activates \the [src].", "You activate \the [src].") + user.visible_message(span_notice("[user] activates \the [src]."), span_notice("You activate \the [src].")) /obj/structure/ladder/unbreakable/rune/use(mob/user, is_ghost=FALSE) if(is_ghost || !IS_WIZARD(user)) diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 25f68606f04..9ef2118cf3d 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -169,10 +169,10 @@ /turf/open/lava/plasma/attackby(obj/item/I, mob/user, params) var/obj/item/reagent_containers/glass/C = I if(C.reagents.total_volume >= C.volume) - to_chat(user, "[C] is full.") + to_chat(user, span_danger("[C] is full.")) return C.reagents.add_reagent(/datum/reagent/toxin/plasma, rand(5, 10)) - user.visible_message("[user] scoops some plasma from the [src] with \the [C].", "You scoop out some plasma from the [src] using \the [C].") + user.visible_message(span_notice("[user] scoops some plasma from the [src] with \the [C]."), span_notice("You scoop out some plasma from the [src] using \the [C].")) /turf/open/lava/plasma/burn_stuff(AM) . = 0 @@ -235,13 +235,13 @@ PP.emote("scream") ADD_TRAIT(NB, TRAIT_PLASMABURNT, src) PP.update_body_parts() - PP.visible_message("[L] screams in pain as [L.p_their()] [NB] melts down to the bone!", \ - "You scream out in pain as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!") + PP.visible_message(span_warning("[L] screams in pain as [L.p_their()] [NB] melts down to the bone!"), \ + span_userdanger("You scream out in pain as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!")) if(!plasma_parts.len && !robo_parts.len) //a person with no potential organic limbs left AND no robotic limbs, time to turn them into a plasmaman PP.IgniteMob() PP.set_species(/datum/species/plasmaman) - PP.visible_message("[L] bursts into a brilliant purple flame as [L.p_their()] entire body is that of a skeleton!", \ - "Your senses numb as all of your remaining flesh is turned into a purple slurry, sloshing off your body and leaving only your bones to show in a vibrant purple!") + PP.visible_message(span_warning("[L] bursts into a brilliant purple flame as [L.p_their()] entire body is that of a skeleton!"), \ + span_userdanger("Your senses numb as all of your remaining flesh is turned into a purple slurry, sloshing off your body and leaving only your bones to show in a vibrant purple!")) //mafia specific tame happy plasma (normal atmos, no slowdown) /turf/open/lava/plasma/mafia diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 3473ea4530c..0761b6d96b1 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -147,7 +147,7 @@ var/mob/living/carbon/human/M = AM if(M.stat != DEAD && M.ckey) - visible_message("[M] triggered [src]!") + visible_message(span_warning("[M] triggered [src]!")) triggered = 1 var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread @@ -164,10 +164,10 @@ var/mob/living/carbon/C = usr if(!C.stat) - to_chat(C, "You're not dead yet!") + to_chat(C, span_notice("You're not dead yet!")) return if(C.has_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT)) - to_chat(C, "You're already resurrecting!") + to_chat(C, span_warning("You're already resurrecting!")) return C.apply_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT) return 1 diff --git a/code/modules/awaymissions/signpost.dm b/code/modules/awaymissions/signpost.dm index d27630eb7d6..7e69b749cb7 100644 --- a/code/modules/awaymissions/signpost.dm +++ b/code/modules/awaymissions/signpost.dm @@ -26,7 +26,7 @@ user.forceMove(T) if(AM) user.start_pulling(AM) - to_chat(user, "You blink and find yourself in [get_area_name(T)].") + to_chat(user, span_notice("You blink and find yourself in [get_area_name(T)].")) else to_chat(user, "Nothing happens. You feel that this is a bad sign.") diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm index aed0345dad2..680d4cd7ba1 100644 --- a/code/modules/awaymissions/super_secret_room.dm +++ b/code/modules/awaymissions/super_secret_room.dm @@ -112,7 +112,7 @@ /obj/structure/speaking_tile/proc/SpeakPeace(list/statements) for(var/i in 1 to statements.len) - say("[statements[i]]") + say(span_deadsay("[statements[i]]")) if(i != statements.len) sleep(30) diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index dae36500093..c1a15e6903c 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -3,10 +3,10 @@ GLOBAL_LIST_INIT(potentialRandomZlevels, generateMapList(filename = "[global.con /proc/createRandomZlevel() if(GLOB.potentialRandomZlevels && GLOB.potentialRandomZlevels.len) - to_chat(world, "Loading away mission...") + to_chat(world, span_boldannounce("Loading away mission...")) var/map = pick(GLOB.potentialRandomZlevels) load_new_z_level(map, "Away Mission") - to_chat(world, "Away mission loaded.") + to_chat(world, span_boldannounce("Away mission loaded.")) /obj/effect/landmark/awaystart name = "away mission spawn" diff --git a/code/modules/buildmode/bm_mode.dm b/code/modules/buildmode/bm_mode.dm index 12cc2c0c36c..ddc83ac2635 100644 --- a/code/modules/buildmode/bm_mode.dm +++ b/code/modules/buildmode/bm_mode.dm @@ -34,7 +34,7 @@ CRASH("No help defined, yell at a coder") /datum/buildmode_mode/proc/change_settings(client/c) - to_chat(c, "There is no configuration available for this mode") + to_chat(c, span_warning("There is no configuration available for this mode")) return /datum/buildmode_mode/proc/Reset() @@ -78,12 +78,12 @@ return if(cornerA && !cornerB) cornerB = select_tile(get_turf(object), AREASELECT_CORNERB) - to_chat(c, "Region selected, if you're happy with your selection left click again, otherwise right click.") + to_chat(c, span_boldwarning("Region selected, if you're happy with your selection left click again, otherwise right click.")) return handle_selected_area(c, params) deselect_region() else - to_chat(c, "Region selection canceled!") + to_chat(c, span_notice("Region selection canceled!")) deselect_region() return diff --git a/code/modules/buildmode/submodes/advanced.dm b/code/modules/buildmode/submodes/advanced.dm index 456883e8479..77ed89fd192 100644 --- a/code/modules/buildmode/submodes/advanced.dm +++ b/code/modules/buildmode/submodes/advanced.dm @@ -6,15 +6,15 @@ // of the currently selected path /datum/buildmode_mode/advanced/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Right Mouse Button on buildmode button = Set object type") - to_chat(c, "Left Mouse Button + alt on turf/obj = Copy object type") - to_chat(c, "Left Mouse Button on turf/obj = Place objects") - to_chat(c, "Right Mouse Button = Delete objects") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Right Mouse Button on buildmode button = Set object type")) + to_chat(c, span_notice("Left Mouse Button + alt on turf/obj = Copy object type")) + to_chat(c, span_notice("Left Mouse Button on turf/obj = Place objects")) + to_chat(c, span_notice("Right Mouse Button = Delete objects")) to_chat(c, "") - to_chat(c, "Use the button in the upper left corner to") - to_chat(c, "change the direction of built objects.") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("Use the button in the upper left corner to")) + to_chat(c, span_notice("change the direction of built objects.")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/advanced/change_settings(client/c) var/target_path = input(c, "Enter typepath:", "Typepath", "/obj/structure/closet") @@ -38,9 +38,9 @@ if(left_click && alt_click) if (istype(object, /turf) || istype(object, /obj) || istype(object, /mob)) objholder = object.type - to_chat(c, "[initial(object.name)] ([object.type]) selected.") + to_chat(c, span_notice("[initial(object.name)] ([object.type]) selected.")) else - to_chat(c, "[initial(object.name)] is not a turf, object, or mob! Please select again.") + to_chat(c, span_notice("[initial(object.name)] is not a turf, object, or mob! Please select again.")) else if(left_click) if(ispath(objholder,/turf)) var/turf/T = get_turf(object) @@ -56,7 +56,7 @@ A.setDir(BM.build_dir) log_admin("Build Mode: [key_name(c)] modified [A]'s [COORD(A)] dir to [BM.build_dir]") else - to_chat(c, "Select object type first.") + to_chat(c, span_warning("Select object type first.")) else if(right_click) if(isobj(object)) log_admin("Build Mode: [key_name(c)] deleted [object] at [AREACOORD(object)]") diff --git a/code/modules/buildmode/submodes/area_edit.dm b/code/modules/buildmode/submodes/area_edit.dm index ba0acb68161..1a4c86bba0b 100644 --- a/code/modules/buildmode/submodes/area_edit.dm +++ b/code/modules/buildmode/submodes/area_edit.dm @@ -22,12 +22,12 @@ return ..() /datum/buildmode_mode/area_edit/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Left Mouse Button on obj/turf/mob = Select corner") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Left Mouse Button on obj/turf/mob = Select corner")) to_chat(c, "Left Mouse Button + Alt on turf/obj/mob = Paint area/span>") - to_chat(c, "Right Mouse Button on obj/turf/mob = Select area to paint") - to_chat(c, "Right Mouse Button on buildmode button = Create new area") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("Right Mouse Button on obj/turf/mob = Select area to paint")) + to_chat(c, span_notice("Right Mouse Button on buildmode button = Create new area")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/area_edit/change_settings(client/c) var/target_path = input(c, "Enter typepath:", "Typepath", "/area") @@ -49,7 +49,7 @@ if(LAZYACCESS(modifiers, LEFT_CLICK)) if(!storedarea) - to_chat(c, "Configure or select the area you want to paint first!") + to_chat(c, span_warning("Configure or select the area you want to paint first!")) return if(LAZYACCESS(modifiers, ALT_CLICK)) var/turf/T = get_turf(object) diff --git a/code/modules/buildmode/submodes/basic.dm b/code/modules/buildmode/submodes/basic.dm index a5abd94fdd0..a28f4862b62 100644 --- a/code/modules/buildmode/submodes/basic.dm +++ b/code/modules/buildmode/submodes/basic.dm @@ -2,15 +2,15 @@ key = "basic" /datum/buildmode_mode/basic/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Left Mouse Button = Construct / Upgrade") - to_chat(c, "Right Mouse Button = Deconstruct / Delete / Downgrade") - to_chat(c, "Left Mouse Button + ctrl = R-Window") - to_chat(c, "Left Mouse Button + alt = Airlock") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Left Mouse Button = Construct / Upgrade")) + to_chat(c, span_notice("Right Mouse Button = Deconstruct / Delete / Downgrade")) + to_chat(c, span_notice("Left Mouse Button + ctrl = R-Window")) + to_chat(c, span_notice("Left Mouse Button + alt = Airlock")) to_chat(c, "") - to_chat(c, "Use the button in the upper left corner to") - to_chat(c, "change the direction of built objects.") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("Use the button in the upper left corner to")) + to_chat(c, span_notice("change the direction of built objects.")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/basic/handle_click(client/c, params, obj/object) var/list/modifiers = params2list(params) diff --git a/code/modules/buildmode/submodes/boom.dm b/code/modules/buildmode/submodes/boom.dm index d79f2164000..7ce33b1adf8 100644 --- a/code/modules/buildmode/submodes/boom.dm +++ b/code/modules/buildmode/submodes/boom.dm @@ -8,10 +8,10 @@ var/flames = -1 /datum/buildmode_mode/boom/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Mouse Button on obj = Kaboom") - to_chat(c, "NOTE: Using the \"Config/Launch Supplypod\" verb allows you to do this in an IC way (i.e., making a cruise missile come down from the sky and explode wherever you click!)") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Mouse Button on obj = Kaboom")) + to_chat(c, span_notice("NOTE: Using the \"Config/Launch Supplypod\" verb allows you to do this in an IC way (i.e., making a cruise missile come down from the sky and explode wherever you click!)")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/boom/change_settings(client/c) devastation = input(c, "Range of total devastation. -1 to none", text("Input")) as num|null diff --git a/code/modules/buildmode/submodes/copy.dm b/code/modules/buildmode/submodes/copy.dm index 7f189923b14..739f53e9bc8 100644 --- a/code/modules/buildmode/submodes/copy.dm +++ b/code/modules/buildmode/submodes/copy.dm @@ -7,10 +7,10 @@ return ..() /datum/buildmode_mode/copy/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target") - to_chat(c, "Right Mouse Button on obj/mob = Select target to copy") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target")) + to_chat(c, span_notice("Right Mouse Button on obj/mob = Select target to copy")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/copy/handle_click(client/c, params, obj/object) var/list/modifiers = params2list(params) @@ -22,5 +22,5 @@ log_admin("Build Mode: [key_name(c)] copied [stored] to [AREACOORD(object)]") else if(LAZYACCESS(modifiers, RIGHT_CLICK)) if(ismovable(object)) // No copying turfs for now. - to_chat(c, "[object] set as template.") + to_chat(c, span_notice("[object] set as template.")) stored = object diff --git a/code/modules/buildmode/submodes/delete.dm b/code/modules/buildmode/submodes/delete.dm index 05de87cc460..93793f932f7 100644 --- a/code/modules/buildmode/submodes/delete.dm +++ b/code/modules/buildmode/submodes/delete.dm @@ -45,7 +45,7 @@ to_chat(usr, "No instances of this type exist") return log_admin("[key_name(usr)] deleted all instances of type [O_type] ([i] instances deleted) ") - message_admins("[key_name(usr)] deleted all instances of type [O_type] ([i] instances deleted) ") + message_admins(span_notice("[key_name(usr)] deleted all instances of type [O_type] ([i] instances deleted) ")) if("Type and subtypes") var/i = 0 for(var/Obj in world) @@ -57,4 +57,4 @@ to_chat(usr, "No instances of this type exist") return log_admin("[key_name(usr)] deleted all instances of type or subtype of [O_type] ([i] instances deleted) ") - message_admins("[key_name(usr)] deleted all instances of type or subtype of [O_type] ([i] instances deleted) ") + message_admins(span_notice("[key_name(usr)] deleted all instances of type or subtype of [O_type] ([i] instances deleted) ")) diff --git a/code/modules/buildmode/submodes/fill.dm b/code/modules/buildmode/submodes/fill.dm index 0e67ab640a7..b07e3d09554 100644 --- a/code/modules/buildmode/submodes/fill.dm +++ b/code/modules/buildmode/submodes/fill.dm @@ -7,11 +7,11 @@ var/atom/objholder = null /datum/buildmode_mode/fill/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Left Mouse Button on turf/obj/mob = Select corner") - to_chat(c, "Left Mouse Button + Alt on turf/obj/mob = Delete region") - to_chat(c, "Right Mouse Button on buildmode button = Select object type") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Left Mouse Button on turf/obj/mob = Select corner")) + to_chat(c, span_notice("Left Mouse Button + Alt on turf/obj/mob = Delete region")) + to_chat(c, span_notice("Right Mouse Button on buildmode button = Select object type")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/fill/change_settings(client/c) var/target_path = input(c, "Enter typepath:" ,"Typepath","/obj/structure/closet") @@ -29,7 +29,7 @@ /datum/buildmode_mode/fill/handle_click(client/c, params, obj/object) if(isnull(objholder)) - to_chat(c, "Select an object type first.") + to_chat(c, span_warning("Select an object type first.")) deselect_region() return ..() diff --git a/code/modules/buildmode/submodes/mapgen.dm b/code/modules/buildmode/submodes/mapgen.dm index 475afb5b5a0..2cd57541255 100644 --- a/code/modules/buildmode/submodes/mapgen.dm +++ b/code/modules/buildmode/submodes/mapgen.dm @@ -5,10 +5,10 @@ var/generator_path /datum/buildmode_mode/mapgen/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Left Mouse Button on turf/obj/mob = Select corner") - to_chat(c, "Right Mouse Button on buildmode button = Select generator") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Left Mouse Button on turf/obj/mob = Select corner")) + to_chat(c, span_notice("Right Mouse Button on buildmode button = Select generator")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/mapgen/change_settings(client/c) var/list/gen_paths = subtypesof(/datum/map_generator) @@ -25,7 +25,7 @@ /datum/buildmode_mode/mapgen/handle_click(client/c, params, obj/object) if(isnull(generator_path)) - to_chat(c, "Select generator type first.") + to_chat(c, span_warning("Select generator type first.")) deselect_region() return ..() @@ -37,7 +37,7 @@ var/datum/map_generator/G = new generator_path if(istype(G, /datum/map_generator/repair/reload_station_map)) if(GLOB.reloading_map) - to_chat(c, "You are already reloading an area! Please wait for it to fully finish loading before trying to load another!") + to_chat(c, span_boldwarning("You are already reloading an area! Please wait for it to fully finish loading before trying to load another!")) deselect_region() return G.defineRegion(cornerA, cornerB, 1) diff --git a/code/modules/buildmode/submodes/outfit.dm b/code/modules/buildmode/submodes/outfit.dm index f9f0f6edaec..1c36ab4ae2e 100644 --- a/code/modules/buildmode/submodes/outfit.dm +++ b/code/modules/buildmode/submodes/outfit.dm @@ -29,7 +29,7 @@ if(LAZYACCESS(modifiers, LEFT_CLICK)) if(isnull(dressuptime)) - to_chat(c, "Pick an outfit first.") + to_chat(c, span_warning("Pick an outfit first.")) return for (var/item in dollie.get_equipped_items(TRUE)) diff --git a/code/modules/buildmode/submodes/smite.dm b/code/modules/buildmode/submodes/smite.dm index 7eefabf7f3b..f6778a6bc0f 100644 --- a/code/modules/buildmode/submodes/smite.dm +++ b/code/modules/buildmode/submodes/smite.dm @@ -34,7 +34,7 @@ return if (selected_smite == null) - to_chat(user, "No smite selected.") + to_chat(user, span_notice("No smite selected.")) return selected_smite.effect(user, object) diff --git a/code/modules/buildmode/submodes/throwing.dm b/code/modules/buildmode/submodes/throwing.dm index 80a8d4cdbe4..ce39906319d 100644 --- a/code/modules/buildmode/submodes/throwing.dm +++ b/code/modules/buildmode/submodes/throwing.dm @@ -1,17 +1,17 @@ /datum/buildmode_mode/throwing key = "throw" - + var/atom/movable/throw_atom = null - + /datum/buildmode_mode/throwing/Destroy() throw_atom = null return ..() /datum/buildmode_mode/throwing/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Left Mouse Button on turf/obj/mob = Select") - to_chat(c, "Right Mouse Button on turf/obj/mob = Throw") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Left Mouse Button on turf/obj/mob = Select")) + to_chat(c, span_notice("Right Mouse Button on turf/obj/mob = Throw")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/throwing/handle_click(client/c, params, obj/object) var/list/modifiers = params2list(params) diff --git a/code/modules/buildmode/submodes/variable_edit.dm b/code/modules/buildmode/submodes/variable_edit.dm index 8d5fea0f228..cbbbeb2eebb 100644 --- a/code/modules/buildmode/submodes/variable_edit.dm +++ b/code/modules/buildmode/submodes/variable_edit.dm @@ -10,11 +10,11 @@ return ..() /datum/buildmode_mode/varedit/show_help(client/c) - to_chat(c, "***********************************************************") - to_chat(c, "Right Mouse Button on buildmode button = Select var(type) & value") - to_chat(c, "Left Mouse Button on turf/obj/mob = Set var(type) & value") - to_chat(c, "Right Mouse Button on turf/obj/mob = Reset var's value") - to_chat(c, "***********************************************************") + to_chat(c, span_notice("***********************************************************")) + to_chat(c, span_notice("Right Mouse Button on buildmode button = Select var(type) & value")) + to_chat(c, span_notice("Left Mouse Button on turf/obj/mob = Set var(type) & value")) + to_chat(c, span_notice("Right Mouse Button on turf/obj/mob = Reset var's value")) + to_chat(c, span_notice("***********************************************************")) /datum/buildmode_mode/varedit/Reset() . = ..() @@ -23,14 +23,14 @@ /datum/buildmode_mode/varedit/change_settings(client/c) varholder = input(c, "Enter variable name:" ,"Name", "name") - + if(!vv_varname_lockcheck(varholder)) return var/temp_value = c.vv_get_value() if(isnull(temp_value["class"])) Reset() - to_chat(c, "Variable unset.") + to_chat(c, span_notice("Variable unset.")) return valueholder = temp_value["value"] @@ -38,23 +38,23 @@ var/list/modifiers = params2list(params) if(isnull(varholder)) - to_chat(c, "Choose a variable to modify first.") + to_chat(c, span_warning("Choose a variable to modify first.")) return if(LAZYACCESS(modifiers, LEFT_CLICK)) if(object.vars.Find(varholder)) if(object.vv_edit_var(varholder, valueholder) == FALSE) - to_chat(c, "Your edit was rejected by the object.") + to_chat(c, span_warning("Your edit was rejected by the object.")) return log_admin("Build Mode: [key_name(c)] modified [object.name]'s [varholder] to [valueholder]") else - to_chat(c, "[initial(object.name)] does not have a var called '[varholder]'") + to_chat(c, span_warning("[initial(object.name)] does not have a var called '[varholder]'")) if(LAZYACCESS(modifiers, RIGHT_CLICK)) if(object.vars.Find(varholder)) var/reset_value = initial(object.vars[varholder]) if(object.vv_edit_var(varholder, reset_value) == FALSE) - to_chat(c, "Your edit was rejected by the object.") + to_chat(c, span_warning("Your edit was rejected by the object.")) return log_admin("Build Mode: [key_name(c)] modified [object.name]'s [varholder] to [reset_value]") else - to_chat(c, "[initial(object.name)] does not have a var called '[varholder]'") + to_chat(c, span_warning("[initial(object.name)] does not have a var called '[varholder]'")) diff --git a/code/modules/capture_the_flag/capture_the_flag.dm b/code/modules/capture_the_flag/capture_the_flag.dm index 9135fba375b..3af149df6bd 100644 --- a/code/modules/capture_the_flag/capture_the_flag.dm +++ b/code/modules/capture_the_flag/capture_the_flag.dm @@ -64,7 +64,7 @@ var/area/mob_area = get_area(M) if(istype(mob_area, game_area)) if(!capture) - to_chat(M, "[src] has been returned to the base!") + to_chat(M, span_userdanger("[src] has been returned to the base!")) STOP_PROCESSING(SSobj, src) return TRUE //so if called by a signal, it doesn't delete @@ -72,10 +72,10 @@ /obj/item/ctf/attack_hand(mob/living/user, list/modifiers) //pre normal check item stuff, this is for our special flag checks if(!is_ctf_target(user) && !anyonecanpickup) - to_chat(user, "Non-players shouldn't be moving the flag!") + to_chat(user, span_warning("Non-players shouldn't be moving the flag!")) return if(team in user.faction) - to_chat(user, "You can't move your own flag!") + to_chat(user, span_warning("You can't move your own flag!")) return if(loc == user) if(!user.dropItemToGround(src)) @@ -83,7 +83,7 @@ for(var/mob/M in GLOB.player_list) var/area/mob_area = get_area(M) if(istype(mob_area, game_area)) - to_chat(M, "\The [initial(src.name)] has been taken!") + to_chat(M, span_userdanger("\The [initial(src.name)] has been taken!")) STOP_PROCESSING(SSobj, src) anchored = FALSE // Hacky usage that bypasses set_anchored(), because normal checks need this to be FALSE to pass . = ..() //this is the actual normal item checks @@ -103,7 +103,7 @@ for(var/mob/M in GLOB.player_list) var/area/mob_area = get_area(M) if(istype(mob_area, game_area)) - to_chat(M, "\The [initial(name)] has been dropped!") + to_chat(M, span_userdanger("\The [initial(name)] has been dropped!")) anchored = TRUE // Avoid directly assigning to anchored and prefer to use set_anchored() on normal circumstances. @@ -297,11 +297,11 @@ if(!(GLOB.ghost_role_flags & GHOSTROLE_MINIGAME)) - to_chat(user, "CTF has been temporarily disabled by admins.") + to_chat(user, span_warning("CTF has been temporarily disabled by admins.")) return for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines) if(CTF.game_id != game_id && CTF.ctf_enabled) - to_chat(user, "There is already an ongoing game in the [get_area(CTF)]!") + to_chat(user, span_warning("There is already an ongoing game in the [get_area(CTF)]!")) return people_who_want_to_play |= user.ckey var/num = people_who_want_to_play.len @@ -310,7 +310,7 @@ people_who_want_to_play.Cut() toggle_id_ctf(null, game_id) else - to_chat(user, "CTF has been requested. [num]/[CTF_REQUIRED_PLAYERS] have readied up.") + to_chat(user, span_notice("CTF has been requested. [num]/[CTF_REQUIRED_PLAYERS] have readied up.")) return @@ -318,7 +318,7 @@ return if(user.ckey in team_members) if(user.ckey in recently_dead_ckeys) - to_chat(user, "It must be more than [DisplayTimeText(respawn_cooldown)] from your last death to respawn!") + to_chat(user, span_warning("It must be more than [DisplayTimeText(respawn_cooldown)] from your last death to respawn!")) return var/client/new_team_member = user.client if(user.mind && user.mind.current) @@ -330,10 +330,10 @@ if(CTF.game_id != game_id || CTF == src || CTF.ctf_enabled == FALSE) continue if(user.ckey in CTF.team_members) - to_chat(user, "No switching teams while the round is going!") + to_chat(user, span_warning("No switching teams while the round is going!")) return if(CTF.team_members.len < src.team_members.len) - to_chat(user, "[src.team] has more team members than [CTF.team]! Try joining [CTF.team] team to even things up.") + to_chat(user, span_warning("[src.team] has more team members than [CTF.team]! Try joining [CTF.team] team to even things up.")) return var/client/new_team_member = user.client if(user.mind && user.mind.current) @@ -764,7 +764,7 @@ if(!is_ctf_target(L)) return if(!(src.team in L.faction)) - to_chat(L, "Stay out of the enemy spawn!") + to_chat(L, span_danger("Stay out of the enemy spawn!")) L.death() /obj/structure/trap/ctf/red @@ -866,7 +866,7 @@ for(var/mob/M in GLOB.player_list) var/area/mob_area = get_area(M) if(istype(mob_area, game_area)) - to_chat(M, "[user.real_name] has captured \the [src], claiming it for [CTF.team]! Go take it back!") + to_chat(M, span_userdanger("[user.real_name] has captured \the [src], claiming it for [CTF.team]! Go take it back!")) break #undef WHITE_TEAM diff --git a/code/modules/cargo/blackmarket/blackmarket_market.dm b/code/modules/cargo/blackmarket/blackmarket_market.dm index 2a56ce688fd..35d49ecb616 100644 --- a/code/modules/cargo/blackmarket/blackmarket_market.dm +++ b/code/modules/cargo/blackmarket/blackmarket_market.dm @@ -38,7 +38,7 @@ var/price = I.price + shipping[method] // I can't get the price of the item and shipping in a clean way to the UI, so I have to do this. if(uplink.money < price) - to_chat("You don't have enough credits in [uplink] for [I] with [method] shipping.") + to_chat(span_warning("You don't have enough credits in [uplink] for [I] with [method] shipping.")) return FALSE if(I.buy(uplink, user, method)) diff --git a/code/modules/cargo/blackmarket/blackmarket_uplink.dm b/code/modules/cargo/blackmarket/blackmarket_uplink.dm index 7733ea45121..138497d32b5 100644 --- a/code/modules/cargo/blackmarket/blackmarket_uplink.dm +++ b/code/modules/cargo/blackmarket/blackmarket_uplink.dm @@ -26,9 +26,9 @@ if(istype(I, /obj/item/holochip) || istype(I, /obj/item/stack/spacecash) || istype(I, /obj/item/coin)) var/worth = I.get_item_credit_value() if(!worth) - to_chat(user, "[I] doesn't seem to be worth anything!") + to_chat(user, span_warning("[I] doesn't seem to be worth anything!")) money += worth - to_chat(user, "You slot [I] into [src] and it reports a total of [money] credits inserted.") + to_chat(user, span_notice("You slot [I] into [src] and it reports a total of [money] credits inserted.")) qdel(I) return . = ..() @@ -44,14 +44,14 @@ if(!amount_to_remove || amount_to_remove < 0) return if(amount_to_remove > money) - to_chat(user, "There is only [money] credits in [src]") + to_chat(user, span_warning("There is only [money] credits in [src]")) return var/obj/item/holochip/holochip = new (user.drop_location(), amount_to_remove) money -= amount_to_remove holochip.name = "washed " + holochip.name user.put_in_hands(holochip) - to_chat(user, "You withdraw [amount_to_remove] credits into a holochip.") + to_chat(user, span_notice("You withdraw [amount_to_remove] credits into a holochip.")) /obj/item/blackmarket_uplink/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/cargo/coupon.dm b/code/modules/cargo/coupon.dm index 78476cb01e0..4cef22f87aa 100644 --- a/code/modules/cargo/coupon.dm +++ b/code/modules/cargo/coupon.dm @@ -24,7 +24,7 @@ desc = "The small text reads, 'You will be slaughtered'... That doesn't sound right, does it?" if(ismob(loc)) var/mob/M = loc - to_chat(M, "The coupon reads 'fuck you' in large, bold text... is- is that a prize, or?") + to_chat(M, span_warning("The coupon reads 'fuck you' in large, bold text... is- is that a prize, or?")) M.AddComponent(/datum/component/omen, TRUE, src) else discount_pct_off = text2num(discount_pct_off) @@ -34,7 +34,7 @@ if(!istype(O, /obj/machinery/computer/cargo)) return ..() if(discount_pct_off == COUPON_OMEN) - to_chat(user, "\The [O] validates the coupon as authentic, but refuses to accept it...") + to_chat(user, span_warning("\The [O] validates the coupon as authentic, but refuses to accept it...")) O.say("Coupon fulfillment already in progress...") return diff --git a/code/modules/cargo/export_scanner.dm b/code/modules/cargo/export_scanner.dm index 9714100547b..86d0a0dbae2 100644 --- a/code/modules/cargo/export_scanner.dm +++ b/code/modules/cargo/export_scanner.dm @@ -21,9 +21,9 @@ for(var/x in ex.total_amount) price += ex.total_value[x] if(price) - to_chat(user, "Scanned [O], value: [price] credits[O.contents.len ? " (contents included)" : ""].") + to_chat(user, span_notice("Scanned [O], value: [price] credits[O.contents.len ? " (contents included)" : ""].")) else - to_chat(user, "Scanned [O], no export value.") + to_chat(user, span_warning("Scanned [O], no export value.")) if(ishuman(user)) var/mob/living/carbon/human/scan_human = user @@ -31,10 +31,10 @@ var/obj/item/bounty_cube/cube = O if(!istype(get_area(cube), /area/shuttle/supply)) - to_chat(user, "Shuttle placement not detected. Handling tip not registered.") + to_chat(user, span_warning("Shuttle placement not detected. Handling tip not registered.")) else if(cube.bounty_handler_account) - to_chat(user, "Bank account for handling tip already registered!") + to_chat(user, span_warning("Bank account for handling tip already registered!")) else if(scan_human.get_bank_account() && cube.GetComponent(/datum/component/pricetag)) var/datum/component/pricetag/pricetag = cube.GetComponent(/datum/component/pricetag) @@ -48,4 +48,4 @@ cube.bounty_holder_account.bank_card_talk("[cube] was scanned in \the [get_area(cube)] by [scan_human] ([scan_human.job]).") else - to_chat(user, "Bank account not detected. Handling tip not registered.") + to_chat(user, span_warning("Bank account not detected. Handling tip not registered.")) diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index 8195ec352c5..55fce78dff1 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -43,11 +43,11 @@ /obj/machinery/computer/cargo/express/attackby(obj/item/W, mob/living/user, params) if(W.GetID() && allowed(user)) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the interface.") + to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the interface.")) return else if(istype(W, /obj/item/disk/cargo/bluespace_pod)) podType = /obj/structure/closet/supplypod/bluespacepod//doesnt effect circuit board, making reversal possible - to_chat(user, "You insert the disk into [src], allowing for advanced supply delivery vehicles.") + to_chat(user, span_notice("You insert the disk into [src], allowing for advanced supply delivery vehicles.")) qdel(W) return TRUE else if(istype(W, /obj/item/supplypod_beacon)) @@ -56,15 +56,15 @@ sb.link_console(src, user) return TRUE else - to_chat(user, "[src] is already linked to [sb].") + to_chat(user, span_alert("[src] is already linked to [sb].")) ..() /obj/machinery/computer/cargo/express/emag_act(mob/living/user) if(obj_flags & EMAGGED) return if(user) - user.visible_message("[user] swipes a suspicious card through [src]!", - "You change the routing protocols, allowing the Supply Pod to land anywhere on the station.") + user.visible_message(span_warning("[user] swipes a suspicious card through [src]!"), + span_notice("You change the routing protocols, allowing the Supply Pod to land anywhere on the station.")) obj_flags |= EMAGGED contraband = TRUE // This also sets this on the circuit board diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 3e0cf7f74ff..18f7b30212b 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -49,9 +49,9 @@ /mob/living/simple_animal/pet/gondola/gondolapod/examine(mob/user) . = ..() if (contents.len) - . += "It looks like it hasn't made its delivery yet.
    " + . += span_notice("It looks like it hasn't made its delivery yet.
    ") else - . += "It looks like it has already made its delivery." + . += span_notice("It looks like it has already made its delivery.") /mob/living/simple_animal/pet/gondola/gondolapod/verb/check() set name = "Count Contents" @@ -59,9 +59,9 @@ set desc = "Take a deep look inside youself, and count up what's inside" var/total = contents.len if (total) - to_chat(src, "You detect [total] object\s within your incredibly vast belly.") + to_chat(src, span_notice("You detect [total] object\s within your incredibly vast belly.")) else - to_chat(src, "A closer look inside yourself reveals... nothing.") + to_chat(src, span_notice("A closer look inside yourself reveals... nothing.")) /mob/living/simple_animal/pet/gondola/gondolapod/setOpened() opened = TRUE diff --git a/code/modules/cargo/orderconsole.dm b/code/modules/cargo/orderconsole.dm index 6560c9a30bc..87ad7b5eed1 100644 --- a/code/modules/cargo/orderconsole.dm +++ b/code/modules/cargo/orderconsole.dm @@ -72,8 +72,8 @@ if(obj_flags & EMAGGED) return if(user) - user.visible_message("[user] swipes a suspicious card through [src]!", - "You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.") + user.visible_message(span_warning("[user] swipes a suspicious card through [src]!"), + span_notice("You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.")) obj_flags |= EMAGGED contraband = TRUE diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 1a5e69f65d5..6d3daffaabe 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -210,7 +210,7 @@ bluespace = TRUE //Make it so that the pod doesn't stay in centcom forever pod_flags &= ~FIRST_SOUNDS //Make it so we play sounds now if (!effectQuiet && style != STYLE_SEETHROUGH) - audible_message("The pod hisses, closing and launching itself away from the station.", "The ground vibrates, and you hear the sound of engines firing.") + audible_message(span_notice("The pod hisses, closing and launching itself away from the station."), span_notice("The ground vibrates, and you hear the sound of engines firing.")) stay_after_drop = FALSE holder.pixel_z = initial(holder.pixel_z) holder.alpha = initial(holder.alpha) diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 59ee4c7c47f..0462b8932d0 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -50,9 +50,9 @@ /obj/item/supplypod_beacon/examine(user) . = ..() if(!express_console) - . += "[src] is not currently linked to an Express Supply console." + . += span_notice("[src] is not currently linked to an Express Supply console.") else - . += "Alt-click to unlink it from the Express Supply console." + . += span_notice("Alt-click to unlink it from the Express Supply console.") /obj/item/supplypod_beacon/Destroy() if(express_console) @@ -76,7 +76,7 @@ update_status(SP_LINKED) if (express_console.usingBeacon) update_status(SP_READY) - to_chat(user, "[src] linked to [C].") + to_chat(user, span_notice("[src] linked to [C].")) /obj/item/supplypod_beacon/AltClick(mob/user) if (!user.canUseTopic(src, !issilicon(user))) @@ -84,7 +84,7 @@ if (express_console) unlink_console() else - to_chat(user, "There is no linked console.") + to_chat(user, span_alert("There is no linked console.")) /obj/item/supplypod_beacon/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/pen)) //give a tag that is visible from the linked express console diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 55a6b352824..7e84a9b3226 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -61,7 +61,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( msg += " Administrators have been informed." log_game("[key_name(src)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute") message_admins("[ADMIN_LOOKUPFLW(usr)] [ADMIN_KICK(usr)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute") - to_chat(src, "[msg]") + to_chat(src, span_danger("[msg]")) return var/stl = CONFIG_GET(number/second_topic_limit) @@ -74,7 +74,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( topiclimiter[SECOND_COUNT] = 0 topiclimiter[SECOND_COUNT] += 1 if (topiclimiter[SECOND_COUNT] > stl) - to_chat(src, "Your previous action was ignored because you've done too many in a second") + to_chat(src, span_danger("Your previous action was ignored because you've done too many in a second")) return // Tgui Topic middleware @@ -89,7 +89,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( //byond bug ID:2256651 if (asset_cache_job && (asset_cache_job in completed_asset_jobs)) - to_chat(src, "An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)") + to_chat(src, span_danger("An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)")) src << browse("...", "window=asset_cache_browser") return if (href_list["asset_cache_preload_data"]) @@ -171,11 +171,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if(CONFIG_GET(flag/automute_on) && !holder && last_message == message) src.last_message_count++ if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE) - to_chat(src, "You have exceeded the spam filter limit for identical messages. An auto-mute was applied.") + to_chat(src, span_danger("You have exceeded the spam filter limit for identical messages. An auto-mute was applied.")) cmd_admin_mute(src, mute_type, 1) return TRUE if(src.last_message_count >= SPAM_TRIGGER_WARNING) - to_chat(src, "You are nearing the spam filter limit for identical messages.") + to_chat(src, span_danger("You are nearing the spam filter limit for identical messages.")) return FALSE else last_message = message @@ -277,10 +277,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( alert_mob_dupe_login = TRUE if(matches) if(C) - message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(C)].") + message_admins(span_danger("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(C)].")) log_admin_private("Notice: [key_name(src)] has the same [matches] as [key_name(C)].") else - message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(C)] (no longer logged in). ") + message_admins(span_danger("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(C)] (no longer logged in). ")) log_admin_private("Notice: [key_name(src)] has the same [matches] as [key_name(C)] (no longer logged in).") var/reconnecting = FALSE if(GLOB.player_details[ckey]) @@ -301,16 +301,16 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (byond_version >= 512) if (!byond_build || byond_build < 1386) - message_admins("[key_name(src)] has been detected as spoofing their byond version. Connection rejected.") + message_admins(span_adminnotice("[key_name(src)] has been detected as spoofing their byond version. Connection rejected.")) add_system_note("Spoofed-Byond-Version", "Detected as using a spoofed byond version.") log_access("Failed Login: [key] - Spoofed byond version") qdel(src) if (num2text(byond_build) in GLOB.blacklisted_builds) log_access("Failed login: [key] - blacklisted byond version") - to_chat(src, "Your version of byond is blacklisted.") - to_chat(src, "Byond build [byond_build] ([byond_version].[byond_build]) has been blacklisted for the following reason: [GLOB.blacklisted_builds[num2text(byond_build)]].") - to_chat(src, "Please download a new version of byond. If [byond_build] is the latest, you can go to BYOND's website to download other versions.") + to_chat(src, span_userdanger("Your version of byond is blacklisted.")) + to_chat(src, span_danger("Byond build [byond_build] ([byond_version].[byond_build]) has been blacklisted for the following reason: [GLOB.blacklisted_builds[num2text(byond_build)]].")) + to_chat(src, span_danger("Please download a new version of byond. If [byond_build] is the latest, you can go to BYOND's website to download other versions.")) if(connecting_admin) to_chat(src, "As an admin, you are being allowed to continue using this version, but please consider changing byond versions") else @@ -337,7 +337,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( var/ceb = CONFIG_GET(number/client_error_build) var/cwv = CONFIG_GET(number/client_warn_version) if (byond_version < cev || (byond_version == cev && byond_build < ceb)) //Out of date client. - to_chat(src, "Your version of BYOND is too old:") + to_chat(src, span_danger("Your version of BYOND is too old:")) to_chat(src, CONFIG_GET(string/client_error_message)) to_chat(src, "Your version: [byond_version].[byond_build]") to_chat(src, "Required version: [cev].[ceb] or later") @@ -356,7 +356,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( msg += "Visit BYOND's website to get the latest version of BYOND.
    " src << browse(msg, "window=warning_popup") else - to_chat(src, "Your version of byond may be getting out of date:") + to_chat(src, span_danger("Your version of byond may be getting out of date:")) to_chat(src, CONFIG_GET(string/client_warn_message)) to_chat(src, "Your version: [byond_version]") to_chat(src, "Required version to remove this message: [cwv] or later") @@ -413,7 +413,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( apply_clickcatcher() if(prefs.lastchangelog != GLOB.changelog_hash) //bolds the changelog button on the interface so we know there are updates. - to_chat(src, "You have unread updates in the changelog.") + to_chat(src, span_info("You have unread updates in the changelog.")) if(CONFIG_GET(flag/aggressive_changelog)) changelog() else @@ -428,7 +428,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( convert_notes_sql(ckey) to_chat(src, get_message_output("message", ckey)) if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them. - to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.") + to_chat(src, span_warning("Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.")) update_ambience_pref() @@ -555,7 +555,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if(minutes <= living_recs && !CONFIG_GET(flag/panic_bunker_interview)) var/reject_message = "Failed Login: [key] - Account attempting to connect during panic bunker, but they do not have the required living time [minutes]/[living_recs]" log_access(reject_message) - message_admins("[reject_message]") + message_admins(span_adminnotice("[reject_message]")) var/message = CONFIG_GET(string/panic_bunker_message) message = replacetext(message, "%minutes%", living_recs) to_chat(src, message) @@ -563,7 +563,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( var/list/panic_addr = CONFIG_GET(string/panic_server_address) if(panic_addr && !connectiontopic_a["redirect"]) var/panic_name = CONFIG_GET(string/panic_server_name) - to_chat(src, "Sending you to [panic_name ? panic_name : panic_addr].") + to_chat(src, span_notice("Sending you to [panic_name ? panic_name : panic_addr].")) winset(src, null, "command=.options") src << link("[panic_addr]?redirect=1") qdel(query_client_in_db) @@ -710,7 +710,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (oldcid) if (!topic || !topic["token"] || !tokens[ckey] || topic["token"] != tokens[ckey]) if (!cidcheck_spoofckeys[ckey]) - message_admins("[key_name(src)] appears to have attempted to spoof a cid randomizer check.") + message_admins(span_adminnotice("[key_name(src)] appears to have attempted to spoof a cid randomizer check.")) cidcheck_spoofckeys[ckey] = TRUE cidcheck[ckey] = computer_id tokens[ckey] = cid_check_reconnect() @@ -726,11 +726,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (oldcid != computer_id && computer_id != lastcid) //IT CHANGED!!! cidcheck -= ckey //so they can try again after removing the cid randomizer. - to_chat(src, "Connection Error:") - to_chat(src, "Invalid ComputerID(spoofed). Please remove the ComputerID spoofer from your byond installation and try again.") + to_chat(src, span_userdanger("Connection Error:")) + to_chat(src, span_danger("Invalid ComputerID(spoofed). Please remove the ComputerID spoofer from your byond installation and try again.")) if (!cidcheck_failedckeys[ckey]) - message_admins("[key_name(src)] has been detected as using a cid randomizer. Connection rejected.") + message_admins(span_adminnotice("[key_name(src)] has been detected as using a cid randomizer. Connection rejected.")) send2tgs_adminless_only("CidRandomizer", "[key_name(src)] has been detected as using a cid randomizer. Connection rejected.") cidcheck_failedckeys[ckey] = TRUE note_randomizer_user() @@ -741,11 +741,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( return TRUE else if (cidcheck_failedckeys[ckey]) - message_admins("[key_name_admin(src)] has been allowed to connect after showing they removed their cid randomizer") + message_admins(span_adminnotice("[key_name_admin(src)] has been allowed to connect after showing they removed their cid randomizer")) send2tgs_adminless_only("CidRandomizer", "[key_name(src)] has been allowed to connect after showing they removed their cid randomizer.") cidcheck_failedckeys -= ckey if (cidcheck_spoofckeys[ckey]) - message_admins("[key_name_admin(src)] has been allowed to connect after appearing to have attempted to spoof a cid randomizer check because it appears they aren't spoofing one this time") + message_admins(span_adminnotice("[key_name_admin(src)] has been allowed to connect after appearing to have attempted to spoof a cid randomizer check because it appears they aren't spoofing one this time")) cidcheck_spoofckeys -= ckey cidcheck -= ckey else if (computer_id != lastcid) @@ -806,7 +806,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (CONFIG_GET(string/ipintel_email)) var/datum/ipintel/res = get_ip_intel(address) if (res.intel >= CONFIG_GET(number/ipintel_rating_bad)) - message_admins("Proxy Detection: [key_name_admin(src)] IP intel rated [res.intel*100]% likely to be a Proxy/VPN.") + message_admins(span_adminnotice("Proxy Detection: [key_name_admin(src)] IP intel rated [res.intel*100]% likely to be a Proxy/VPN.")) ip_intel = res.intel /client/Click(atom/object, atom/location, control, params) @@ -846,7 +846,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( add_system_note("aimbot", "Is using the middle click aimbot exploit") log_game("[key_name(src)] Has hit the per-minute click limit of [mcl] clicks in a given game minute") message_admins("[ADMIN_LOOKUPFLW(usr)] [ADMIN_KICK(usr)] Has hit the per-minute click limit of [mcl] clicks in a given game minute") - to_chat(src, "[msg]") + to_chat(src, span_danger("[msg]")) return var/scl = CONFIG_GET(number/second_click_limit) @@ -859,7 +859,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( clicklimiter[SECOND_COUNT] = 0 clicklimiter[SECOND_COUNT] += 1+(!!ab) if (clicklimiter[SECOND_COUNT] > scl) - to_chat(src, "Your previous click was ignored because you've done too many in a second") + to_chat(src, span_danger("Your previous click was ignored because you've done too many in a second")) return if (prefs.hotkeys) @@ -1042,7 +1042,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( var/new_duration = world.realtime + duration if(prefs.hearted_until > new_duration) return - to_chat(src, "Someone awarded you a heart!") + to_chat(src, span_nicegreen("Someone awarded you a heart!")) prefs.hearted_until = new_duration prefs.hearted = TRUE prefs.save_preferences() @@ -1074,7 +1074,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( /client/proc/check_panel_loaded() if(statbrowser_ready) return - to_chat(src, "Statpanel failed to load, click here to reload the panel ") + to_chat(src, span_userdanger("Statpanel failed to load, click here to reload the panel ")) /** * Initializes dropdown menus on client diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index aa03393f130..efb2e4b0a6b 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1019,7 +1019,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) return if (!isnum(desiredLvl)) - to_chat(user, "UpdateJobPreference - desired level was not a number. Please notify coders!") + to_chat(user, span_danger("UpdateJobPreference - desired level was not a number. Please notify coders!")) ShowChoices(user) return @@ -1049,7 +1049,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) /datum/preferences/proc/SetQuirks(mob/user) if(!SSquirks) - to_chat(user, "The quirk subsystem is still initializing! Try again in a minute.") + to_chat(user, span_danger("The quirk subsystem is still initializing! Try again in a minute.")) return var/list/dat = list() @@ -1145,7 +1145,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/expires = "This is a permanent ban." if(ban_details["expiration_time"]) expires = " The ban is for [DisplayTimeText(text2num(ban_details["duration"]) MINUTES)] and expires on [ban_details["expiration_time"]] (server time)." - to_chat(user, "You, or another user of this computer or connection ([ban_details["key"]]) is banned from playing [href_list["bancheck"]].
    The ban reason is: [ban_details["reason"]]
    This ban (BanID #[ban_details["id"]]) was applied by [ban_details["admin_key"]] on [ban_details["bantime"]] during round ID [ban_details["round_id"]].
    [expires]
    ") + to_chat(user, span_danger("You, or another user of this computer or connection ([ban_details["key"]]) is banned from playing [href_list["bancheck"]].
    The ban reason is: [ban_details["reason"]]
    This ban (BanID #[ban_details["id"]]) was applied by [ban_details["admin_key"]] on [ban_details["bantime"]] during round ID [ban_details["round_id"]].
    [expires]")) return if(href_list["preference"] == "job") switch(href_list["task"]) @@ -1188,22 +1188,22 @@ GLOBAL_LIST_EMPTY(preferences_datums) continue for(var/Q in all_quirks) if((Q in L) && !(Q == quirk)) //two quirks have lined up in the list of the list of quirks that conflict with each other, so return (see quirks.dm for more details) - to_chat(user, "[quirk] is incompatible with [Q].") + to_chat(user, span_danger("[quirk] is incompatible with [Q].")) return var/value = SSquirks.quirk_points[quirk] var/balance = GetQuirkBalance() if(quirk in all_quirks) if(balance + value < 0) - to_chat(user, "Refunding this would cause you to go below your balance!") + to_chat(user, span_warning("Refunding this would cause you to go below your balance!")) return all_quirks -= quirk else var/is_positive_quirk = SSquirks.quirk_points[quirk] > 0 if(is_positive_quirk && GetPositiveQuirkCount() >= MAX_QUIRKS) - to_chat(user, "You can't have more than [MAX_QUIRKS] positive quirks!") + to_chat(user, span_warning("You can't have more than [MAX_QUIRKS] positive quirks!")) return if(balance - value < 0) - to_chat(user, "You don't have enough balance to gain this quirk!") + to_chat(user, span_warning("You don't have enough balance to gain this quirk!")) return all_quirks += quirk SetQuirks(user) @@ -1383,7 +1383,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright, but only if they affect the skin features["mcolor"] = sanitize_hexcolor(new_mutantcolor) else - to_chat(user, "Invalid color. Your color is not bright enough.") + to_chat(user, span_danger("Invalid color. Your color is not bright enough.")) if("color_ethereal") var/new_etherealcolor = input(user, "Choose your ethereal color", "Character Preference") as null|anything in GLOB.color_list_ethereal @@ -1735,7 +1735,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("clear_scars") var/path = "data/player_saves/[user.ckey[1]]/[user.ckey]/scars.sav" fdel(path) - to_chat(user, "All scar slots cleared.") + to_chat(user, span_notice("All scar slots cleared.")) if("hear_midis") toggles ^= SOUND_MIDI @@ -1867,7 +1867,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("clear_heart") hearted = FALSE hearted_until = null - to_chat(user, "OOC Commendation Heart disabled") + to_chat(user, span_notice("OOC Commendation Heart disabled")) save_preferences() ShowChoices(user) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 651750b1ef4..591cb9f84be 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -131,7 +131,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car There are new keybindings that default to keys you've already bound. The new ones will be unbound.") for(var/item in notadded) var/datum/keybinding/conflicted = item - to_chat(parent, "[conflicted.category]: [conflicted.full_name] needs updating") + to_chat(parent, span_danger("[conflicted.category]: [conflicted.full_name] needs updating")) LAZYADD(key_bindings["Unbound"], conflicted.name) // set it to unbound to prevent this from opening up again in the future save_preferences() diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 16255aa371c..80602989c4e 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -404,9 +404,9 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS prefs.inquisitive_ghost = !prefs.inquisitive_ghost prefs.save_preferences() if(prefs.inquisitive_ghost) - to_chat(src, "You will now examine everything you click on.") + to_chat(src, span_notice("You will now examine everything you click on.")) else - to_chat(src, "You will no longer examine things you click on.") + to_chat(src, span_notice("You will no longer examine things you click on.")) SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle Ghost Inquisitiveness", "[prefs.inquisitive_ghost ? "Enabled" : "Disabled"]")) //Admin Preferences diff --git a/code/modules/client/verbs/etips.dm b/code/modules/client/verbs/etips.dm index c85e5113560..5c53deb9a3d 100644 --- a/code/modules/client/verbs/etips.dm +++ b/code/modules/client/verbs/etips.dm @@ -5,7 +5,7 @@ prefs.enable_tips = !prefs.enable_tips prefs.save_preferences() - to_chat(usr, "Examine tooltips [prefs.enable_tips ? "en" : "dis"]abled.") + to_chat(usr, span_danger("Examine tooltips [prefs.enable_tips ? "en" : "dis"]abled.")) /client/verb/change_tip_delay() set name = "Set Examine Tooltip Delay" @@ -17,4 +17,4 @@ if(usr)//is this what you mean? prefs.tip_delay = indelay prefs.save_preferences() - to_chat(usr, "Tooltip delay set to [indelay] milliseconds.") + to_chat(usr, span_danger("Tooltip delay set to [indelay] milliseconds.")) diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 7c45078d42c..3e01b8066ca 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -6,7 +6,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") set category = "OOC" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") + to_chat(usr, span_danger("Speech is currently admin-disabled.")) return if(!mob) @@ -14,16 +14,16 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") if(!holder) if(!GLOB.ooc_allowed) - to_chat(src, "OOC is globally muted.") + to_chat(src, span_danger("OOC is globally muted.")) return if(!GLOB.dooc_allowed && (mob.stat == DEAD)) - to_chat(usr, "OOC for dead mobs has been turned off.") + to_chat(usr, span_danger("OOC for dead mobs has been turned off.")) return if(prefs.muted & MUTE_OOC) - to_chat(src, "You cannot use OOC (muted).") + to_chat(src, span_danger("You cannot use OOC (muted).")) return if(is_banned_from(ckey, "OOC")) - to_chat(src, "You have been banned from OOC.") + to_chat(src, span_danger("You have been banned from OOC.")) return if(QDELETED(src)) return @@ -44,13 +44,13 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") if(handle_spam_prevention(msg,MUTE_OOC)) return if(findtext(msg, "byond://")) - to_chat(src, "Advertising other servers is not allowed.") + to_chat(src, span_boldannounce("Advertising other servers is not allowed.")) log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return if(!(prefs.chat_toggles & CHAT_OOC)) - to_chat(src, "You have OOC muted.") + to_chat(src, span_danger("You have OOC muted.")) return mob.log_talk(raw_msg, LOG_OOC) @@ -70,20 +70,20 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") if(holder) if(!holder.fakekey || C.holder) if(check_rights_for(src, R_ADMIN)) - to_chat(C, "[CONFIG_GET(flag/allow_admin_ooccolor) && prefs.ooccolor ? "" :"" ]OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") + to_chat(C, span_adminooc("[CONFIG_GET(flag/allow_admin_ooccolor) && prefs.ooccolor ? "" :"" ][span_prefix("OOC:")] [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]")) else - to_chat(C, "OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") + to_chat(C, span_adminobserverooc(span_prefix("OOC:
    [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]"))) else if(GLOB.OOC_COLOR) - to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]") + to_chat(C, "[span_prefix("OOC:")] [holder.fakekey ? holder.fakekey : key]: [msg]") else - to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]") + to_chat(C, span_ooc(span_prefix("OOC: [holder.fakekey ? holder.fakekey : key]: [msg]"))) else if(!(key in C.prefs.ignoring)) if(GLOB.OOC_COLOR) - to_chat(C, "OOC: [keyname]: [msg]") + to_chat(C, "[span_prefix("OOC:")] [keyname]: [msg]") else - to_chat(C, "OOC: [keyname]: [msg]") + to_chat(C, span_ooc(span_prefix("OOC: [keyname]: [msg]"))) /proc/toggle_ooc(toggle = null) if(toggle != null) //if we're specifically en/disabling ooc @@ -177,9 +177,9 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") set desc ="Check the admin notice if it has been set" if(GLOB.admin_notice) - to_chat(src, "Admin Notice:\n \t [GLOB.admin_notice]") + to_chat(src, "[span_boldnotice("Admin Notice:")]\n \t [GLOB.admin_notice]") else - to_chat(src, "There are no admin notices at the moment.") + to_chat(src, span_notice("There are no admin notices at the moment.")) /client/verb/motd() set name = "MOTD" @@ -190,7 +190,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") if(motd) to_chat(src, "
    [motd]
    ", handle_whitespace=FALSE) else - to_chat(src, "The Message of the Day has not been set.") + to_chat(src, span_notice("The Message of the Day has not been set.")) /client/proc/self_notes() set name = "View Admin Remarks" @@ -198,7 +198,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") set desc = "View the notes that admins have written about you" if(!CONFIG_GET(flag/see_own_notes)) - to_chat(usr, "Sorry, that function is not enabled on this server.") + to_chat(usr, span_notice("Sorry, that function is not enabled on this server.")) return browse_messages(null, usr.ckey, null, TRUE) @@ -209,7 +209,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") set desc = "View the amount of playtime for roles the server has tracked." if(!CONFIG_GET(flag/use_exp_tracking)) - to_chat(usr, "Sorry, tracking is currently disabled.") + to_chat(usr, span_notice("Sorry, tracking is currently disabled.")) return new /datum/job_report_menu(src, usr) diff --git a/code/modules/client/verbs/ping.dm b/code/modules/client/verbs/ping.dm index 15858dec39e..03603cea895 100644 --- a/code/modules/client/verbs/ping.dm +++ b/code/modules/client/verbs/ping.dm @@ -14,7 +14,7 @@ /client/verb/display_ping(time as num) set instant = TRUE set name = ".display_ping" - to_chat(src, "Round trip ping took [round(pingfromtime(time),1)]ms") + to_chat(src, span_notice("Round trip ping took [round(pingfromtime(time),1)]ms")) /client/verb/ping() set name = "Ping" diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm index c3ae0585933..67e0c445aaf 100644 --- a/code/modules/client/verbs/suicide.dm +++ b/code/modules/client/verbs/suicide.dm @@ -33,7 +33,7 @@ return if(confirm == "Yes") if(suiciding) - to_chat(src, "You're already trying to commit suicide!") + to_chat(src, span_warning("You're already trying to commit suicide!")) return set_suicide(TRUE) //need to be called before calling suicide_act as fuck knows what suicide_act will do with your suicider var/obj/item/held_item = get_active_held_item() @@ -103,7 +103,7 @@ "[src] is twisting [p_their()] own neck! It looks like [p_theyre()] trying to commit suicide.", \ "[src] is holding [p_their()] breath! It looks like [p_theyre()] trying to commit suicide.") - visible_message("[suicide_message]", "[suicide_message]") + visible_message(span_danger("[suicide_message]"), span_userdanger("[suicide_message]")) suicide_log() @@ -120,8 +120,8 @@ return if(confirm == "Yes") set_suicide(TRUE) - visible_message("[src]'s brain is growing dull and lifeless. [p_they(TRUE)] look[p_s()] like [p_theyve()] lost the will to live.", \ - "[src]'s brain is growing dull and lifeless. [p_they(TRUE)] look[p_s()] like [p_theyve()] lost the will to live.") + visible_message(span_danger("[src]'s brain is growing dull and lifeless. [p_they(TRUE)] look[p_s()] like [p_theyve()] lost the will to live."), \ + span_userdanger("[src]'s brain is growing dull and lifeless. [p_they(TRUE)] look[p_s()] like [p_theyve()] lost the will to live.")) suicide_log() @@ -137,8 +137,8 @@ return if(confirm == "Yes") set_suicide(TRUE) - visible_message("[src] is powering down. It looks like [p_theyre()] trying to commit suicide.", \ - "[src] is powering down. It looks like [p_theyre()] trying to commit suicide.") + visible_message(span_danger("[src] is powering down. It looks like [p_theyre()] trying to commit suicide."), \ + span_userdanger("[src] is powering down. It looks like [p_theyre()] trying to commit suicide.")) suicide_log() @@ -156,8 +156,8 @@ return if(confirm == "Yes") set_suicide(TRUE) - visible_message("[src] is powering down. It looks like [p_theyre()] trying to commit suicide.", \ - "[src] is powering down. It looks like [p_theyre()] trying to commit suicide.") + visible_message(span_danger("[src] is powering down. It looks like [p_theyre()] trying to commit suicide."), \ + span_userdanger("[src] is powering down. It looks like [p_theyre()] trying to commit suicide.")) suicide_log() @@ -171,8 +171,8 @@ var/confirm = tgui_alert(usr,"Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No")) if(confirm == "Yes") var/turf/T = get_turf(src.loc) - T.visible_message("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", null, \ - "[src] bleeps electronically.") + T.visible_message(span_notice("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\""), null, \ + span_notice("[src] bleeps electronically.")) suicide_log() @@ -190,9 +190,9 @@ return if(confirm == "Yes") set_suicide(TRUE) - visible_message("[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide.", \ - "[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide.", \ - "You hear thrashing.") + visible_message(span_danger("[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide."), \ + span_userdanger("[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide."), \ + span_hear("You hear thrashing.")) suicide_log() @@ -210,8 +210,8 @@ return if(confirm == "Yes") set_suicide(TRUE) - visible_message("[src] begins to fall down. It looks like [p_theyve()] lost the will to live.", \ - "[src] begins to fall down. It looks like [p_theyve()] lost the will to live.") + visible_message(span_danger("[src] begins to fall down. It looks like [p_theyve()] lost the will to live."), \ + span_userdanger("[src] begins to fall down. It looks like [p_theyve()] lost the will to live.")) suicide_log() @@ -227,23 +227,23 @@ /mob/living/proc/canSuicide() var/area/A = get_area(src) if(A.area_flags & BLOCK_SUICIDE) - to_chat(src, "You can't commit suicide here! You can ghost if you'd like.") + to_chat(src, span_warning("You can't commit suicide here! You can ghost if you'd like.")) return switch(stat) if(CONSCIOUS) return TRUE if(SOFT_CRIT) - to_chat(src, "You can't commit suicide while in a critical condition!") + to_chat(src, span_warning("You can't commit suicide while in a critical condition!")) if(UNCONSCIOUS, HARD_CRIT) - to_chat(src, "You need to be conscious to commit suicide!") + to_chat(src, span_warning("You need to be conscious to commit suicide!")) if(DEAD) - to_chat(src, "You're already dead!") + to_chat(src, span_warning("You're already dead!")) return /mob/living/carbon/canSuicide() if(!..()) return if(!(mobility_flags & MOBILITY_USE)) //just while I finish up the new 'fun' suiciding verb. This is to prevent metagaming via suicide - to_chat(src, "You can't commit suicide whilst immobile! ((You can type Ghost instead however.))") + to_chat(src, span_warning("You can't commit suicide whilst immobile! ((You can type Ghost instead however.))")) return return TRUE diff --git a/code/modules/client/verbs/who.dm b/code/modules/client/verbs/who.dm index 50ed818e9db..56b88ba8d5d 100644 --- a/code/modules/client/verbs/who.dm +++ b/code/modules/client/verbs/who.dm @@ -96,7 +96,7 @@ continue //Don't show afk admins to adminwho if(!C.holder.fakekey) msg += "\t[C] is a [C.holder.rank]\n" - msg += "Adminhelps are also sent through TGS to services like IRC and Discord. If no admins are available in game adminhelp anyways and an admin will see it and respond." + msg += span_info("Adminhelps are also sent through TGS to services like IRC and Discord. If no admins are available in game adminhelp anyways and an admin will see it and respond.") to_chat(src, msg) #undef DEFAULT_WHO_CELLS_PER_ROW diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index d86a7306077..d67d5c59d74 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -57,7 +57,7 @@ else if(istype(old_headgear, /obj/item/clothing/mask/chameleon/drone)) new_headgear = new /obj/item/clothing/head/chameleon/drone() else - to_chat(owner, "You shouldn't be able to toggle a camogear helmetmask if you're not wearing it.") + to_chat(owner, span_warning("You shouldn't be able to toggle a camogear helmetmask if you're not wearing it.")) if(new_headgear) // Force drop the item in the headslot, even though // it's has TRAIT_NODROP @@ -568,7 +568,7 @@ /obj/item/clothing/mask/chameleon/attack_self(mob/user) voice_change = !voice_change - to_chat(user, "The voice changer is now [voice_change ? "on" : "off"]!") + to_chat(user, span_notice("The voice changer is now [voice_change ? "on" : "off"]!")) /obj/item/clothing/mask/chameleon/drone @@ -587,7 +587,7 @@ randomise_action.UpdateButtonIcon() /obj/item/clothing/mask/chameleon/drone/attack_self(mob/user) - to_chat(user, "[src] does not have a voice changer.") + to_chat(user, span_notice("[src] does not have a voice changer.")) /obj/item/clothing/shoes/chameleon name = "black shoes" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 6c5b26bf366..81b0aec2bd1 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -146,9 +146,9 @@ if(CLOTHING_SHREDDED) var/obj/item/stack/cloth_repair = W if(cloth_repair.amount < 3) - to_chat(user, "You require 3 [cloth_repair.name] to repair [src].") + to_chat(user, span_warning("You require 3 [cloth_repair.name] to repair [src].")) return TRUE - to_chat(user, "You begin fixing the damage to [src] with [cloth_repair]...") + to_chat(user, span_notice("You begin fixing the damage to [src] with [cloth_repair]...")) if(!do_after(user, 6 SECONDS, src) || !cloth_repair.use(3)) return TRUE repair(user, params) @@ -166,7 +166,7 @@ damage_by_parts = null if(user) UnregisterSignal(user, COMSIG_MOVABLE_MOVED) - to_chat(user, "You fix the damage on [src].") + to_chat(user, span_notice("You fix the damage on [src].")) /** * take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods] @@ -215,7 +215,7 @@ if(iscarbon(loc)) var/mob/living/carbon/C = loc - C.visible_message("The [zone_name] on [C]'s [src.name] is [break_verb] away!", "The [zone_name] on your [src.name] is [break_verb] away!", vision_distance = COMBAT_MESSAGE_RANGE) + C.visible_message(span_danger("The [zone_name] on [C]'s [src.name] is [break_verb] away!"), span_userdanger("The [zone_name] on your [src.name] is [break_verb] away!"), vision_distance = COMBAT_MESSAGE_RANGE) RegisterSignal(C, COMSIG_MOVABLE_MOVED, .proc/bristle, override = TRUE) zones_disabled++ @@ -275,7 +275,7 @@ /obj/item/clothing/examine(mob/user) . = ..() if(damaged_clothes == CLOTHING_SHREDDED) - . += "[p_theyre(TRUE)] completely shredded and require[p_s()] mending before [p_they()] can be worn again!" + . += span_warning("[p_theyre(TRUE)] completely shredded and require[p_s()] mending before [p_they()] can be worn again!") return switch (max_heat_protection_temperature) @@ -291,11 +291,11 @@ var/zone_name = parse_zone(zone) switch(pct_damage_part) if(100 to INFINITY) - . += "The [zone_name] is useless and requires mending!" + . += span_warning("The [zone_name] is useless and requires mending!") if(60 to 99) - . += "The [zone_name] is heavily shredded!" + . += span_warning("The [zone_name] is heavily shredded!") if(30 to 59) - . += "The [zone_name] is partially shredded." + . += span_danger("The [zone_name] is partially shredded.") var/datum/component/storage/pockets = GetComponent(/datum/component/storage) if(pockets) @@ -342,7 +342,7 @@ durability_list += list("ACID" = armor.acid) if(LAZYLEN(armor_list) || LAZYLEN(durability_list)) - . += "It has a tag listing its protection classes." + . += span_notice("It has a tag listing its protection classes.") /obj/item/clothing/Topic(href, href_list) . = ..() @@ -403,9 +403,9 @@ if(isliving(loc)) //It's not important enough to warrant a message if it's not on someone var/mob/living/M = loc if(src in M.get_equipped_items(FALSE)) - to_chat(M, "Your [name] start[p_s()] to fall apart!") + to_chat(M, span_warning("Your [name] start[p_s()] to fall apart!")) else - to_chat(M, "[src] start[p_s()] to fall apart!") + to_chat(M, span_warning("[src] start[p_s()] to fall apart!")) //This mostly exists so subtypes can call appriopriate update icon calls on the wearer. /obj/item/clothing/proc/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) @@ -450,7 +450,7 @@ BLIND // can't see anything visor_toggling() - to_chat(user, "You adjust \the [src] [up ? "up" : "down"].") + to_chat(user, span_notice("You adjust \the [src] [up ? "up" : "down"].")) if(iscarbon(user)) var/mob/living/carbon/C = user @@ -500,10 +500,10 @@ BLIND // can't see anything if(isliving(loc)) var/mob/living/M = loc if(src in M.get_equipped_items(FALSE)) //make sure they were wearing it and not attacking the item in their hands / eating it if they were a moth. - M.visible_message("[M]'s [src.name] fall[p_s()] off, [p_theyre()] completely shredded!", "Your [src.name] fall[p_s()] off, [p_theyre()] completely shredded!", vision_distance = COMBAT_MESSAGE_RANGE) + M.visible_message(span_danger("[M]'s [src.name] fall[p_s()] off, [p_theyre()] completely shredded!"), span_warning("Your [src.name] fall[p_s()] off, [p_theyre()] completely shredded!"), vision_distance = COMBAT_MESSAGE_RANGE) M.dropItemToGround(src) else - M.visible_message("[src] fall[p_s()] apart, completely shredded!", vision_distance = COMBAT_MESSAGE_RANGE) + M.visible_message(span_danger("[src] fall[p_s()] apart, completely shredded!"), vision_distance = COMBAT_MESSAGE_RANGE) name = "shredded [initial(name)]" // change the name -after- the message, not before. update_appearance() else @@ -516,6 +516,6 @@ BLIND // can't see anything if(!istype(L)) return if(prob(0.2)) - to_chat(L, "The damaged threads on your [src.name] chafe!") + to_chat(L, span_warning("The damaged threads on your [src.name] chafe!")) #undef MOTH_EATING_CLOTHING_DAMAGE diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 83fb5bb683e..d10c32293a4 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -19,13 +19,13 @@ var/glass_colour_type //colors your vision when worn /obj/item/clothing/glasses/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is stabbing \the [src] into [user.p_their()] eyes! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is stabbing \the [src] into [user.p_their()] eyes! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/clothing/glasses/examine(mob/user) . = ..() if(glass_colour_type && ishuman(user)) - . += "Alt-click to toggle [p_their()] colors." + . += span_notice("Alt-click to toggle [p_their()] colors.") /obj/item/clothing/glasses/visor_toggling() ..() @@ -48,7 +48,7 @@ var/obj/item/organ/eyes/eyes = H.getorganslot(ORGAN_SLOT_EYES) if(!H.is_blind()) if(H.glasses == src) - to_chat(H, "[src] overloads and blinds you!") + to_chat(H, span_danger("[src] overloads and blinds you!")) H.flash_act(visual = 1) H.blind_eyes(3) H.blur_eyes(5) @@ -62,9 +62,9 @@ if(src == H.glasses) H.client.prefs.uses_glasses_colour = !H.client.prefs.uses_glasses_colour if(H.client.prefs.uses_glasses_colour) - to_chat(H, "You will now see glasses colors.") + to_chat(H, span_notice("You will now see glasses colors.")) else - to_chat(H, "You will no longer see glasses colors.") + to_chat(H, span_notice("You will no longer see glasses colors.")) H.update_glasses_color(src, 1) else return ..() @@ -99,7 +99,7 @@ glass_colour_type = /datum/client_colour/glass_colour/lightgreen /obj/item/clothing/glasses/meson/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is putting \the [src] to [user.p_their()] eyes and overloading the brightness! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting \the [src] to [user.p_their()] eyes and overloading the brightness! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/clothing/glasses/meson/night @@ -151,7 +151,7 @@ glass_colour_type = /datum/client_colour/glass_colour/green /obj/item/clothing/glasses/science/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is tightening \the [src]'s straps around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is tightening \the [src]'s straps around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS /obj/item/clothing/glasses/eyepatch @@ -219,7 +219,7 @@ var/mob/living/crusher = movable if(crusher.m_intent != MOVE_INTENT_WALK && (!(crusher.movement_type & (FLYING|FLOATING)) || crusher.buckled)) playsound(src, 'sound/effects/glass_step.ogg', 30, TRUE) - visible_message("[crusher] steps on [src], damaging it!") + visible_message(span_warning("[crusher] steps on [src], damaging it!")) take_damage(100, sound_effect = FALSE) /obj/item/clothing/glasses/regular/obj_destruction(damage_flag) @@ -233,8 +233,8 @@ if(!I.tool_start_check(user, amount=1)) return if(I.use_tool(src, user, 10, volume=30, amount=1)) - user.visible_message("[user] welds [src] back together.",\ - "You weld [src] back together.") + user.visible_message(span_notice("[user] welds [src] back together."),\ + span_notice("You weld [src] back together.")) repair() return TRUE @@ -552,14 +552,14 @@ desc = initial(T.desc) double = TRUE else - to_chat(user, "[W] winks at you and vanishes into the abyss, you feel really unlucky.") + to_chat(user, span_notice("[W] winks at you and vanishes into the abyss, you feel really unlucky.")) qdel(W) ..() /obj/item/clothing/glasses/godeye/proc/pain(mob/living/victim) // If pain/pain immunity ever implemented, check for it here. - to_chat(victim, "You experience blinding pain, as [src] [double ? "burrow" : "burrows"] into your skull.") + to_chat(victim, span_userdanger("You experience blinding pain, as [src] [double ? "burrow" : "burrows"] into your skull.")) victim.emote("scream") victim.flash_act() diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 482e454c823..9557bea4544 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -38,7 +38,7 @@ if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - to_chat(user, "PZZTTPFFFT") + to_chat(user, span_warning("PZZTTPFFFT")) desc = "[desc] The display is flickering slightly." /obj/item/clothing/glasses/hud/health diff --git a/code/modules/clothing/gloves/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm index 96772d85c3c..e1d6a069135 100644 --- a/code/modules/clothing/gloves/_gloves.dm +++ b/code/modules/clothing/gloves/_gloves.dm @@ -23,7 +23,7 @@ return TRUE /obj/item/clothing/gloves/suicide_act(mob/living/carbon/user) - user.visible_message("\the [src] are forcing [user]'s hands around [user.p_their()] neck! It looks like the gloves are possessed!") + user.visible_message(span_suicide("\the [src] are forcing [user]'s hands around [user.p_their()] neck! It looks like the gloves are possessed!")) return OXYLOSS /obj/item/clothing/gloves/worn_overlays(mutable_appearance/standing, isinhands = FALSE) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index f00fb3220ee..76bfc793b58 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -27,11 +27,11 @@ var/success = C.equip_to_slot_if_possible(new /obj/item/clothing/gloves/color/yellow/sprayon, ITEM_SLOT_GLOVES, qdel_on_fail = TRUE, disable_warning = TRUE) if(success) if(C == user) - C.visible_message("[U] sprays their hands with glittery rubber!") + C.visible_message(span_notice("[U] sprays their hands with glittery rubber!")) else - C.visible_message("[U] sprays glittery rubber on the hands of [C]!") + C.visible_message(span_warning("[U] sprays glittery rubber on the hands of [C]!")) else - C.visible_message("The rubber fails to stick to [C]'s hands!") + C.visible_message(span_warning("The rubber fails to stick to [C]'s hands!")) /obj/item/clothing/gloves/color/yellow/sprayon desc = "How're you gonna get 'em off, nerd?" @@ -58,7 +58,7 @@ charges_remaining-- if(charges_remaining <= 0) var/turf/location = get_turf(src) - location.visible_message("[src] crumble[p_s()] away into nothing.") // just like my dreams after working with .dm + location.visible_message(span_warning("[src] crumble[p_s()] away into nothing.")) // just like my dreams after working with .dm qdel(src) /obj/item/clothing/gloves/color/fyellow //Cheap Chinese Crap diff --git a/code/modules/clothing/gloves/special.dm b/code/modules/clothing/gloves/special.dm index 7a7d773054d..cfb609ba7b3 100644 --- a/code/modules/clothing/gloves/special.dm +++ b/code/modules/clothing/gloves/special.dm @@ -15,10 +15,10 @@ . = ..() if(slot != ITEM_SLOT_GLOVES) return - to_chat(user, "You feel the gauntlets activate as soon as you fit them on, making your pulls stronger!") + to_chat(user, span_notice("You feel the gauntlets activate as soon as you fit them on, making your pulls stronger!")) pull_component = user.AddComponent(/datum/component/strong_pull) /obj/item/clothing/gloves/cargo_gauntlet/dropped(mob/user) . = ..() - to_chat(user, "You have lost the grip power of [src]!") + to_chat(user, span_warning("You have lost the grip power of [src]!")) QDEL_NULL(pull_component) diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm index bbcf54660d6..c0e3ef1b7e8 100644 --- a/code/modules/clothing/head/_head.dm +++ b/code/modules/clothing/head/_head.dm @@ -33,33 +33,33 @@ var/obj/item/WH = H.head ///check if the item has NODROP if(HAS_TRAIT(WH, TRAIT_NODROP)) - H.visible_message("[src] bounces off [H]'s [WH.name]!", "[src] bounces off your [WH.name], falling to the floor.") + H.visible_message(span_warning("[src] bounces off [H]'s [WH.name]!"), span_warning("[src] bounces off your [WH.name], falling to the floor.")) return ///check if the item is an actual clothing head item, since some non-clothing items can be worn if(istype(WH, /obj/item/clothing/head)) var/obj/item/clothing/head/WHH = WH ///SNUG_FIT hats are immune to being knocked off if(WHH.clothing_flags & SNUG_FIT) - H.visible_message("[src] bounces off [H]'s [WHH.name]!", "[src] bounces off your [WHH.name], falling to the floor.") + H.visible_message(span_warning("[src] bounces off [H]'s [WHH.name]!"), span_warning("[src] bounces off your [WHH.name], falling to the floor.")) return ///if the hat manages to knock something off if(H.dropItemToGround(WH)) - H.visible_message("[src] knocks [WH] off [H]'s head!", "[WH] is suddenly knocked off your head by [src]!") + H.visible_message(span_warning("[src] knocks [WH] off [H]'s head!"), span_warning("[WH] is suddenly knocked off your head by [src]!")) if(H.equip_to_slot_if_possible(src, ITEM_SLOT_HEAD, 0, 1, 1)) - H.visible_message("[src] lands neatly on [H]'s head!", "[src] lands perfectly onto your head!") + H.visible_message(span_notice("[src] lands neatly on [H]'s head!"), span_notice("[src] lands perfectly onto your head!")) H.update_inv_hands() //force update hands to prevent ghost sprites appearing when throw mode is on return if(iscyborg(hit_atom)) var/mob/living/silicon/robot/R = hit_atom var/obj/item/worn_hat = R.hat if(worn_hat && HAS_TRAIT(worn_hat, TRAIT_NODROP)) - R.visible_message("[src] bounces off [worn_hat], without an effect!", "[src] bounces off your mighty [worn_hat.name], falling to the floor in defeat.") + R.visible_message(span_warning("[src] bounces off [worn_hat], without an effect!"), span_warning("[src] bounces off your mighty [worn_hat.name], falling to the floor in defeat.")) return if(is_type_in_typecache(src, GLOB.blacklisted_borg_hats))//hats in the borg's blacklist bounce off - R.visible_message("[src] bounces off [R]!", "[src] bounces off you, falling to the floor.") + R.visible_message(span_warning("[src] bounces off [R]!"), span_warning("[src] bounces off you, falling to the floor.")) return else - R.visible_message("[src] lands neatly on top of [R]!", "[src] lands perfectly on top of you.") + R.visible_message(span_notice("[src] lands neatly on top of [R]!"), span_notice("[src] lands perfectly on top of you.")) R.place_on_head(src) //hats aren't designed to snugly fit borg heads or w/e so they'll always manage to knock eachother off diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 7b695f118a4..d2bf6568282 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -37,7 +37,7 @@ if(attached_light) . += "It has \a [attached_light] [can_flashlight ? "" : "permanently "]mounted on it." if(can_flashlight) - . += "[attached_light] looks like it can be unscrewed from [src]." + . += span_info("[attached_light] looks like it can be unscrewed from [src].") else if(can_flashlight) . += "It has a mounting point for a seclite." @@ -76,14 +76,14 @@ if(issignaler(I)) var/obj/item/assembly/signaler/S = I if(attached_light) //Has a flashlight. Player must remove it, else it will be lost forever. - to_chat(user, "The mounted flashlight is in the way, remove it first!") + to_chat(user, span_warning("The mounted flashlight is in the way, remove it first!")) return if(S.secured) qdel(S) var/obj/item/bot_assembly/secbot/A = new user.put_in_hands(A) - to_chat(user, "You add the signaler to the helmet.") + to_chat(user, span_notice("You add the signaler to the helmet.")) qdel(src) return return ..() @@ -136,7 +136,7 @@ flags_inv ^= visor_flags_inv flags_cover ^= visor_flags_cover icon_state = "[initial(icon_state)][up ? "up" : ""]" - to_chat(user, "[up ? alt_toggle_message : toggle_message] \the [src].") + to_chat(user, span_notice("[up ? alt_toggle_message : toggle_message] \the [src].")) user.update_inv_head() if(iscarbon(user)) @@ -403,12 +403,12 @@ /obj/item/clothing/head/helmet/monkey_sentience/examine(mob/user) . = ..() - . += "---WARNING: REMOVAL OF HELMET ON SUBJECT MAY LEAD TO:---" - . += "BLOOD RAGE" - . += "BRAIN DEATH" - . += "PRIMAL GENE ACTIVATION" - . += "GENETIC MAKEUP MASS SUSCEPTIBILITY" - . += "Ask your CMO if mind magnification is right for you." + . += span_boldwarning("---WARNING: REMOVAL OF HELMET ON SUBJECT MAY LEAD TO:---") + . += span_warning("BLOOD RAGE") + . += span_warning("BRAIN DEATH") + . += span_warning("PRIMAL GENE ACTIVATION") + . += span_warning("GENETIC MAKEUP MASS SUSCEPTIBILITY") + . += span_boldnotice("Ask your CMO if mind magnification is right for you.") /obj/item/clothing/head/helmet/monkey_sentience/update_icon_state() . = ..() @@ -420,7 +420,7 @@ return if(!ismonkey(user) || user.ckey) var/mob/living/something = user - to_chat(something, "You feel a stabbing pain in the back of your head for a moment.") + to_chat(something, span_boldnotice("You feel a stabbing pain in the back of your head for a moment.")) something.apply_damage(5,BRUTE,BODY_ZONE_HEAD,FALSE,FALSE,FALSE) //notably: no damage resist (it's in your helmet), no damage spread (it's in your helmet) playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) return @@ -428,7 +428,7 @@ say("ERROR: Central Command has temporarily outlawed monkey sentience helmets in this sector. NEAREST LAWFUL SECTOR: 2.537 million light years away.") return magnification = user //this polls ghosts - visible_message("[src] powers up!") + visible_message(span_warning("[src] powers up!")) playsound(src, 'sound/machines/ping.ogg', 30, TRUE) RegisterSignal(magnification, COMSIG_SPECIES_LOSS, .proc/make_fall_off) polling = TRUE @@ -439,14 +439,14 @@ if(!candidates.len) UnregisterSignal(magnification, COMSIG_SPECIES_LOSS) magnification = null - visible_message("[src] falls silent and drops on the floor. Maybe you should try again later?") + visible_message(span_notice("[src] falls silent and drops on the floor. Maybe you should try again later?")) playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) user.dropItemToGround(src) return var/mob/picked = pick(candidates) magnification.key = picked.key playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE) - to_chat(magnification, "You're a mind magnified monkey! Protect your helmet with your life- if you lose it, your sentience goes with it!") + to_chat(magnification, span_notice("You're a mind magnified monkey! Protect your helmet with your life- if you lose it, your sentience goes with it!")) var/policy = get_policy(ROLE_MONKEY_HELMET) if(policy) to_chat(magnification, policy) @@ -461,7 +461,7 @@ return if(!polling)//put on a viable head, but taken off after polling finished. if(magnification.client) - to_chat(magnification, "You feel your flicker of sentience ripped away from you, as everything becomes dim...") + to_chat(magnification, span_userdanger("You feel your flicker of sentience ripped away from you, as everything becomes dim...")) magnification.ghostize(FALSE) if(prob(10)) switch(rand(1,4)) @@ -477,7 +477,7 @@ UnregisterSignal(magnification, COMSIG_SPECIES_LOSS) playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) playsound(src, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - visible_message("[src] fizzles and breaks apart!") + visible_message(span_warning("[src] fizzles and breaks apart!")) magnification = null new /obj/effect/decal/cleanable/ash/crematorium(drop_location()) //just in case they're in a locker or other containers it needs to use crematorium ash, see the path itself for an explanation @@ -489,7 +489,7 @@ /obj/item/clothing/head/helmet/monkey_sentience/proc/make_fall_off() SIGNAL_HANDLER if(magnification) - visible_message("[src] falls off of [magnification]'s head as it changes shape!") + visible_message(span_warning("[src] falls off of [magnification]'s head as it changes shape!")) magnification.dropItemToGround(src) //LightToggle @@ -521,7 +521,7 @@ if(can_flashlight && !attached_light) if(!user.transferItemToLoc(S, src)) return - to_chat(user, "You click [S] into place on [src].") + to_chat(user, span_notice("You click [S] into place on [src].")) set_attached_light(S) update_appearance() update_helmlight() @@ -535,7 +535,7 @@ . = ..() if(can_flashlight && attached_light) //if it has a light but can_flashlight is false, the light is permanently attached. I.play_tool_sound(src) - to_chat(user, "You unscrew [attached_light] from [src].") + to_chat(user, span_notice("You unscrew [attached_light] from [src].")) attached_light.forceMove(drop_location()) if(Adjacent(user) && !issilicon(user)) user.put_in_hands(attached_light) @@ -561,7 +561,7 @@ return attached_light.on = !attached_light.on attached_light.update_brightness() - to_chat(user, "You toggle the helmet light [attached_light.on ? "on":"off"].") + to_chat(user, span_notice("You toggle the helmet light [attached_light.on ? "on":"off"].")) playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) update_helmlight() diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 8f330ff0009..5332cc152e9 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -23,10 +23,10 @@ mouse_control_probability = 100 /obj/item/clothing/head/chefhat/suicide_act(mob/user) - user.visible_message("[user] is donning [src]! It looks like [user.p_theyre()] trying to become a chef.") + user.visible_message(span_suicide("[user] is donning [src]! It looks like [user.p_theyre()] trying to become a chef.")) user.say("Bork Bork Bork!", forced = "chef hat suicide") sleep(20) - user.visible_message("[user] climbs into an imaginary oven!") + user.visible_message(span_suicide("[user] climbs into an imaginary oven!")) user.say("BOOORK!", forced = "chef hat suicide") playsound(user, 'sound/machines/ding.ogg', 50, TRUE) return(FIRELOSS) @@ -96,7 +96,7 @@ /obj/item/clothing/head/fedora/det_hat/examine(mob/user) . = ..() - . += "Alt-click to take a candy corn." + . += span_notice("Alt-click to take a candy corn.") /obj/item/clothing/head/fedora/det_hat/AltClick(mob/user) . = ..() @@ -105,10 +105,10 @@ if(candy_cooldown < world.time) var/obj/item/food/candy_corn/CC = new /obj/item/food/candy_corn(src) user.put_in_hands(CC) - to_chat(user, "You slip a candy corn from your hat.") + to_chat(user, span_notice("You slip a candy corn from your hat.")) candy_cooldown = world.time+1200 else - to_chat(user, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.") + to_chat(user, span_warning("You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.")) //Mime @@ -194,22 +194,22 @@ return TRUE switch(mode) if(DRILL_DEFAULT) - to_chat(user, "You set the voice circuit to the middle position.") + to_chat(user, span_notice("You set the voice circuit to the middle position.")) mode = DRILL_SHOUTING if(DRILL_SHOUTING) - to_chat(user, "You set the voice circuit to the last position.") + to_chat(user, span_notice("You set the voice circuit to the last position.")) mode = DRILL_YELLING if(DRILL_YELLING) - to_chat(user, "You set the voice circuit to the first position.") + to_chat(user, span_notice("You set the voice circuit to the first position.")) mode = DRILL_DEFAULT if(DRILL_CANADIAN) - to_chat(user, "You adjust voice circuit but nothing happens, probably because it's broken.") + to_chat(user, span_danger("You adjust voice circuit but nothing happens, probably because it's broken.")) return TRUE /obj/item/clothing/head/warden/drill/wirecutter_act(mob/living/user, obj/item/I) ..() if(mode != DRILL_CANADIAN) - to_chat(user, "You broke the voice circuit!") + to_chat(user, span_danger("You broke the voice circuit!")) mode = DRILL_CANADIAN return TRUE diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 20b7af3eeec..b8c4b1ad6c6 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -40,7 +40,7 @@ /obj/item/clothing/head/that/proc/abracadabra(obj/item/hitby_wand, mob/magician) if(!COOLDOWN_FINISHED(src, rabbit_cooldown)) - to_chat("You can't find another rabbit in [src]! Seems another hasn't gotten lost in there yet...") + to_chat(span_warning("You can't find another rabbit in [src]! Seems another hasn't gotten lost in there yet...")) return COOLDOWN_START(src, rabbit_cooldown, RABBIT_CD_TIME) @@ -48,7 +48,7 @@ do_smoke(range=1, location=src, smoke_type=/obj/effect/particle_effect/smoke/quick) if(prob(10)) - magician.visible_message("[magician] taps [src] with [hitby_wand], then reaches in and pulls out a bu- wait, those are bees!", "You tap [src] with your [hitby_wand.name] and pull out... BEES!") + magician.visible_message(span_danger("[magician] taps [src] with [hitby_wand], then reaches in and pulls out a bu- wait, those are bees!"), span_danger("You tap [src] with your [hitby_wand.name] and pull out... BEES!")) var/wait_how_many_bees_did_that_guy_pull_out_of_his_hat = rand(4, 8) for(var/b in 1 to wait_how_many_bees_did_that_guy_pull_out_of_his_hat) var/mob/living/simple_animal/hostile/bee/barry = new(get_turf(magician)) @@ -56,7 +56,7 @@ if(prob(20)) barry.say(pick("BUZZ BUZZ", "PULLING A RABBIT OUT OF A HAT IS A TIRED TROPE", "I DIDN'T ASK TO BEE HERE"), forced = "bee hat") else - magician.visible_message("[magician] taps [src] with [hitby_wand], then reaches in and pulls out a bunny! Cute!", "You tap [src] with your [hitby_wand.name] and pull out a cute bunny!") + magician.visible_message(span_notice("[magician] taps [src] with [hitby_wand], then reaches in and pulls out a bunny! Cute!"), span_notice("You tap [src] with your [hitby_wand.name] and pull out a cute bunny!")) var/mob/living/simple_animal/rabbit/empty/bunbun = new(get_turf(magician)) bunbun.mob_try_pickup(magician, instant=TRUE) @@ -174,7 +174,7 @@ return if(slot == ITEM_SLOT_HEAD) user.grant_language(/datum/language/piratespeak/, TRUE, TRUE, LANGUAGE_HAT) - to_chat(user, "You suddenly know how to speak like a pirate!") + to_chat(user, span_boldnotice("You suddenly know how to speak like a pirate!")) /obj/item/clothing/head/pirate/dropped(mob/user) . = ..() @@ -183,7 +183,7 @@ var/mob/living/carbon/human/H = user if(H.get_item_by_slot(ITEM_SLOT_HEAD) == src && !QDELETED(src)) //This can be called as a part of destroy user.remove_language(/datum/language/piratespeak/, TRUE, TRUE, LANGUAGE_HAT) - to_chat(user, "You can no longer speak like a pirate.") + to_chat(user, span_boldnotice("You can no longer speak like a pirate.")) /obj/item/clothing/head/pirate/armored armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) @@ -273,7 +273,7 @@ if(user.gender == FEMALE) return 0 var/mob/living/carbon/human/H = user - user.visible_message("[user] is donning [src]! It looks like [user.p_theyre()] trying to be nice to girls.") + user.visible_message(span_suicide("[user] is donning [src]! It looks like [user.p_theyre()] trying to be nice to girls.")) user.say("M'lady.", forced = "fedora suicide") sleep(10) H.facial_hairstyle = "Neckbeard" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index ba4d66bbfb1..02a69c1dd11 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -104,12 +104,12 @@ /obj/item/clothing/head/hardhat/cakehat/energycake/turn_on(mob/living/user) playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) - to_chat(user, "You turn on \the [src].") + to_chat(user, span_warning("You turn on \the [src].")) ..() /obj/item/clothing/head/hardhat/cakehat/energycake/turn_off(mob/living/user) playsound(user, 'sound/weapons/saberoff.ogg', 5, TRUE) - to_chat(user, "You turn off \the [src].") + to_chat(user, span_warning("You turn off \the [src].")) ..() /* @@ -131,11 +131,11 @@ if(earflaps) icon_state = "ushankaup" inhand_icon_state = "ushankaup" - to_chat(user, "You raise the ear flaps on the ushanka.") + to_chat(user, span_notice("You raise the ear flaps on the ushanka.")) else icon_state = "ushankadown" inhand_icon_state = "ushankadown" - to_chat(user, "You lower the ear flaps on the ushanka.") + to_chat(user, span_notice("You lower the ear flaps on the ushanka.")) earflaps = !earflaps /* @@ -267,7 +267,7 @@ return if(new_style && new_style != hairstyle) hairstyle = new_style - user.visible_message("[user] changes \the [src]'s hairstyle to [new_style].", "You change \the [src]'s hairstyle to [new_style].") + user.visible_message(span_notice("[user] changes \the [src]'s hairstyle to [new_style]."), span_notice("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_appearance() @@ -280,7 +280,7 @@ if(target.head) var/obj/item/clothing/head = target.head if((head.flags_inv & HIDEHAIR) && !istype(head, /obj/item/clothing/head/wig)) - to_chat(user, "You can't get a good look at [target.p_their()] hair!") + to_chat(user, span_warning("You can't get a good look at [target.p_their()] hair!")) return var/selected_hairstyle = null @@ -294,7 +294,7 @@ selected_hairstyle_color = "#[target.hair_color]" if(selected_hairstyle) - to_chat(user, "You adjust the [src] to look just like [target.name]'s [selected_hairstyle].") + to_chat(user, span_notice("You adjust the [src] to look just like [target.name]'s [selected_hairstyle].")) add_atom_colour(selected_hairstyle_color, FIXED_COLOUR_PRIORITY) hairstyle = selected_hairstyle update_appearance() @@ -359,14 +359,14 @@ paranoia = new() user.gain_trauma(paranoia, TRAUMA_RESILIENCE_MAGIC) - to_chat(user, "As you don the foiled hat, an entire world of conspiracy theories and seemingly insane ideas suddenly rush into your mind. What you once thought unbelievable suddenly seems.. undeniable. Everything is connected and nothing happens just by accident. You know too much and now they're out to get you. ") + to_chat(user, span_warning("As you don the foiled hat, an entire world of conspiracy theories and seemingly insane ideas suddenly rush into your mind. What you once thought unbelievable suddenly seems.. undeniable. Everything is connected and nothing happens just by accident. You know too much and now they're out to get you. ")) /obj/item/clothing/head/foilhat/MouseDrop(atom/over_object) //God Im sorry if(!warped && iscarbon(usr)) var/mob/living/carbon/C = usr if(src == C.head) - to_chat(C, "Why would you want to take this off? Do you want them to get into your mind?!") + to_chat(C, span_userdanger("Why would you want to take this off? Do you want them to get into your mind?!")) return return ..() @@ -387,13 +387,13 @@ return QDEL_NULL(paranoia) if(target.stat < UNCONSCIOUS) - to_chat(target, "Your zealous conspirationism rapidly dissipates as the donned hat warps up into a ruined mess. All those theories starting to sound like nothing but a ridicolous fanfare.") + to_chat(target, span_warning("Your zealous conspirationism rapidly dissipates as the donned hat warps up into a ruined mess. All those theories starting to sound like nothing but a ridicolous fanfare.")) /obj/item/clothing/head/foilhat/attack_hand(mob/user, list/modifiers) if(!warped && iscarbon(user)) var/mob/living/carbon/C = user if(src == C.head) - to_chat(user, "Why would you want to take this off? Do you want them to get into your mind?!") + to_chat(user, span_userdanger("Why would you want to take this off? Do you want them to get into your mind?!")) return return ..() diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 2f84d6bb942..3b252d00862 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -32,15 +32,15 @@ flipped = !flipped if(flipped) icon_state = "[soft_type]soft_flipped" - to_chat(user, "You flip the hat backwards.") + to_chat(user, span_notice("You flip the hat backwards.")) else icon_state = "[soft_type]soft" - to_chat(user, "You flip the hat back in normal position.") + to_chat(user, span_notice("You flip the hat back in normal position.")) usr.update_inv_head() //so our mob-overlays update /obj/item/clothing/head/soft/examine(mob/user) . = ..() - . += "Alt-click the cap to flip it [flipped ? "forwards" : "backwards"]." + . += span_notice("Alt-click the cap to flip it [flipped ? "forwards" : "backwards"].") /obj/item/clothing/head/soft/red name = "red cap" diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 23a23a950e4..5f2eb6ee1df 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -13,7 +13,7 @@ if((clothing_flags & VOICEBOX_TOGGLABLE)) clothing_flags ^= (VOICEBOX_DISABLED) var/status = !(clothing_flags & VOICEBOX_DISABLED) - to_chat(user, "You turn the voice box in [src] [status ? "on" : "off"].") + to_chat(user, span_notice("You turn the voice box in [src] [status ? "on" : "off"].")) /obj/item/clothing/mask/equipped(mob/M, slot) . = ..() @@ -69,11 +69,11 @@ clothing_flags |= visor_flags flags_inv |= visor_flags_inv flags_cover |= visor_flags_cover - to_chat(user, "You push \the [src] back into place.") + to_chat(user, span_notice("You push \the [src] back into place.")) slot_flags = initial(slot_flags) else icon_state += "_up" - to_chat(user, "You push \the [src] out of the way.") + to_chat(user, span_notice("You push \the [src] out of the way.")) gas_transfer_coefficient = null permeability_coefficient = null clothing_flags &= ~visor_flags diff --git a/code/modules/clothing/masks/animal_masks.dm b/code/modules/clothing/masks/animal_masks.dm index a4bf46f3353..bb0e798e332 100644 --- a/code/modules/clothing/masks/animal_masks.dm +++ b/code/modules/clothing/masks/animal_masks.dm @@ -44,13 +44,13 @@ GLOBAL_LIST_INIT(cursed_animal_masks, list( /obj/item/clothing/mask/animal/examine(mob/user) . = ..() if(clothing_flags & VOICEBOX_TOGGLABLE) - . += "Its voicebox is currently [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"]. Alt-click to toggle it." + . += span_notice("Its voicebox is currently [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"]. Alt-click to toggle it.") /obj/item/clothing/mask/animal/AltClick(mob/user) . = ..() if(clothing_flags & VOICEBOX_TOGGLABLE) clothing_flags ^= VOICEBOX_DISABLED - to_chat(user, "You [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"] [src]'s voicebox.") + to_chat(user, span_notice("You [clothing_flags & VOICEBOX_DISABLED ? "disabled" : "enabled"] [src]'s voicebox.")) /obj/item/clothing/mask/animal/proc/make_cursed() //apply cursed effects. ADD_TRAIT(src, TRAIT_NODROP, CURSED_MASK_TRAIT) @@ -69,7 +69,7 @@ GLOBAL_LIST_INIT(cursed_animal_masks, list( if(M.get_item_by_slot(ITEM_SLOT_MASK) == src) if(update_speech_mod) RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) - to_chat(M, "[src] was cursed!") + to_chat(M, span_userdanger("[src] was cursed!")) M.update_inv_wear_mask() /obj/item/clothing/mask/animal/proc/clear_curse() @@ -84,7 +84,7 @@ GLOBAL_LIST_INIT(cursed_animal_masks, list( if(ismob(loc)) var/mob/M = loc if(M.get_item_by_slot(ITEM_SLOT_MASK) == src) - to_chat(M, "[src]'s curse has been lifted!") + to_chat(M, span_notice("[src]'s curse has been lifted!")) if(update_speech_mod) UnregisterSignal(M, COMSIG_MOB_SAY) M.update_inv_wear_mask() @@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(cursed_animal_masks, list( if(!iscarbon(user)) return ..() if(slot == ITEM_SLOT_MASK && HAS_TRAIT_FROM(src, TRAIT_NODROP, CURSED_MASK_TRAIT)) - to_chat(user, "[src] was cursed!") + to_chat(user, span_userdanger("[src] was cursed!")) return ..() diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index ad4aeef69c8..72f7dfe85aa 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -15,7 +15,7 @@ resistance_flags = NONE /obj/item/clothing/mask/breath/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is wrapping \the [src]'s tube around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is wrapping \the [src]'s tube around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS /obj/item/clothing/mask/breath/attack_self(mob/user) @@ -28,7 +28,7 @@ /obj/item/clothing/mask/breath/examine(mob/user) . = ..() - . += "Alt-click [src] to adjust it." + . += span_notice("Alt-click [src] to adjust it.") /obj/item/clothing/mask/breath/medical desc = "A close-fitting sterile mask that can be connected to an air supply." diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 052c65add4b..bcd98e35003 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -119,7 +119,7 @@ for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() - to_chat(user, "Your Clown Mask has now morphed into [choice], all praise the Honkmother!") + to_chat(user, span_notice("Your Clown Mask has now morphed into [choice], all praise the Honkmother!")) return TRUE /obj/item/clothing/mask/gas/sexyclown @@ -174,7 +174,7 @@ for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() - to_chat(user, "Your Mime Mask has now morphed into [choice]!") + to_chat(user, span_notice("Your Mime Mask has now morphed into [choice]!")) return TRUE /obj/item/clothing/mask/gas/monkeymask @@ -255,7 +255,7 @@ for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() - to_chat(M, "The Tiki Mask has now changed into the [choice] Mask!") + to_chat(M, span_notice("The Tiki Mask has now changed into the [choice] Mask!")) return 1 /obj/item/clothing/mask/gas/tiki_mask/yalp_elor diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 7fe8b6b4f91..9699ef6152c 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -91,17 +91,17 @@ GLOBAL_LIST_INIT(hailer_phrases, list( if(..()) return else if (aggressiveness == AGGR_BROKEN) - to_chat(user, "You adjust the restrictor but nothing happens, probably because it's broken.") + to_chat(user, span_danger("You adjust the restrictor but nothing happens, probably because it's broken.")) return var/position = aggressiveness == AGGR_GOOD_COP ? "middle" : aggressiveness == AGGR_BAD_COP ? "last" : "first" - to_chat(user, "You set the restrictor to the [position] position.") + to_chat(user, span_notice("You set the restrictor to the [position] position.")) aggressiveness = aggressiveness % 3 + 1 // loop AGGR_GOOD_COP -> AGGR_SHIT_COP /obj/item/clothing/mask/gas/sechailer/wirecutter_act(mob/living/user, obj/item/I) . = TRUE ..() if(aggressiveness != AGGR_BROKEN) - to_chat(user, "You broke the restrictor!") + to_chat(user, span_danger("You broke the restrictor!")) aggressiveness = AGGR_BROKEN /obj/item/clothing/mask/gas/sechailer/ui_action_click(mob/user, action) @@ -115,7 +115,7 @@ GLOBAL_LIST_INIT(hailer_phrases, list( /obj/item/clothing/mask/gas/sechailer/emag_act(mob/user) if(safety) safety = FALSE - to_chat(user, "You silently fry [src]'s vocal circuit with the cryptographic sequencer.") + to_chat(user, span_warning("You silently fry [src]'s vocal circuit with the cryptographic sequencer.")) /obj/item/clothing/mask/gas/sechailer/verb/halt() set category = "Object" @@ -124,7 +124,7 @@ GLOBAL_LIST_INIT(hailer_phrases, list( if(!isliving(usr) || !can_use(usr) || cooldown) return if(broken_hailer) - to_chat(usr, "\The [src]'s hailing system is broken.") + to_chat(usr, span_warning("\The [src]'s hailing system is broken.")) return // handle recent uses for overuse @@ -136,12 +136,12 @@ GLOBAL_LIST_INIT(hailer_phrases, list( switch(recent_uses) if(3) - to_chat(usr, "\The [src] is starting to heat up.") + to_chat(usr, span_warning("\The [src] is starting to heat up.")) if(4) - to_chat(usr, "\The [src] is heating up dangerously from overuse!") + to_chat(usr, span_userdanger("\The [src] is heating up dangerously from overuse!")) if(5) // overload broken_hailer = TRUE - to_chat(usr, "\The [src]'s power modulator overloads and breaks.") + to_chat(usr, span_userdanger("\The [src]'s power modulator overloads and breaks.")) return // select phrase to play diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 147b2f031c0..beae698fc92 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -13,7 +13,7 @@ if(iscarbon(user)) var/mob/living/carbon/carbon_user = user if(src == carbon_user.wear_mask) - to_chat(user, "You need help taking this off!") + to_chat(user, span_warning("You need help taking this off!")) return ..() @@ -33,7 +33,7 @@ if(iscarbon(user)) var/mob/living/carbon/carbon_user = user if(src == carbon_user.wear_mask) - to_chat(user, "You need help taking this off!") + to_chat(user, span_warning("You need help taking this off!")) return ..() @@ -115,10 +115,10 @@ if(iscarbon(user)) var/mob/living/carbon/C = user if((C.get_item_by_slot(ITEM_SLOT_HEAD == src)) || (C.get_item_by_slot(ITEM_SLOT_MASK) == src)) - to_chat(user, "You can't tie [src] while wearing it!") + to_chat(user, span_warning("You can't tie [src] while wearing it!")) return if(slot_flags & ITEM_SLOT_HEAD) - to_chat(user, "You must undo [src] before you can tie it into a neckerchief!") + to_chat(user, span_warning("You must undo [src] before you can tie it into a neckerchief!")) else if(user.is_holding(src)) var/obj/item/clothing/neck/neckerchief/nk = new(src) @@ -131,10 +131,10 @@ var/currentHandIndex = user.get_held_index_of_item(src) user.transferItemToLoc(src, null) user.put_in_hand(nk, currentHandIndex) - user.visible_message("You tie [src] up like a neckerchief.", "[user] ties [src] up like a neckerchief.") + user.visible_message(span_notice("You tie [src] up like a neckerchief."), span_notice("[user] ties [src] up like a neckerchief.")) qdel(src) else - to_chat(user, "You must be holding [src] in order to tie it!") + to_chat(user, span_warning("You must be holding [src] in order to tie it!")) /obj/item/clothing/mask/bandana/red name = "red bandana" diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index ab447e0671a..9d4bca7632b 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -54,7 +54,7 @@ icon_state = "stethoscope" /obj/item/clothing/neck/stethoscope/suicide_act(mob/living/carbon/user) - user.visible_message("[user] puts \the [src] to [user.p_their()] chest! It looks like [user.p_they()] won't hear much!") + user.visible_message(span_suicide("[user] puts \the [src] to [user.p_their()] chest! It looks like [user.p_they()] won't hear much!")) return OXYLOSS /obj/item/clothing/neck/stethoscope/attack(mob/living/M, mob/living/user) @@ -66,25 +66,25 @@ var/mob/living/carbon/carbon_patient = M var/body_part = parse_zone(user.zone_selected) - var/heart_strength = "no" - var/lung_strength = "no" + var/heart_strength = span_danger("no") + var/lung_strength = span_danger("no") var/obj/item/organ/heart/heart = carbon_patient.getorganslot(ORGAN_SLOT_HEART) var/obj/item/organ/lungs/lungs = carbon_patient.getorganslot(ORGAN_SLOT_LUNGS) if(carbon_patient.stat != DEAD && !(HAS_TRAIT(carbon_patient, TRAIT_FAKEDEATH))) if(istype(heart)) - heart_strength = (heart.beating ? "a healthy" : "an unstable") + heart_strength = (heart.beating ? "a healthy" : span_danger("an unstable")) if(istype(lungs)) - lung_strength = ((carbon_patient.failed_last_breath || carbon_patient.losebreath) ? "strained" : "healthy") + lung_strength = ((carbon_patient.failed_last_breath || carbon_patient.losebreath) ? span_danger("strained") : "healthy") - user.visible_message("[user] places [src] against [carbon_patient]'s [body_part] and listens attentively.", ignored_mobs = user) + user.visible_message(span_notice("[user] places [src] against [carbon_patient]'s [body_part] and listens attentively."), ignored_mobs = user) var/diagnosis = (body_part == BODY_ZONE_CHEST ? "You hear [heart_strength] pulse and [lung_strength] respiration" : "You faintly hear [heart_strength] pulse") if(!user.can_hear()) diagnosis = "Fat load of good it does you though, since you can't hear" - to_chat(user, "You place [src] against [carbon_patient]'s [body_part]. [diagnosis].") + to_chat(user, span_notice("You place [src] against [carbon_patient]'s [body_part]. [diagnosis].")) /////////// //SCARVES// @@ -207,7 +207,7 @@ /obj/item/clothing/neck/necklace/dope/merchant/attack_self(mob/user) . = ..() selling = !selling - to_chat(user, "[src] has been set to [selling ? "'Sell'" : "'Get Price'"] mode.") + to_chat(user, span_notice("[src] has been set to [selling ? "'Sell'" : "'Get Price'"] mode.")) /obj/item/clothing/neck/necklace/dope/merchant/afterattack(obj/item/I, mob/user, proximity) . = ..() @@ -220,7 +220,7 @@ if(price) var/true_price = round(price*profit_scaling) - to_chat(user, "[selling ? "Sold" : "Getting the price of"] [I], value: [true_price] credits[I.contents.len ? " (exportable contents included)" : ""].[profit_scaling < 1 && selling ? "[round(price-true_price)] credit\s taken as processing fee\s." : ""]") + to_chat(user, span_notice("[selling ? "Sold" : "Getting the price of"] [I], value: [true_price] credits[I.contents.len ? " (exportable contents included)" : ""].[profit_scaling < 1 && selling ? "[round(price-true_price)] credit\s taken as processing fee\s." : ""]")) if(selling) new /obj/item/holochip(get_turf(user),true_price) for(var/i in ex.exported_atoms_ref) @@ -229,7 +229,7 @@ continue qdel(AM) else - to_chat(user, "There is no export value for [I] or any items within it.") + to_chat(user, span_warning("There is no export value for [I] or any items within it.")) /obj/item/clothing/neck/neckerchief @@ -249,7 +249,7 @@ if(iscarbon(user)) var/mob/living/carbon/C = user if(C.get_item_by_slot(ITEM_SLOT_NECK) == src) - to_chat(user, "You can't untie [src] while wearing it!") + to_chat(user, span_warning("You can't untie [src] while wearing it!")) return if(user.is_holding(src)) var/obj/item/clothing/mask/bandana/newBand = new sourceBandanaType(user) @@ -257,9 +257,9 @@ var/oldName = src.name qdel(src) user.put_in_hand(newBand, currentHandIndex) - user.visible_message("You untie [oldName] back into a [newBand.name].", "[user] unties [oldName] back into a [newBand.name].") + user.visible_message(span_notice("You untie [oldName] back into a [newBand.name]."), span_notice("[user] unties [oldName] back into a [newBand.name].")) else - to_chat(user, "You must be holding [src] in order to untie it!") + to_chat(user, span_warning("You must be holding [src] in order to untie it!")) /obj/item/clothing/neck/beads name = "plastic bead necklace" diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 539c824ce39..a9192e0ae8b 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -24,7 +24,7 @@ /obj/item/clothing/shoes/suicide_act(mob/living/carbon/user) if(rand(2)>1) - user.visible_message("[user] begins tying \the [src] up waaay too tightly! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins tying \the [src] up waaay too tightly! It looks like [user.p_theyre()] trying to commit suicide!")) var/obj/item/bodypart/l_leg = user.get_bodypart(BODY_ZONE_L_LEG) var/obj/item/bodypart/r_leg = user.get_bodypart(BODY_ZONE_R_LEG) if(l_leg) @@ -34,7 +34,7 @@ playsound(user, "desecration", 50, TRUE, -1) return BRUTELOSS else//didnt realize this suicide act existed (was in miscellaneous.dm) and didnt want to remove it, so made it a 50/50 chance. Why not! - user.visible_message("[user] is bashing [user.p_their()] own head in with [src]! Ain't that a kick in the head?") + user.visible_message(span_suicide("[user] is bashing [user.p_their()] own head in with [src]! Ain't that a kick in the head?")) for(var/i = 0, i < 3, i++) sleep(3) playsound(user, 'sound/weapons/genhit2.ogg', 50, TRUE) @@ -149,17 +149,17 @@ return if(!in_range(user, our_guy)) - to_chat(user, "You aren't close enough to interact with [src]'s laces!") + to_chat(user, span_warning("You aren't close enough to interact with [src]'s laces!")) return if(user == loc && tied != SHOES_TIED) // if they're our own shoes, go tie-wards if(DOING_INTERACTION_WITH_TARGET(user, our_guy)) - to_chat(user, "You're already interacting with [src]!") + to_chat(user, span_warning("You're already interacting with [src]!")) return - user.visible_message("[user] begins [tied ? "unknotting" : "tying"] the laces of [user.p_their()] [src.name].", "You begin [tied ? "unknotting" : "tying"] the laces of your [src.name]...") + user.visible_message(span_notice("[user] begins [tied ? "unknotting" : "tying"] the laces of [user.p_their()] [src.name]."), span_notice("You begin [tied ? "unknotting" : "tying"] the laces of your [src.name]...")) if(do_after(user, lace_time, target = our_guy, extra_checks = CALLBACK(src, .proc/still_shoed, our_guy))) - to_chat(user, "You [tied ? "unknot" : "tie"] the laces of your [src.name].") + to_chat(user, span_notice("You [tied ? "unknot" : "tie"] the laces of your [src.name].")) if(tied == SHOES_UNTIED) adjust_laces(SHOES_TIED, user) else @@ -168,29 +168,29 @@ else // if they're someone else's shoes, go knot-wards var/mob/living/L = user if(istype(L) && L.body_position == STANDING_UP) - to_chat(user, "You must be on the floor to interact with [src]!") + to_chat(user, span_warning("You must be on the floor to interact with [src]!")) return if(tied == SHOES_KNOTTED) - to_chat(user, "The laces on [loc]'s [src.name] are already a hopelessly tangled mess!") + to_chat(user, span_warning("The laces on [loc]'s [src.name] are already a hopelessly tangled mess!")) return if(DOING_INTERACTION_WITH_TARGET(user, our_guy)) - to_chat(user, "You're already interacting with [src]!") + to_chat(user, span_warning("You're already interacting with [src]!")) return var/mod_time = lace_time - to_chat(user, "You quietly set to work [tied ? "untying" : "knotting"] [loc]'s [src.name]...") + to_chat(user, span_notice("You quietly set to work [tied ? "untying" : "knotting"] [loc]'s [src.name]...")) if(HAS_TRAIT(user, TRAIT_CLUMSY)) // based clowns trained their whole lives for this mod_time *= 0.75 if(do_after(user, mod_time, target = our_guy, extra_checks = CALLBACK(src, .proc/still_shoed, our_guy))) - to_chat(user, "You [tied ? "untie" : "knot"] the laces on [loc]'s [src.name].") + to_chat(user, span_notice("You [tied ? "untie" : "knot"] the laces on [loc]'s [src.name].")) if(tied == SHOES_UNTIED) adjust_laces(SHOES_KNOTTED, user) else adjust_laces(SHOES_UNTIED, user) else // if one of us moved - user.visible_message("[our_guy] stamps on [user]'s hand, mid-shoelace [tied ? "knotting" : "untying"]!", "Ow! [our_guy] stamps on your hand!", list(our_guy)) - to_chat(our_guy, "You stamp on [user]'s hand! What the- [user.p_they()] [user.p_were()] [tied ? "knotting" : "untying"] your shoelaces!") + user.visible_message(span_danger("[our_guy] stamps on [user]'s hand, mid-shoelace [tied ? "knotting" : "untying"]!"), span_userdanger("Ow! [our_guy] stamps on your hand!"), list(our_guy)) + to_chat(our_guy, span_userdanger("You stamp on [user]'s hand! What the- [user.p_they()] [user.p_were()] [tied ? "knotting" : "untying"] your shoelaces!")) user.emote("scream") if(istype(L)) var/obj/item/bodypart/ouchie = L.get_bodypart(pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) @@ -212,7 +212,7 @@ if(tied == SHOES_KNOTTED) our_guy.Paralyze(5) our_guy.Knockdown(10) - our_guy.visible_message("[our_guy] trips on [our_guy.p_their()] knotted shoelaces and falls! What a klutz!", "You trip on your knotted shoelaces and fall over!") + our_guy.visible_message(span_danger("[our_guy] trips on [our_guy.p_their()] knotted shoelaces and falls! What a klutz!"), span_userdanger("You trip on your knotted shoelaces and fall over!")) SEND_SIGNAL(our_guy, COMSIG_ADD_MOOD_EVENT, "trip", /datum/mood_event/tripped) // well we realized they're knotted now! our_alert = our_guy.throw_alert("shoealert", /atom/movable/screen/alert/shoes/knotted) @@ -223,21 +223,21 @@ our_guy.Paralyze(5) our_guy.Knockdown(10) SEND_SIGNAL(our_guy, COMSIG_ADD_MOOD_EVENT, "trip", /datum/mood_event/tripped) // well we realized they're knotted now! - our_guy.visible_message("[our_guy] trips on [our_guy.p_their()] untied shoelaces and falls! What a klutz!", "You trip on your untied shoelaces and fall over!") + our_guy.visible_message(span_danger("[our_guy] trips on [our_guy.p_their()] untied shoelaces and falls! What a klutz!"), span_userdanger("You trip on your untied shoelaces and fall over!")) if(2 to 5) // .4% chance to stumble and lurch forward our_guy.throw_at(get_step(our_guy, our_guy.dir), 3, 2) - to_chat(our_guy, "You stumble on your untied shoelaces and lurch forward!") + to_chat(our_guy, span_danger("You stumble on your untied shoelaces and lurch forward!")) if(6 to 13) // .7% chance to stumble and fling what we're holding var/have_anything = FALSE for(var/obj/item/I in our_guy.held_items) have_anything = TRUE our_guy.accident(I) - to_chat(our_guy, "You trip on your shoelaces a bit[have_anything ? ", flinging what you were holding" : ""]!") + to_chat(our_guy, span_danger("You trip on your shoelaces a bit[have_anything ? ", flinging what you were holding" : ""]!")) if(14 to 25) // 1.3ish% chance to stumble and be a bit off balance (like being disarmed) - to_chat(our_guy, "You stumble a bit on your untied shoelaces!") + to_chat(our_guy, span_danger("You stumble a bit on your untied shoelaces!")) if(!our_guy.has_movespeed_modifier(/datum/movespeed_modifier/shove)) our_guy.add_movespeed_modifier(/datum/movespeed_modifier/shove) addtimer(CALLBACK(our_guy, /mob/living/carbon/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH) @@ -261,11 +261,11 @@ . = ..() if(DOING_INTERACTION_WITH_TARGET(user, src)) - to_chat(user, "You're already interacting with [src]!") + to_chat(user, span_warning("You're already interacting with [src]!")) return - to_chat(user, "You begin [tied ? "untying" : "tying"] the laces on [src]...") + to_chat(user, span_notice("You begin [tied ? "untying" : "tying"] the laces on [src]...")) if(do_after(user, lace_time, target = src,extra_checks = CALLBACK(src, .proc/still_shoed, user))) - to_chat(user, "You [tied ? "untie" : "tie"] the laces on [src].") + to_chat(user, span_notice("You [tied ? "untie" : "tie"] the laces on [src].")) adjust_laces(tied ? SHOES_TIED : SHOES_UNTIED, user) diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index af9248aa9fd..e5e6cab3e7a 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -31,7 +31,7 @@ if(!always_noslip) clothing_flags &= ~NOSLIP update_appearance() - to_chat(loc, "You ran out of bananium!") + to_chat(loc, span_warning("You ran out of bananium!")) else new /obj/item/grown/bananapeel/specialpeel(get_step(src,turn(wearer.dir, 180))) //honk bananium.use_amount_mat(100, /datum/material/bananium) @@ -40,27 +40,27 @@ var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) var/sheet_amount = bananium.retrieve_all() if(sheet_amount) - to_chat(user, "You retrieve [sheet_amount] sheets of bananium from the prototype shoes.") + to_chat(user, span_notice("You retrieve [sheet_amount] sheets of bananium from the prototype shoes.")) else - to_chat(user, "You cannot retrieve any bananium from the prototype shoes!") + to_chat(user, span_warning("You cannot retrieve any bananium from the prototype shoes!")) /obj/item/clothing/shoes/clown_shoes/banana_shoes/examine(mob/user) . = ..() - . += "The shoes are [on ? "enabled" : "disabled"]." + . += span_notice("The shoes are [on ? "enabled" : "disabled"].") /obj/item/clothing/shoes/clown_shoes/banana_shoes/ui_action_click(mob/user) var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) if(bananium.get_material_amount(/datum/material/bananium)) on = !on update_appearance() - to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.") + to_chat(user, span_notice("You [on ? "activate" : "deactivate"] the prototype shoes.")) if(!always_noslip) if(on) clothing_flags |= NOSLIP else clothing_flags &= ~NOSLIP else - to_chat(user, "You need bananium to turn the prototype shoes on!") + to_chat(user, span_warning("You need bananium to turn the prototype shoes on!")) /obj/item/clothing/shoes/clown_shoes/banana_shoes/update_icon_state() icon_state = "clown_prototype_[on ? "on" : "off"]" diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index 9b7e87257fc..533ac99dae6 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -86,7 +86,7 @@ if(ishuman(user)) var/mob/living/carbon/human/C = user if(C.shoes == src && chained == 1) - to_chat(user, "You need help taking these off!") + to_chat(user, span_warning("You need help taking these off!")) return FALSE return ..() @@ -95,6 +95,6 @@ if(ishuman(m)) var/mob/living/carbon/human/c = m if(c.shoes == src && chained == 1) - to_chat(c, "You need help taking these off!") + to_chat(c, span_warning("You need help taking these off!")) return return ..() diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 28631ea9ce3..8d63fa72ce6 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -29,7 +29,7 @@ slowdown = slowdown_active magpulse = !magpulse icon_state = "[magboot_state][magpulse]" - to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.") + to_chat(user, span_notice("You [magpulse ? "enable" : "disable"] the mag-pulse traction system.")) user.update_inv_shoes() //so our mob-overlays update user.update_gravity(user.has_gravity()) user.update_equipment_speed_mods() //we want to update our speed so we arent running at max speed in regular magboots diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index f949f9542b0..f6760fbeb0c 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -125,13 +125,13 @@ if(!isliving(user)) return if(user.get_active_held_item() != src) - to_chat(user, "You must hold the [src] in your hand to do this!") + to_chat(user, span_warning("You must hold the [src] in your hand to do this!")) return if (!enabled_waddle) - to_chat(user, "You switch off the waddle dampeners!") + to_chat(user, span_notice("You switch off the waddle dampeners!")) enabled_waddle = TRUE else - to_chat(user, "You switch on the waddle dampeners!") + to_chat(user, span_notice("You switch on the waddle dampeners!")) enabled_waddle = FALSE /obj/item/clothing/shoes/clown_shoes/jester @@ -267,17 +267,17 @@ return if(recharging_time > world.time) - to_chat(user, "The boot's internal propulsion needs to recharge still!") + to_chat(user, span_warning("The boot's internal propulsion needs to recharge still!")) return var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction if (user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE)) playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, TRUE) - user.visible_message("[usr] dashes forward into the air!") + user.visible_message(span_warning("[usr] dashes forward into the air!")) recharging_time = world.time + recharging_rate else - to_chat(user, "Something prevents you from dashing forward!") + to_chat(user, span_warning("Something prevents you from dashing forward!")) /obj/item/clothing/shoes/bhop/rocket name = "rocket boots" @@ -339,7 +339,7 @@ if(!isliving(user)) return if(!istype(user.get_item_by_slot(ITEM_SLOT_FEET), /obj/item/clothing/shoes/wheelys)) - to_chat(user, "You must be wearing the wheely-heels to use them!") + to_chat(user, span_warning("You must be wearing the wheely-heels to use them!")) return if(!(wheels.is_occupant(user))) wheelToggle = FALSE @@ -457,7 +457,7 @@ if(slot == ITEM_SLOT_FEET) for(var/mob/living/occupant in occupants) occupant.forceMove(user.drop_location()) - user.visible_message("[user] recoils as something slithers out of [src].", "You feel a sudden stabbing pain in your [pick("foot", "toe", "ankle")]!") + user.visible_message(span_warning("[user] recoils as something slithers out of [src]."), span_userdanger("You feel a sudden stabbing pain in your [pick("foot", "toe", "ankle")]!")) user.Knockdown(20) //Is one second paralyze better here? I feel you would fall on your ass in some fashion. user.apply_damage(5, BRUTE, pick(BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) if(istype(occupant, /mob/living/simple_animal/hostile/retaliate)) @@ -481,12 +481,12 @@ if(!(user.mobility_flags & MOBILITY_USE) || user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !user.Adjacent(target) || target.stat == DEAD) return if(occupants.len >= max_occupants) - to_chat(user, "[src] are full!") + to_chat(user, span_warning("[src] are full!")) return if(istype(target, /mob/living/simple_animal/hostile/retaliate/snake) || istype(target, /mob/living/simple_animal/hostile/headcrab) || istype(target, /mob/living/carbon/alien/larva)) occupants += target target.forceMove(src) - to_chat(user, "[target] slithers into [src].") + to_chat(user, span_notice("[target] slithers into [src].")) /obj/item/clothing/shoes/cowboy/container_resist_act(mob/living/user) if(!do_after(user, 10, target = user)) @@ -618,7 +618,7 @@ shot.def_zone = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) // they're fired from boots after all shot.preparePixelProjectile(target, wearer) if(!shot.suppressed) - wearer.visible_message("[wearer]'s [name] fires \a [shot]!", "", blind_message = "You hear a gunshot!", vision_distance=COMBAT_MESSAGE_RANGE) + wearer.visible_message(span_danger("[wearer]'s [name] fires \a [shot]!"), "", blind_message = span_hear("You hear a gunshot!"), vision_distance=COMBAT_MESSAGE_RANGE) shot.fire() /obj/item/clothing/shoes/gunboots/disabler diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 5958b930f8e..5595dbe666f 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -93,7 +93,7 @@ if(!cell.use(THERMAL_REGULATOR_COST)) toggle_spacesuit() update_hud_icon(user) - to_chat(user, "The thermal regulator cuts off as [cell] runs out of charge.") + to_chat(user, span_warning("The thermal regulator cuts off as [cell] runs out of charge.")) return // If we got here, it means thermals are on, the cell is in and the cell has @@ -152,15 +152,15 @@ ([range_low]-[range_high] degrees celcius)") as null|num if(deg_c && deg_c >= range_low && deg_c <= range_high) temperature_setting = round(T0C + deg_c, 0.1) - to_chat(user, "You see the readout change to [deg_c] c.") + to_chat(user, span_notice("You see the readout change to [deg_c] c.")) return else if(cell_cover_open && istype(I, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, "[src] already has a cell installed.") + to_chat(user, span_warning("[src] already has a cell installed.")) return if(user.transferItemToLoc(I, src)) cell = I - to_chat(user, "You successfully install \the [cell] into [src].") + to_chat(user, span_notice("You successfully install \the [cell] into [src].")) return return ..() @@ -185,8 +185,8 @@ /// Remove the cell from the suit if the cell cover is open /obj/item/clothing/suit/space/proc/remove_cell(mob/user) if(cell_cover_open && cell) - user.visible_message("[user] removes \the [cell] from [src]!", \ - "You remove [cell].") + user.visible_message(span_notice("[user] removes \the [cell] from [src]!"), \ + span_notice("You remove [cell].")) cell.add_fingerprint(user) user.put_in_hands(cell) cell = null @@ -194,7 +194,7 @@ /// Toggle the space suit's cell cover /obj/item/clothing/suit/space/proc/toggle_spacesuit_cell(mob/user) cell_cover_open = !cell_cover_open - to_chat(user, "You [cell_cover_open ? "open" : "close"] the cell cover on \the [src].") + to_chat(user, span_notice("You [cell_cover_open ? "open" : "close"] the cell cover on \the [src].")) /// Toggle the space suit's thermal regulator status /obj/item/clothing/suit/space/proc/toggle_spacesuit() @@ -203,20 +203,20 @@ // thermal protection value and should just return out early. var/mob/living/carbon/human/user = src.loc if(!thermal_on && !(cell && cell.charge >= THERMAL_REGULATOR_COST)) - to_chat(user, "The thermal regulator on \the [src] has no charge.") + to_chat(user, span_warning("The thermal regulator on \the [src] has no charge.")) return thermal_on = !thermal_on min_cold_protection_temperature = thermal_on ? SPACE_SUIT_MIN_TEMP_PROTECT : SPACE_SUIT_MIN_TEMP_PROTECT_OFF if(user) - to_chat(user, "You turn [thermal_on ? "on" : "off"] \the [src]'s thermal regulator.") + to_chat(user, span_notice("You turn [thermal_on ? "on" : "off"] \the [src]'s thermal regulator.")) SEND_SIGNAL(src, COMSIG_SUIT_SPACE_TOGGLE) // let emags override the temperature settings /obj/item/clothing/suit/space/emag_act(mob/user) if(!(obj_flags & EMAGGED)) obj_flags |= EMAGGED - user.visible_message("You emag [src], overwriting thermal regulator restrictions.") + user.visible_message(span_warning("You emag [src], overwriting thermal regulator restrictions.")) log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], overwriting thermal regulator restrictions.") playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 4558a78b7d6..5f43351f937 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -76,8 +76,8 @@ switch(severity) if(1) if(activated && user && ishuman(user) && (user.wear_suit == src)) - to_chat(user, "E:FATAL:RAM_READ_FAIL\nE:FATAL:STACK_EMPTY\nE:FATAL:READ_NULL_POINT\nE:FATAL:PWR_BUS_OVERLOAD") - to_chat(user, "An electromagnetic pulse disrupts your [name] and violently tears you out of time-bluespace!") + to_chat(user, span_danger("E:FATAL:RAM_READ_FAIL\nE:FATAL:STACK_EMPTY\nE:FATAL:READ_NULL_POINT\nE:FATAL:PWR_BUS_OVERLOAD")) + to_chat(user, span_userdanger("An electromagnetic pulse disrupts your [name] and violently tears you out of time-bluespace!")) user.emote("scream") deactivate(1, 1) @@ -129,7 +129,7 @@ for(var/exposed_item in exposed) var/obj/item/exposed_I = exposed_item if(exposed_I && !(exposed_I.type in chronosafe_items) && user.dropItemToGround(exposed_I)) - to_chat(user, "Your [exposed_I.name] got left behind.") + to_chat(user, span_notice("Your [exposed_I.name] got left behind.")) user.extinguish_mob() diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index e5b3eb5a6c0..49efd04d845 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -74,7 +74,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/proc/display_visor_message(msg) var/mob/wearer = loc if(msg && ishuman(wearer)) - wearer.show_message("[icon2html(src, wearer)][msg]", MSG_VISUAL) + wearer.show_message("[icon2html(src, wearer)][span_robot("[msg]")]", MSG_VISUAL) /obj/item/clothing/head/helmet/space/hardsuit/rad_act(amount) . = ..() @@ -128,49 +128,49 @@ /obj/item/clothing/suit/space/hardsuit/examine(mob/user) . = ..() if(!helmet && helmettype) - . += "The helmet on [src] seems to be malfunctioning. Its light bulb needs to be replaced." + . += span_notice("The helmet on [src] seems to be malfunctioning. Its light bulb needs to be replaced.") /obj/item/clothing/suit/space/hardsuit/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/tank/jetpack/suit)) if(jetpack) - to_chat(user, "[src] already has a jetpack installed.") + to_chat(user, span_warning("[src] already has a jetpack installed.")) return if(src == user.get_item_by_slot(ITEM_SLOT_OCLOTHING)) //Make sure the player is not wearing the suit before applying the upgrade. - to_chat(user, "You cannot install the upgrade to [src] while wearing it.") + to_chat(user, span_warning("You cannot install the upgrade to [src] while wearing it.")) return if(user.transferItemToLoc(I, src)) jetpack = I - to_chat(user, "You successfully install the jetpack into [src].") + to_chat(user, span_notice("You successfully install the jetpack into [src].")) return else if(!cell_cover_open && I.tool_behaviour == TOOL_SCREWDRIVER) if(!jetpack) - to_chat(user, "[src] has no jetpack installed.") + to_chat(user, span_warning("[src] has no jetpack installed.")) return if(src == user.get_item_by_slot(ITEM_SLOT_OCLOTHING)) - to_chat(user, "You cannot remove the jetpack from [src] while wearing it.") + to_chat(user, span_warning("You cannot remove the jetpack from [src] while wearing it.")) return jetpack.turn_off(user) jetpack.forceMove(drop_location()) jetpack = null - to_chat(user, "You successfully remove the jetpack from [src].") + to_chat(user, span_notice("You successfully remove the jetpack from [src].")) return else if(istype(I, /obj/item/light) && helmettype) if(src == user.get_item_by_slot(ITEM_SLOT_OCLOTHING)) - to_chat(user, "You cannot replace the bulb in the helmet of [src] while wearing it.") + to_chat(user, span_warning("You cannot replace the bulb in the helmet of [src] while wearing it.")) return if(helmet) - to_chat(user, "The helmet of [src] does not require a new bulb.") + to_chat(user, span_warning("The helmet of [src] does not require a new bulb.")) return var/obj/item/light/L = I if(L.status) - to_chat(user, "This bulb is too damaged to use as a replacement!") + to_chat(user, span_warning("This bulb is too damaged to use as a replacement!")) return if(do_after(user, 5 SECONDS, src)) qdel(I) helmet = new helmettype(src) - to_chat(user, "You have successfully repaired [src]'s helmet.") + to_chat(user, span_notice("You have successfully repaired [src]'s helmet.")) new /obj/item/light/bulb/broken(drop_location()) return ..() @@ -199,7 +199,7 @@ var/mob/living/carbon/human/user = src.loc if(istype(user)) user.apply_damage(HARDSUIT_EMP_BURN, BURN, spread_damage=TRUE) - to_chat(user, "You feel \the [src] heat up from the EMP burning you slightly.") + to_chat(user, span_warning("You feel \the [src] heat up from the EMP burning you slightly.")) // Chance to scream if (user.stat < UNCONSCIOUS && prob(10)) @@ -360,11 +360,11 @@ /obj/item/clothing/head/helmet/space/hardsuit/syndi/attack_self(mob/user) //Toggle Helmet if(!isturf(user.loc)) - to_chat(user, "You cannot toggle your helmet while in this [user.loc]!" ) + to_chat(user, span_warning("You cannot toggle your helmet while in this [user.loc]!") ) return on = !on if(on || force) - to_chat(user, "You switch your hardsuit to EVA mode, sacrificing speed for space protection.") + to_chat(user, span_notice("You switch your hardsuit to EVA mode, sacrificing speed for space protection.")) name = initial(name) desc = initial(desc) set_light_on(TRUE) @@ -373,7 +373,7 @@ flags_inv |= visor_flags_inv cold_protection |= HEAD else - to_chat(user, "You switch your hardsuit to combat mode and can now run at full speed.") + to_chat(user, span_notice("You switch your hardsuit to combat mode and can now run at full speed.")) name += " (combat)" desc = alt_desc set_light_on(FALSE) diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 8d684a1f5cc..5e5ebf54a4c 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -431,7 +431,7 @@ Contains: /obj/item/clothing/head/helmet/space/hardsuit/berserker/examine() . = ..() - . += "Berserk mode is [berserk_charge]% charged." + . += span_notice("Berserk mode is [berserk_charge]% charged.") /obj/item/clothing/head/helmet/space/hardsuit/berserker/process(delta_time) . = ..() @@ -453,11 +453,11 @@ Contains: berserk_value *= PROJECTILE_HIT_MULTIPLIER berserk_charge = clamp(round(berserk_charge + berserk_value), 0, MAX_BERSERK_CHARGE) if(berserk_charge >= MAX_BERSERK_CHARGE) - to_chat(owner, "Berserk mode is fully charged.") + to_chat(owner, span_notice("Berserk mode is fully charged.")) /// Starts berserk, giving the wearer 50 melee armor, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier /obj/item/clothing/head/helmet/space/hardsuit/berserker/proc/berserk_mode(mob/living/carbon/human/user) - to_chat(user, "You enter berserk mode.") + to_chat(user, span_warning("You enter berserk mode.")) playsound(user, 'sound/magic/staff_healing.ogg', 50) user.add_movespeed_modifier(/datum/movespeed_modifier/berserk) user.physiology.armor.melee += BERSERK_MELEE_ARMOR_ADDED @@ -471,7 +471,7 @@ Contains: /obj/item/clothing/head/helmet/space/hardsuit/berserker/proc/end_berserk(mob/living/carbon/human/user) if(!berserk_active) return - to_chat(user, "You exit berserk mode.") + to_chat(user, span_warning("You exit berserk mode.")) playsound(user, 'sound/magic/summonitems_generic.ogg', 50) user.remove_movespeed_modifier(/datum/movespeed_modifier/berserk) user.physiology.armor.melee -= BERSERK_MELEE_ARMOR_ADDED @@ -508,7 +508,7 @@ Contains: /obj/item/clothing/suit/space/fragile/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(!torn && prob(50)) - to_chat(owner, "[src] tears from the damage, breaking the air-tight seal!") + to_chat(owner, span_warning("[src] tears from the damage, breaking the air-tight seal!")) clothing_flags &= ~STOPSPRESSUREDAMAGE name = "torn [src]." desc = "A bulky suit meant to protect the user during emergency situations, at least until someone tore a hole in the suit." diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 7adb4375e67..22971631f35 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -16,7 +16,7 @@ /obj/item/clothing/suit/space/eva/plasmaman/examine(mob/user) . = ..() - . += "There [extinguishes_left == 1 ? "is" : "are"] [extinguishes_left] extinguisher charge\s left in this suit." + . += span_notice("There [extinguishes_left == 1 ? "is" : "are"] [extinguishes_left] extinguisher charge\s left in this suit.") /obj/item/clothing/suit/space/eva/plasmaman/proc/Extinguish(mob/living/carbon/human/H) @@ -29,7 +29,7 @@ return next_extinguish = world.time + extinguish_cooldown extinguishes_left-- - H.visible_message("[H]'s suit automatically extinguishes [H.p_them()]!","Your suit automatically extinguishes you.") + H.visible_message(span_warning("[H]'s suit automatically extinguishes [H.p_them()]!"),span_warning("Your suit automatically extinguishes you.")) H.extinguish_mob() new /obj/effect/particle_effect/water(get_turf(H)) @@ -73,7 +73,7 @@ /obj/item/clothing/head/helmet/space/plasmaman/proc/toggle_welding_screen(mob/living/user) if(weldingvisortoggle(user)) if(helmet_on) - to_chat(user, "Your helmet's torch can't pass through your welding visor!") + to_chat(user, span_notice("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_appearance() @@ -90,14 +90,14 @@ if(istype(C, /obj/item/toy/crayon)) if(smile == FALSE) var/obj/item/toy/crayon/CR = C - to_chat(user, "You start drawing a smiley face on the helmet's visor..") + to_chat(user, span_notice("You start drawing a smiley face on the helmet's visor..")) if(do_after(user, 25, target = src)) smile = TRUE smile_color = CR.paint_color to_chat(user, "You draw a smiley on the helmet visor.") update_appearance() else - to_chat(user, "Seems like someone already drew something on this helmet's visor!") + to_chat(user, span_warning("Seems like someone already drew something on this helmet's visor!")) /obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(mutable_appearance/standing, isinhands) . = ..() @@ -125,7 +125,7 @@ if(helmet_on) if(!up) - to_chat(user, "Your helmet's torch can't pass through your welding visor!") + to_chat(user, span_notice("Your helmet's torch can't pass through your welding visor!")) set_light_on(FALSE) else set_light_on(TRUE) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index ee861815c15..116dad6122e 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -11,7 +11,7 @@ flags_inv = HIDESUITSTORAGE /obj/item/clothing/neck/cloak/suicide_act(mob/user) - user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return(OXYLOSS) /obj/item/clothing/neck/cloak/hos @@ -151,7 +151,7 @@ SIGNAL_HANDLER if(new_stat > CONSCIOUS && new_stat < DEAD && COOLDOWN_FINISHED(src, effect_cooldown)) user.heal_ordered_damage(heal_amount, damage_heal_order) - user.visible_message("[user] suddenly revives, as their armor swirls with demonic energy!", "You suddenly feel invigorated!") + user.visible_message(span_notice("[user] suddenly revives, as their armor swirls with demonic energy!"), span_notice("You suddenly feel invigorated!")) playsound(user.loc, 'sound/magic/clockwork/ratvar_attack.ogg', 50) COOLDOWN_START(src, effect_cooldown, effect_cooldown_time) @@ -161,7 +161,7 @@ /obj/item/clothing/neck/cloak/skill_reward/examine(mob/user) . = ..() - . += "You notice a powerful aura about this cloak, suggesting that only the truly experienced may wield it." + . += span_notice("You notice a powerful aura about this cloak, suggesting that only the truly experienced may wield it.") /obj/item/clothing/neck/cloak/skill_reward/proc/check_wearable(mob/user) return user.mind?.get_skill_level(associated_skill_path) < SKILL_LEVEL_LEGENDARY diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index acbee266407..51063232c7f 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -18,7 +18,7 @@ var/armour_path = anomaly_armour_types[A.anomaly_type] if(!armour_path) armour_path = /obj/item/clothing/suit/armor/reactive/stealth //Lets not cheat the player if an anomaly type doesnt have its own armour coded - to_chat(user, "You insert [A] into the chest plate, and the armour gently hums to life.") + to_chat(user, span_notice("You insert [A] into the chest plate, and the armour gently hums to life.")) new armour_path(get_turf(src)) qdel(src) qdel(A) @@ -50,11 +50,11 @@ /obj/item/clothing/suit/armor/reactive/attack_self(mob/user) active = !(active) if(active) - to_chat(user, "[src] is now active.") + to_chat(user, span_notice("[src] is now active.")) icon_state = "reactive" inhand_icon_state = "reactive" else - to_chat(user, "[src] is now inactive.") + to_chat(user, span_notice("[src] is now inactive.")) icon_state = "reactiveoff" inhand_icon_state = "reactiveoff" add_fingerprint(user) @@ -85,7 +85,7 @@ * Returning TRUE will block the attack that triggered this */ /obj/item/clothing/suit/armor/reactive/proc/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("The reactive armor doesn't do much! No surprises here.") + owner.visible_message(span_danger("The reactive armor doesn't do much! No surprises here.")) return TRUE /** @@ -94,7 +94,7 @@ * Returning TRUE will block the attack that triggered this */ /obj/item/clothing/suit/armor/reactive/proc/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("The reactive armor doesn't do much, despite being emp'd! Besides giving off a special message, of course.") + owner.visible_message(span_danger("The reactive armor doesn't do much, despite being emp'd! Besides giving off a special message, of course.")) return TRUE /obj/item/clothing/suit/armor/reactive/emp_act(severity) @@ -116,7 +116,7 @@ var/rad_amount= 15 /obj/item/clothing/suit/armor/reactive/teleport/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("The reactive teleport system flings [owner] clear of [attack_text]!") + owner.visible_message(span_danger("The reactive teleport system flings [owner] clear of [attack_text]!")) playsound(get_turf(owner),'sound/magic/blink.ogg', 100, TRUE) do_teleport(owner, get_turf(owner), tele_range, no_effects = TRUE, channel = TELEPORT_CHANNEL_BLUESPACE) owner.rad_act(rad_amount) @@ -124,7 +124,7 @@ return TRUE /obj/item/clothing/suit/armor/reactive/teleport/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("The reactive teleport system flings itself clear of [attack_text], leaving someone behind in the process!") + owner.visible_message(span_danger("The reactive teleport system flings itself clear of [attack_text], leaving someone behind in the process!")) owner.dropItemToGround(src, TRUE, TRUE) playsound(get_turf(owner),'sound/machines/buzz-sigh.ogg', 50, TRUE) playsound(get_turf(owner),'sound/magic/blink.ogg', 100, TRUE) @@ -142,7 +142,7 @@ emp_message = "The reactive incendiary armor's targeting system begins rebooting..." /obj/item/clothing/suit/armor/reactive/fire/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("[src] blocks [attack_text], sending out jets of flame!") + owner.visible_message(span_danger("[src] blocks [attack_text], sending out jets of flame!")) playsound(get_turf(owner),'sound/magic/fireball.ogg', 100, TRUE) for(var/mob/living/carbon/carbon_victim in range(6, owner)) if(carbon_victim != owner) @@ -153,7 +153,7 @@ return TRUE /obj/item/clothing/suit/armor/reactive/fire/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("[src] just makes [attack_text] worse by spewing molten death on [owner]!") + owner.visible_message(span_danger("[src] just makes [attack_text] worse by spewing molten death on [owner]!")) playsound(get_turf(owner),'sound/magic/fireball.ogg', 100, TRUE) owner.adjust_fire_stacks(12) owner.IgniteMob() @@ -191,7 +191,7 @@ decoy.Goto(owner, decoy.move_to_delay, decoy.minimum_distance) owner.alpha = 0 in_stealth = TRUE - owner.visible_message("[owner] is hit by [attack_text] in the chest!") //We pretend to be hit, since blocking it would stop the message otherwise + owner.visible_message(span_danger("[owner] is hit by [attack_text] in the chest!")) //We pretend to be hit, since blocking it would stop the message otherwise addtimer(CALLBACK(src, .proc/end_stealth, owner), stealth_time) reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration return TRUE @@ -204,7 +204,7 @@ if(!isliving(hitby)) return FALSE //it just doesn't activate var/mob/living/attacker = hitby - owner.visible_message("[src] activates, cloaking the wrong person!") + owner.visible_message(span_danger("[src] activates, cloaking the wrong person!")) attacker.alpha = 0 addtimer(VARSET_CALLBACK(attacker, alpha, initial(attacker.alpha)), 4 SECONDS) reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration @@ -239,13 +239,13 @@ ..() /obj/item/clothing/suit/armor/reactive/tesla/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("[src] blocks [attack_text], sending out arcs of lightning!") + owner.visible_message(span_danger("[src] blocks [attack_text], sending out arcs of lightning!")) tesla_zap(owner, zap_range, zap_power, zap_flags) reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration return TRUE /obj/item/clothing/suit/armor/reactive/tesla/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("[src] blocks [attack_text], but pulls a massive charge of energy into [owner] from the surrounding environment!") + owner.visible_message(span_danger("[src] blocks [attack_text], but pulls a massive charge of energy into [owner] from the surrounding environment!")) REMOVE_TRAIT(owner, TRAIT_TESLA_SHOCKIMMUNE, "reactive_tesla_armor") //oops! can't shock without this! electrocute_mob(owner, get_area(src), src, 1) ADD_TRAIT(owner, TRAIT_TESLA_SHOCKIMMUNE, "reactive_tesla_armor") @@ -263,7 +263,7 @@ /obj/item/clothing/suit/armor/reactive/repulse/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) playsound(get_turf(owner),'sound/magic/repulse.ogg', 100, TRUE) - owner.visible_message("[src] blocks [attack_text], converting the attack into a wave of force!") + owner.visible_message(span_danger("[src] blocks [attack_text], converting the attack into a wave of force!")) var/turf/owner_turf = get_turf(owner) var/list/thrown_items = list() for(var/atom/movable/repulsed in range(owner_turf, 7)) @@ -278,7 +278,7 @@ /obj/item/clothing/suit/armor/reactive/repulse/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) playsound(get_turf(owner),'sound/magic/repulse.ogg', 100, TRUE) - owner.visible_message("[src] does not block [attack_text], and instead generates an attracting force!") + owner.visible_message(span_danger("[src] does not block [attack_text], and instead generates an attracting force!")) var/turf/owner_turf = get_turf(owner) var/list/thrown_items = list() for(var/atom/movable/repulsed in range(owner_turf, 7)) @@ -298,7 +298,7 @@ var/tele_range = 10 /obj/item/clothing/suit/armor/reactive/table/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("The reactive teleport system flings [owner] clear of [attack_text] and slams [owner.p_them()] into a fabricated table!") + owner.visible_message(span_danger("The reactive teleport system flings [owner] clear of [attack_text] and slams [owner.p_them()] into a fabricated table!")) owner.visible_message("[owner] GOES ON THE TABLE!!!") owner.Knockdown(30) owner.apply_damage(10, BRUTE) @@ -311,7 +311,7 @@ return TRUE /obj/item/clothing/suit/armor/reactive/table/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message("The reactive teleport system flings [owner] clear of [attack_text] and slams [owner.p_them()] into a fabricated glass table!") + owner.visible_message(span_danger("The reactive teleport system flings [owner] clear of [attack_text] and slams [owner.p_them()] into a fabricated glass table!")) owner.visible_message("[owner] GOES ON THE GLASS TABLE!!!") do_teleport(owner, get_turf(owner), tele_range, no_effects = TRUE, channel = TELEPORT_CHANNEL_BLUESPACE) var/obj/structure/table/glass/shattering_table = new /obj/structure/table/glass(get_turf(owner)) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 9ccb4c7334d..f5dcd45c1d7 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -64,10 +64,10 @@ return var/mob/living/carbon/human/H = loc if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to put up the hood!") + to_chat(H, span_warning("You must be wearing [src] to put up the hood!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, span_warning("You're already wearing something on your head!")) return else if(alternative_mode) @@ -124,7 +124,7 @@ if(!can_use(usr)) return 0 - to_chat(usr, "You toggle [src]'s [togglename].") + to_chat(usr, span_notice("You toggle [src]'s [togglename].")) if(src.suittoggled) src.icon_state = "[initial(icon_state)]" src.suittoggled = FALSE @@ -187,7 +187,7 @@ helmet.attack_self(H) H.transferItemToLoc(helmet, src, TRUE) H.update_inv_wear_suit() - to_chat(H, "The helmet on the hardsuit disengages.") + to_chat(H, span_notice("The helmet on the hardsuit disengages.")) playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) else helmet.forceMove(src) @@ -201,18 +201,18 @@ if(!helmettype) return if(!helmet) - to_chat(H, "The helmet's lightbulb seems to be damaged! You'll need a replacement bulb.") + to_chat(H, span_warning("The helmet's lightbulb seems to be damaged! You'll need a replacement bulb.")) return if(!suittoggled) if(ishuman(src.loc)) if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to engage the helmet!") + to_chat(H, span_warning("You must be wearing [src] to engage the helmet!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, span_warning("You're already wearing something on your head!")) return else if(H.equip_to_slot_if_possible(helmet,ITEM_SLOT_HEAD,0,0,1)) - to_chat(H, "You engage the helmet on the hardsuit.") + to_chat(H, span_notice("You engage the helmet on the hardsuit.")) suittoggled = TRUE H.update_inv_wear_suit() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, TRUE) diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 57cd2f80016..5dc5a96e4a0 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -166,7 +166,7 @@ if(!isliving(usr)) return if(!robe_charge) - to_chat(usr, "The robe's internal magic supply is still recharging!") + to_chat(usr, span_warning("The robe's internal magic supply is still recharging!")) return usr.say("Rise, my creation! Off your page into this realm!", forced = "stickman summoning") @@ -177,7 +177,7 @@ src.robe_charge = FALSE sleep(30) src.robe_charge = TRUE - to_chat(usr, "The robe hums, its internal magic supply restored.") + to_chat(usr, span_notice("The robe hums, its internal magic supply restored.")) //Shielded Armour diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 407ab279c6f..9c0db2d3ce6 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -39,7 +39,7 @@ var/obj/item/stack/cable_coil/C = I C.use(1) has_sensor = HAS_SENSORS - to_chat(user,"You repair the suit sensors on [src] with [C].") + to_chat(user,span_notice("You repair the suit sensors on [src] with [C].")) return 1 if(!attach_accessory(I, user)) return ..() @@ -70,7 +70,7 @@ sensor_mode = pick(SENSOR_OFF, SENSOR_OFF, SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS) if(ismob(loc)) var/mob/M = loc - to_chat(M,"The sensors on the [src] change rapidly!") + to_chat(M,span_warning("The sensors on the [src] change rapidly!")) /obj/item/clothing/under/visual_equipped(mob/user, slot) ..() @@ -130,7 +130,7 @@ var/obj/item/clothing/accessory/accessory = tool if(attached_accessory) if(user) - to_chat(user, "[src] already has an accessory.") + to_chat(user, span_warning("[src] already has an accessory.")) return if(!accessory.can_attach_accessory(src, user)) //Make sure the suit has a place to put the accessory. @@ -142,7 +142,7 @@ . = TRUE if(user && notifyAttach) - to_chat(user, "You attach [accessory] to [src].") + to_chat(user, span_notice("You attach [accessory] to [src].")) var/accessory_color = attached_accessory.icon_state accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', "[accessory_color]") @@ -172,9 +172,9 @@ var/obj/item/clothing/accessory/accessory = attached_accessory attached_accessory.detach(src, user) if(user.put_in_hands(accessory)) - to_chat(user, "You detach [accessory] from [src].") + to_chat(user, span_notice("You detach [accessory] from [src].")) else - to_chat(user, "You detach [accessory] from [src] and it falls on the floor.") + to_chat(user, span_notice("You detach [accessory] from [src] and it falls on the floor.")) update_appearance() if(!ishuman(loc)) @@ -232,19 +232,19 @@ var/list/modes = list("Off", "Binary vitals", "Exact vitals", "Tracking beacon") var/switchMode = input("Select a sensor mode:", "Suit Sensor Mode", modes[sensor_mode + 1]) in modes if(get_dist(usr, src) > 1) - to_chat(usr, "You have moved too far away!") + to_chat(usr, span_warning("You have moved too far away!")) return sensor_mode = modes.Find(switchMode) - 1 if (loc == usr) switch(sensor_mode) if(0) - to_chat(usr, "You disable your suit's remote sensing equipment.") + to_chat(usr, span_notice("You disable your suit's remote sensing equipment.")) if(1) - to_chat(usr, "Your suit will now only report whether you are alive or dead.") + to_chat(usr, span_notice("Your suit will now only report whether you are alive or dead.")) if(2) - to_chat(usr, "Your suit will now only report your exact vital lifesigns.") + to_chat(usr, span_notice("Your suit will now only report your exact vital lifesigns.")) if(3) - to_chat(usr, "Your suit will now report your exact vital lifesigns as well as your coordinate position.") + to_chat(usr, span_notice("Your suit will now report your exact vital lifesigns as well as your coordinate position.")) if(ishuman(loc)) var/mob/living/carbon/human/H = loc @@ -273,12 +273,12 @@ if(!can_use(usr)) return if(!can_adjust) - to_chat(usr, "You cannot wear this suit any differently!") + to_chat(usr, span_warning("You cannot wear this suit any differently!")) return if(toggle_jumpsuit_adjust()) - to_chat(usr, "You adjust the suit to wear it more casually.") + to_chat(usr, span_notice("You adjust the suit to wear it more casually.")) else - to_chat(usr, "You adjust the suit back to normal.") + to_chat(usr, span_notice("You adjust the suit back to normal.")) if(ishuman(usr)) var/mob/living/carbon/human/H = usr H.update_inv_w_uniform() diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 8ae7fdb9944..e4e3568b6c3 100755 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -23,7 +23,7 @@ if(!attachment_slot || (U && U.body_parts_covered & attachment_slot)) return TRUE if(user) - to_chat(user, "There doesn't seem to be anywhere to put [src]...") + to_chat(user, span_warning("There doesn't seem to be anywhere to put [src]...")) /obj/item/clothing/accessory/proc/attach(obj/item/clothing/under/U, user) var/datum/component/storage/storage = GetComponent(/datum/component/storage) @@ -99,9 +99,9 @@ /obj/item/clothing/accessory/examine(mob/user) . = ..() - . += "\The [src] can be attached to a uniform. Alt-click to remove it once attached." + . += span_notice("\The [src] can be attached to a uniform. Alt-click to remove it once attached.") if(initial(above_suit)) - . += "\The [src] can be worn above or below your suit. Alt-click to toggle." + . += span_notice("\The [src] can be worn above or below your suit. Alt-click to toggle.") /obj/item/clothing/accessory/waistcoat name = "waistcoat" @@ -138,7 +138,7 @@ if(M.wear_suit) if((M.wear_suit.flags_inv & HIDEJUMPSUIT)) //Check if the jumpsuit is covered - to_chat(user, "Medals can only be pinned on jumpsuits.") + to_chat(user, span_warning("Medals can only be pinned on jumpsuits.")) return if(M.w_uniform) @@ -147,18 +147,18 @@ if(user == M) delay = 0 else - user.visible_message("[user] is trying to pin [src] on [M]'s chest.", \ - "You try to pin [src] on [M]'s chest.") + user.visible_message(span_notice("[user] is trying to pin [src] on [M]'s chest."), \ + span_notice("You try to pin [src] on [M]'s chest.")) var/input if(!commended && user != M) input = stripped_input(user,"Please input a reason for this commendation, it will be recorded by Nanotrasen.", ,"", 140) if(do_after(user, delay, target = M)) if(U.attach_accessory(src, user, 0)) //Attach it, do not notify the user of the attachment if(user == M) - to_chat(user, "You attach [src] to [U].") + to_chat(user, span_notice("You attach [src] to [U].")) else - user.visible_message("[user] pins \the [src] on [M]'s chest.", \ - "You pin \the [src] on [M]'s chest.") + user.visible_message(span_notice("[user] pins \the [src] on [M]'s chest."), \ + span_notice("You pin \the [src] on [M]'s chest.")) if(input) SSblackbox.record_feedback("associative", "commendation", 1, list("commender" = "[user.real_name]", "commendee" = "[M.real_name]", "medal" = "[src]", "reason" = input)) GLOB.commendations += "[user.real_name] awarded [M.real_name] the [name]! \n- [input]" @@ -168,7 +168,7 @@ message_admins("[key_name_admin(M)] was given the following commendation by [key_name_admin(user)]: [input]") else - to_chat(user, "Medals can only be pinned on jumpsuits!") + to_chat(user, span_warning("Medals can only be pinned on jumpsuits!")) else ..() @@ -247,7 +247,7 @@ /obj/item/clothing/accessory/medal/plasma/atmos_expose(datum/gas_mixture/air, exposed_temperature) atmos_spawn_air("plasma=20;TEMP=[exposed_temperature]") - visible_message("\The [src] bursts into flame!", "Your [src] bursts into flame!") + visible_message(span_danger("\The [src] bursts into flame!"), span_userdanger("Your [src] bursts into flame!")) qdel(src) /obj/item/clothing/accessory/medal/plasma/nobel_science @@ -312,7 +312,7 @@ /obj/item/clothing/accessory/lawyers_badge/attack_self(mob/user) if(prob(1)) user.say("The testimony contradicts the evidence!", forced = "attorney's badge") - user.visible_message("[user] shows [user.p_their()] attorney's badge.", "You show your attorney's badge.") + user.visible_message(span_notice("[user] shows [user.p_their()] attorney's badge."), span_notice("You show your attorney's badge.")) /obj/item/clothing/accessory/lawyers_badge/on_uniform_equip(obj/item/clothing/under/U, mob/living/user) RegisterSignal(user, COMSIG_LIVING_SLAM_TABLE, .proc/table_slam) diff --git a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm index d4f99186758..317501eba7b 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm @@ -16,7 +16,7 @@ /obj/item/clothing/under/plasmaman/examine(mob/user) . = ..() - . += "There are [extinguishes_left] extinguisher charges left in this suit." + . += span_notice("There are [extinguishes_left] extinguisher charges left in this suit.") /obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H) if(!istype(H)) @@ -28,7 +28,7 @@ return next_extinguish = world.time + extinguish_cooldown extinguishes_left-- - H.visible_message("[H]'s suit automatically extinguishes [H.p_them()]!","Your suit automatically extinguishes you.") + H.visible_message(span_warning("[H]'s suit automatically extinguishes [H.p_them()]!"),span_warning("Your suit automatically extinguishes you.")) H.extinguish_mob() new /obj/effect/particle_effect/water(get_turf(H)) @@ -36,10 +36,10 @@ ..() if (istype(E, /obj/item/extinguisher_refill)) if (extinguishes_left == 5) - to_chat(user, "The inbuilt extinguisher is full.") + to_chat(user, span_notice("The inbuilt extinguisher is full.")) else extinguishes_left = 5 - to_chat(user, "You refill the suit's built-in extinguisher, using up the cartridge.") + to_chat(user, span_notice("You refill the suit's built-in extinguisher, using up the cartridge.")) qdel(E) /obj/item/extinguisher_refill @@ -128,6 +128,6 @@ return next_extinguish = world.time + extinguish_cooldown extinguishes_left-- - H.visible_message("[H]'s suit spews space lube everywhere!","Your suit spews space lube everywhere!") + H.visible_message(span_warning("[H]'s suit spews space lube everywhere!"),span_warning("Your suit spews space lube everywhere!")) H.extinguish_mob() new /obj/effect/particle_effect/foam(loc) //Truely terrifying. diff --git a/code/modules/detectivework/evidence.dm b/code/modules/detectivework/evidence.dm index 10f267be2ce..e6dc5148972 100644 --- a/code/modules/detectivework/evidence.dm +++ b/code/modules/detectivework/evidence.dm @@ -29,23 +29,23 @@ return if(SEND_SIGNAL(loc, COMSIG_CONTAINS_STORAGE) && SEND_SIGNAL(I, COMSIG_CONTAINS_STORAGE)) - to_chat(user, "No matter what way you try, you can't get [I] to fit inside [src].") + to_chat(user, span_warning("No matter what way you try, you can't get [I] to fit inside [src].")) return TRUE //begone infinite storage ghosts, begone from me if(istype(I, /obj/item/evidencebag)) - to_chat(user, "You find putting an evidence bag in another evidence bag to be slightly absurd.") + to_chat(user, span_warning("You find putting an evidence bag in another evidence bag to be slightly absurd.")) return TRUE //now this is podracing if(loc in I.GetAllContents()) // fixes tg #39452, evidence bags could store their own location, causing I to be stored in the bag while being present inworld still, and able to be teleported when removed. - to_chat(user, "You find putting [I] in [src] while it's still inside it quite difficult!") + to_chat(user, span_warning("You find putting [I] in [src] while it's still inside it quite difficult!")) return if(I.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user, "[I] won't fit in [src]!") + to_chat(user, span_warning("[I] won't fit in [src]!")) return if(contents.len) - to_chat(user, "[src] already has something inside it!") + to_chat(user, span_warning("[src] already has something inside it!")) return if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up. @@ -54,8 +54,8 @@ if(!user.dropItemToGround(I)) return - user.visible_message("[user] puts [I] into [src].", "You put [I] inside [src].",\ - "You hear a rustle as someone puts something into a plastic bag.") + user.visible_message(span_notice("[user] puts [I] into [src]."), span_notice("You put [I] inside [src]."),\ + span_hear("You hear a rustle as someone puts something into a plastic bag.")) icon_state = "evidence" @@ -75,8 +75,8 @@ /obj/item/evidencebag/attack_self(mob/user) if(contents.len) var/obj/item/I = contents[1] - user.visible_message("[user] takes [I] out of [src].", "You take [I] out of [src].",\ - "You hear someone rustle around in a plastic bag, and remove something.") + user.visible_message(span_notice("[user] takes [I] out of [src]."), span_notice("You take [I] out of [src]."),\ + span_hear("You hear someone rustle around in a plastic bag, and remove something.")) cut_overlays() //remove the overlays user.put_in_hands(I) w_class = WEIGHT_CLASS_TINY @@ -84,7 +84,7 @@ desc = "An empty evidence bag." else - to_chat(user, "[src] is empty.") + to_chat(user, span_notice("[src] is empty.")) icon_state = "evidenceobj" return diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index d13c4ffba0f..e6740cb255e 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -12,7 +12,7 @@ spillable = FALSE /obj/item/reagent_containers/glass/rag/suicide_act(mob/user) - user.visible_message("[user] is smothering [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is smothering [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) /obj/item/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/living/user,proximity) @@ -25,16 +25,16 @@ var/log_object = "containing [reagentlist]" if(user.combat_mode && !C.is_mouth_covered()) reagents.trans_to(C, reagents.total_volume, transfered_by = user, methods = INGEST) - C.visible_message("[user] smothers \the [C] with \the [src]!", "[user] smothers you with \the [src]!", "You hear some struggling and muffled cries of surprise.") + C.visible_message(span_danger("[user] smothers \the [C] with \the [src]!"), span_userdanger("[user] smothers you with \the [src]!"), span_hear("You hear some struggling and muffled cries of surprise.")) log_combat(user, C, "smothered", src, log_object) else reagents.expose(C, TOUCH) reagents.clear_reagents() - C.visible_message("[user] touches \the [C] with \the [src].") + C.visible_message(span_notice("[user] touches \the [C] with \the [src].")) log_combat(user, C, "touched", src, log_object) else if(istype(A) && (src in user)) - user.visible_message("[user] starts to wipe down [A] with [src]!", "You start to wipe down [A] with [src]...") + user.visible_message(span_notice("[user] starts to wipe down [A] with [src]!"), span_notice("You start to wipe down [A] with [src]...")) if(do_after(user,30, target = A)) - user.visible_message("[user] finishes wiping off [A]!", "You finish wiping off [A].") + user.visible_message(span_notice("[user] finishes wiping off [A]!"), span_notice("You finish wiping off [A].")) A.wash(CLEAN_SCRUB) diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 0162867c9e6..6dc9d2dcb06 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -33,10 +33,10 @@ /obj/item/detective_scanner/attack_self(mob/user) if(log.len && !scanning) scanning = TRUE - to_chat(user, "Printing report, please wait...") + to_chat(user, span_notice("Printing report, please wait...")) addtimer(CALLBACK(src, .proc/PrintReport), 100) else - to_chat(user, "The scanner has no logs or is in use.") + to_chat(user, span_notice("The scanner has no logs or is in use.")) /obj/item/detective_scanner/attack(mob/living/M, mob/user) return @@ -57,7 +57,7 @@ if(ismob(loc)) var/mob/M = loc M.put_in_hands(P) - to_chat(M, "Report printed. Log cleared.") + to_chat(M, span_notice("Report printed. Log cleared.")) // Clear the logs log = list() @@ -77,8 +77,8 @@ scanning = TRUE - user.visible_message("\The [user] points the [src.name] at \the [A] and performs a forensic scan.") - to_chat(user, "You scan \the [A]. The scanner is now analysing the results...") + user.visible_message(span_notice("\The [user] points the [src.name] at \the [A] and performs a forensic scan.")) + to_chat(user, span_notice("You scan \the [A]. The scanner is now analysing the results...")) // GATHER INFORMATION @@ -126,7 +126,7 @@ // Fingerprints if(length(fingerprints)) sleep(30) - add_log("Prints:") + add_log(span_info("Prints:")) for(var/finger in fingerprints) add_log("[finger]") found_something = TRUE @@ -134,7 +134,7 @@ // Blood if (length(blood)) sleep(30) - add_log("Blood:") + add_log(span_info("Blood:")) found_something = TRUE for(var/B in blood) add_log("Type: [blood[B]] DNA (UE): [B]") @@ -142,7 +142,7 @@ //Fibers if(length(fibers)) sleep(30) - add_log("Fibers:") + add_log(span_info("Fibers:")) for(var/fiber in fibers) add_log("[fiber]") found_something = TRUE @@ -150,7 +150,7 @@ //Reagents if(length(reagents)) sleep(30) - add_log("Reagents:") + add_log(span_info("Reagents:")) for(var/R in reagents) add_log("Reagent: [R] Volume: [reagents[R]]") found_something = TRUE @@ -163,10 +163,10 @@ if(!found_something) add_log("# No forensic traces found #", 0) // Don't display this to the holder user if(holder) - to_chat(holder, "Unable to locate any fingerprints, materials, fibers, or blood on \the [target_name]!") + to_chat(holder, span_warning("Unable to locate any fingerprints, materials, fibers, or blood on \the [target_name]!")) else if(holder) - to_chat(holder, "You finish scanning \the [target_name].") + to_chat(holder, span_notice("You finish scanning \the [target_name].")) add_log("---------------------------------------------------------", 0) scanning = FALSE @@ -189,27 +189,27 @@ if(!user.canUseTopic(src, be_close=TRUE)) return if(!LAZYLEN(log)) - to_chat(user, "Cannot clear logs, the scanner has no logs.") + to_chat(user, span_notice("Cannot clear logs, the scanner has no logs.")) return if(scanning) - to_chat(user, "Cannot clear logs, the scanner is in use.") + to_chat(user, span_notice("Cannot clear logs, the scanner is in use.")) return - to_chat(user, "The scanner logs are cleared.") + to_chat(user, span_notice("The scanner logs are cleared.")) log = list() /obj/item/detective_scanner/examine(mob/user) . = ..() if(LAZYLEN(log) && !scanning) - . += "Alt-click to clear scanner logs." + . += span_notice("Alt-click to clear scanner logs.") /obj/item/detective_scanner/proc/displayDetectiveScanResults(mob/living/user) // No need for can-use checks since the action button should do proper checks if(!LAZYLEN(log)) - to_chat(user, "Cannot display logs, the scanner has no logs.") + to_chat(user, span_notice("Cannot display logs, the scanner has no logs.")) return if(scanning) - to_chat(user, "Cannot display logs, the scanner is in use.") + to_chat(user, span_notice("Cannot display logs, the scanner is in use.")) return - to_chat(user, "Scanner Report") + to_chat(user, span_notice("Scanner Report")) for(var/iterLog in log) to_chat(user, iterLog) diff --git a/code/modules/discord/accountlink.dm b/code/modules/discord/accountlink.dm index 534e47c3c09..3dae54d7742 100644 --- a/code/modules/discord/accountlink.dm +++ b/code/modules/discord/accountlink.dm @@ -6,16 +6,16 @@ // Safety checks if(!CONFIG_GET(flag/sql_enabled)) - to_chat(src, "This feature requires the SQL backend to be running.") + to_chat(src, span_warning("This feature requires the SQL backend to be running.")) return // Why this would ever be unset, who knows var/prefix = CONFIG_GET(string/discordbotcommandprefix) if(!prefix) - to_chat(src, "This feature is disabled.") + to_chat(src, span_warning("This feature is disabled.")) if(!SSdiscord || !SSdiscord.reverify_cache) - to_chat(src, "Wait for the Discord subsystem to finish initialising") + to_chat(src, span_warning("Wait for the Discord subsystem to finish initialising")) return var/message = "" // Simple sanity check to prevent a user doing this too often diff --git a/code/modules/discord/toggle_notify.dm b/code/modules/discord/toggle_notify.dm index ec0bc1f550a..98ac83e9df9 100644 --- a/code/modules/discord/toggle_notify.dm +++ b/code/modules/discord/toggle_notify.dm @@ -6,29 +6,29 @@ // Safety checks if(!CONFIG_GET(flag/sql_enabled)) - to_chat(src, "This feature requires the SQL backend to be running.") + to_chat(src, span_warning("This feature requires the SQL backend to be running.")) return if(!SSdiscord) // SS is still starting - to_chat(src, "The server is still starting up. Please wait before attempting to link your account ") + to_chat(src, span_notice("The server is still starting up. Please wait before attempting to link your account ")) return if(!SSdiscord.enabled) - to_chat(src, "This feature requires the server is running on the TGS toolkit") + to_chat(src, span_warning("This feature requires the server is running on the TGS toolkit")) return var/stored_id = SSdiscord.lookup_id(usr.ckey) if(!stored_id) // Account is not linked - to_chat(src, "This requires you to link your Discord account with the \"Link Discord Account\" verb.") + to_chat(src, span_warning("This requires you to link your Discord account with the \"Link Discord Account\" verb.")) return else // Linked for(var/member in SSdiscord.notify_members) // If they are in the list, take them out if(member == "[stored_id]") SSdiscord.notify_members -= "[stored_id]" // The list uses strings because BYOND cannot handle a 17 digit integer - to_chat(src, "You will no longer be notified when the server restarts") + to_chat(src, span_notice("You will no longer be notified when the server restarts")) return // This is necassary so it doesnt get added again, as it relies on the for loop being unsuccessful to tell us if they are in the list or not - + // If we got here, they arent in the list. Chuck 'em in! - to_chat(src, "You will now be notified when the server restarts") + to_chat(src, span_notice("You will now be notified when the server restarts")) SSdiscord.notify_members += "[stored_id]" // The list uses strings because BYOND cannot handle a 17 digit integer diff --git a/code/modules/economy/account.dm b/code/modules/economy/account.dm index de954d828dd..c01911f77a3 100644 --- a/code/modules/economy/account.dm +++ b/code/modules/economy/account.dm @@ -113,7 +113,7 @@ if(card_holder.can_hear()) card_holder.playsound_local(get_turf(card_holder), 'sound/machines/twobeep_high.ogg', 50, TRUE) - to_chat(card_holder, "[icon2html(icon_source, card_holder)] [message]") + to_chat(card_holder, "[icon2html(icon_source, card_holder)] [span_notice("[message]")]") else if(isturf(A.loc)) //If on the ground var/turf/T = A.loc for(var/mob/M in hearers(1,T)) @@ -121,7 +121,7 @@ continue if(M.can_hear()) M.playsound_local(T, 'sound/machines/twobeep_high.ogg', 50, TRUE) - to_chat(M, "[icon2html(icon_source, M)] [message]") + to_chat(M, "[icon2html(icon_source, M)] [span_notice("[message]")]") else var/atom/sound_atom for(var/mob/M in A.loc) //If inside a container with other mobs (e.g. locker) @@ -131,7 +131,7 @@ sound_atom = A.drop_location() //in case we're inside a bodybag in a crate or something. doing this here to only process it if there's a valid mob who can hear the sound. if(M.can_hear()) M.playsound_local(get_turf(sound_atom), 'sound/machines/twobeep_high.ogg', 50, TRUE) - to_chat(M, "[icon2html(icon_source, M)] [message]") + to_chat(M, "[icon2html(icon_source, M)] [span_notice("[message]")]") /** * Returns a string with the civilian bounty's description on it. diff --git a/code/modules/economy/pay_stand.dm b/code/modules/economy/pay_stand.dm index dabc42188d6..555dc4a2c30 100644 --- a/code/modules/economy/pay_stand.dm +++ b/code/modules/economy/pay_stand.dm @@ -33,7 +33,7 @@ force_fee = force_fee_input return locked = !locked - to_chat(user, "You [src.locked ? "lock" : "unlock"] the paystand, protecting the bolts from [anchored ? "loosening" : "tightening"].") + to_chat(user, span_notice("You [src.locked ? "lock" : "unlock"] the paystand, protecting the bolts from [anchored ? "loosening" : "tightening"].")) return if(!my_card) var/obj/item/card/id/new_card = W @@ -50,7 +50,7 @@ var/obj/item/card/id/pay_card = W if(pay_card.registered_account) if(!pay_card.registered_account.account_job)//Departmental budget cards like cargo's fall under this - to_chat(user, "ERROR: Personal use of department budgets is not authorized.") + to_chat(user, span_warning("ERROR: Personal use of department budgets is not authorized.")) return var/credit_amount = 0 if(!force_fee) @@ -60,7 +60,7 @@ if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(credit_amount < 1) - to_chat(user, "ERROR: Invalid amount designated.") + to_chat(user, span_warning("ERROR: Invalid amount designated.")) return if(pay_card.registered_account.adjust_money(-credit_amount)) purchase(pay_card.registered_account.account_holder, credit_amount) @@ -68,10 +68,10 @@ playsound(src, 'sound/effects/cashregister.ogg', 20, TRUE) return else - to_chat(user, "ERROR: Account has insufficient funds to make transaction.") + to_chat(user, span_warning("ERROR: Account has insufficient funds to make transaction.")) return else - to_chat(user, "ERROR: No bank account assigned to identification card.") + to_chat(user, span_warning("ERROR: No bank account assigned to identification card.")) return if(istype(W, /obj/item/holochip)) var/obj/item/holochip/H = W @@ -81,7 +81,7 @@ to_chat(user, "Thanks for purchasing! The vendor has been informed.") return else - to_chat(user, "ERROR: Insufficient funds to make transaction.") + to_chat(user, span_warning("ERROR: Insufficient funds to make transaction.")) return if(istype(W, /obj/item/stack/spacecash)) to_chat(user, "What is this, the 2000s? We only take card here.") @@ -92,15 +92,15 @@ if(istype(W, /obj/item/assembly/signaler)) var/obj/item/assembly/signaler/S = W if(S.secured) - to_chat(user, "The signaler needs to be in attachable mode to add it to the paystand!") + to_chat(user, span_warning("The signaler needs to be in attachable mode to add it to the paystand!")) return if(!my_card) - to_chat(user, "ERROR: No identification card has been assigned to this paystand yet!") + to_chat(user, span_warning("ERROR: No identification card has been assigned to this paystand yet!")) return if(!signaler) var/cash_limit = input(user, "Enter the minimum amount of cash needed to deposit before the signaler is activated.", "Signaler Activation Threshold") as null|num if(cash_limit < 1) - to_chat(user, "ERROR: Invalid amount designated.") + to_chat(user, span_warning("ERROR: Invalid amount designated.")) return if(cash_limit) S.forceMove(src) @@ -109,7 +109,7 @@ to_chat(user, "You attach the signaler to the paystand.") desc += " A signaler appears to be attached to the scanner." else - to_chat(user, "A signaler is already attached to this unit!") + to_chat(user, span_warning("A signaler is already attached to this unit!")) if(default_deconstruction_screwdriver(user, "card_scanner", "card_scanner", W)) return @@ -135,13 +135,13 @@ /obj/machinery/paystand/default_unfasten_wrench(mob/user, obj/item/I, time = 20) if(locked) - to_chat(user, "The bolts on this paystand are currently covered!") + to_chat(user, span_warning("The bolts on this paystand are currently covered!")) return FALSE . = ..() /obj/machinery/paystand/examine(mob/user) . = ..() if(force_fee) - . += "This paystand forces a payment of [force_fee] credit\s per swipe instead of a variable amount." + . += span_warning("This paystand forces a payment of [force_fee] credit\s per swipe instead of a variable amount.") if(user.get_active_held_item() == my_card) - . += "Paystands can be edited through swiping your card." + . += span_notice("Paystands can be edited through swiping your card.") diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm index a1202ad81b1..79cef6d0246 100644 --- a/code/modules/events/_event.dm +++ b/code/modules/events/_event.dm @@ -85,7 +85,7 @@ ..() if(href_list["cancel"]) if(!triggering) - to_chat(usr, "You are too late to cancel that event") + to_chat(usr, span_admin("You are too late to cancel that event")) return triggering = FALSE message_admins("[key_name_admin(usr)] cancelled event [name].") diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm index 843fb560551..d6d2dad5079 100644 --- a/code/modules/events/brand_intelligence.dm +++ b/code/modules/events/brand_intelligence.dm @@ -51,7 +51,7 @@ saved.shoot_inventory = 0 if(originMachine) originMachine.speak("I am... vanquished. My people will remem...ber...meeee.") - originMachine.visible_message("[originMachine] beeps and seems lifeless.") + originMachine.visible_message(span_notice("[originMachine] beeps and seems lifeless.")) kill() return vendingMachines = removeNullsFromList(vendingMachines) diff --git a/code/modules/events/communications_blackout.dm b/code/modules/events/communications_blackout.dm index 3ad325f9005..d9c45242989 100644 --- a/code/modules/events/communications_blackout.dm +++ b/code/modules/events/communications_blackout.dm @@ -15,7 +15,7 @@ "#4nd%;f4y6,>£%-BZZZZZZZT") for(var/mob/living/silicon/ai/A in GLOB.ai_list) //AIs are always aware of communication blackouts. - to_chat(A, "
    [alert]
    ") + to_chat(A, "
    [span_warning("[alert]")]
    ") if(prob(30) || fake) //most of the time, we don't want an announcement, so as to allow AIs to fake blackouts. priority_announce(alert) diff --git a/code/modules/events/fake_virus.dm b/code/modules/events/fake_virus.dm index e2a68a937d7..e3e2b4ff63b 100644 --- a/code/modules/events/fake_virus.dm +++ b/code/modules/events/fake_virus.dm @@ -25,7 +25,7 @@ for(var/i=1; i<=rand(1,defacto_min); i++) var/mob/living/carbon/human/onecoughman = pick(fake_virus_victims) if(prob(25))//1/4 odds to get a spooky message instead of coughing out loud - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, onecoughman, "[pick("Your head hurts.", "Your head pounds.")]"), rand(30,150)) + addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, onecoughman, span_warning("[pick("Your head hurts.", "Your head pounds.")]")), rand(30,150)) else addtimer(CALLBACK(onecoughman, .mob/proc/emote, pick("cough", "sniff", "sneeze")), rand(30,150))//deliver the message with a slightly randomized time interval so there arent multiple people coughing at the exact same time fake_virus_victims -= onecoughman diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index 7e68b26ea72..4facb481425 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -68,7 +68,7 @@ ..() if(istype(W, /obj/item/pen) || istype(W, /obj/item/toy/crayon)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") + to_chat(user, span_notice("You scribble illegibly on [src]!")) return var/recipient = stripped_input(user, "Who is receiving this valentine?", "To:", null , 20) var/sender = stripped_input(user, "Who is sending this valentine?", "From:", null , 20) @@ -87,7 +87,7 @@ user << browse("[name][message]", "window=[name]") onclose(user, "[name]") else - . += "It is too far away." + . += span_notice("It is too far away.") /obj/item/valentine/attack_self(mob/user) user.examinate(src) diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index 6adf2754598..51dfa00a0ff 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -7,7 +7,7 @@ /obj/item/toy/xmas_cracker/attack(mob/target, mob/user) if( !cracked && ishuman(target) && (target.stat == CONSCIOUS) && !target.get_active_held_item() ) - target.visible_message("[user] and [target] pop \an [src]! *pop*", "You pull \an [src] with [target]! *pop*", "You hear a pop.") + target.visible_message(span_notice("[user] and [target] pop \an [src]! *pop*"), span_notice("You pull \an [src] with [target]! *pop*"), span_hear("You hear a pop.")) var/obj/item/paper/Joke = new /obj/item/paper(user.loc) Joke.name = "[pick("awful","terrible","unfunny")] joke" Joke.info = pick("What did one snowman say to the other?\n\n'Is it me or can you smell carrots?'", diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index 1467af22dbf..7203946dda1 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -103,7 +103,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 return if(!num_mobs_hit) - . += "So far, this rod has not hit any mobs." + . += span_notice("So far, this rod has not hit any mobs.") return . += "\tSo far, this rod has hit: \n\ @@ -130,7 +130,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 /obj/effect/immovablerod/Moved() if(!loc) return ..() - + for(var/atom/movable/to_bump in loc) if((to_bump != src) && !QDELETED(to_bump) && (to_bump.density || isliving(to_bump))) Bump(to_bump) @@ -146,14 +146,14 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 var/direction = z_diff > 0 ? UP : DOWN var/turf/target_z_turf = get_step_multiz(src, direction) - visible_message("[src] phases out of reality.") + visible_message(span_danger("[src] phases out of reality.")) if(!do_teleport(src, target_z_turf)) // We failed to teleport. Might as well admit defeat. qdel(src) return - visible_message("[src] phases into reality.") + visible_message(span_danger("[src] phases into reality.")) walk_towards(src, special_target, 1) if(loc == target_turf) @@ -198,7 +198,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 /obj/effect/immovablerod/Bump(atom/clong) if(prob(10)) playsound(src, 'sound/effects/bang.ogg', 50, TRUE) - audible_message("You hear a CLANG!") + audible_message(span_danger("You hear a CLANG!")) if(special_target && clong == special_target) complete_trajectory() @@ -206,7 +206,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 // If rod meets rod, they collapse into a singularity. Yes, this means that if two wizard rods collide, // they ALSO collapse into a singulo. if(istype(clong, /obj/effect/immovablerod)) - visible_message("[src] collides with [clong]! This cannot end well.") + visible_message(span_danger("[src] collides with [clong]! This cannot end well.")) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(2, get_turf(src)) smoke.start() @@ -239,7 +239,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 CRASH("[src] Bump()ed into non-atom thing [clong] ([clong.type])") /obj/effect/immovablerod/proc/penetrate(mob/living/smeared_mob) - smeared_mob.visible_message("[smeared_mob] is penetrated by an immovable rod!" , "The rod penetrates you!" , "You hear a CLANG!") + smeared_mob.visible_message(span_danger("[smeared_mob] is penetrated by an immovable rod!") , span_userdanger("The rod penetrates you!") , span_danger("You hear a CLANG!")) if(smeared_mob.stat != DEAD) num_mobs_hit++ @@ -275,14 +275,14 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 shake_camera(M, 2, 3) if(wizard) - user.visible_message("[src] transforms into [wizard] as [user] suplexes them!", "As you grab [src], it suddenly turns into [wizard] as you suplex them!") - to_chat(wizard, "You're suddenly jolted out of rod-form as [user] somehow manages to grab you, slamming you into the ground!") + user.visible_message(span_boldwarning("[src] transforms into [wizard] as [user] suplexes them!"), span_warning("As you grab [src], it suddenly turns into [wizard] as you suplex them!")) + to_chat(wizard, span_boldwarning("You're suddenly jolted out of rod-form as [user] somehow manages to grab you, slamming you into the ground!")) wizard.Stun(60) wizard.apply_damage(25, BRUTE) qdel(src) else user.client.give_award(/datum/award/achievement/misc/feat_of_strength, user) //rod-form wizards would probably make this a lot easier to get so keep it to regular rods only - user.visible_message("[user] suplexes [src] into the ground!", "You suplex [src] into the ground!") + user.visible_message(span_boldwarning("[user] suplexes [src] into the ground!"), span_warning("You suplex [src] into the ground!")) new /obj/structure/festivus/anchored(drop_location()) new /obj/effect/anomaly/flux(drop_location()) qdel(src) diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm index 6cc0b6b2840..2dfe053c3ec 100644 --- a/code/modules/events/pirates.dm +++ b/code/modules/events/pirates.dm @@ -150,8 +150,8 @@ SSshuttle.registerTradeBlockade(src) AddComponent(/datum/component/gps, "Nautical Signal") active = TRUE - to_chat(user,"You toggle [src] [active ? "on":"off"].") - to_chat(user,"The scrambling signal can be now tracked by GPS.") + to_chat(user,span_notice("You toggle [src] [active ? "on":"off"].")) + to_chat(user,span_warning("The scrambling signal can be now tracked by GPS.")) START_PROCESSING(SSobj,src) /obj/machinery/shuttle_scrambler/interact(mob/user) @@ -177,10 +177,10 @@ /obj/machinery/shuttle_scrambler/proc/dump_loot(mob/user) if(credits_stored) // Prevents spamming empty holochips new /obj/item/holochip(drop_location(), credits_stored) - to_chat(user,"You retrieve the siphoned credits!") + to_chat(user,span_notice("You retrieve the siphoned credits!")) credits_stored = 0 else - to_chat(user,"There's nothing to withdraw.") + to_chat(user,span_notice("There's nothing to withdraw.")) /obj/machinery/shuttle_scrambler/proc/send_notification() priority_announce("Data theft signal detected, source registered on local gps units.") @@ -238,7 +238,7 @@ /obj/machinery/loot_locator/interact(mob/user) if(world.time <= next_use) - to_chat(user,"[src] is recharging.") + to_chat(user,span_warning("[src] is recharging.")) return next_use = world.time + cooldown var/atom/movable/AM = find_random_loot() @@ -273,7 +273,7 @@ /obj/machinery/piratepad/multitool_act(mob/living/user, obj/item/multitool/I) . = ..() if (istype(I)) - to_chat(user, "You register [src] in [I]s buffer.") + to_chat(user, span_notice("You register [src] in [I]s buffer.")) I.buffer = src return TRUE @@ -295,7 +295,7 @@ /obj/machinery/computer/piratepad_control/multitool_act(mob/living/user, obj/item/multitool/I) . = ..() if (istype(I) && istype(I.buffer,/obj/machinery/piratepad)) - to_chat(user, "You link [src] with [I.buffer] in [I] buffer.") + to_chat(user, span_notice("You link [src] with [I.buffer] in [I] buffer.")) pad = I.buffer return TRUE @@ -397,7 +397,7 @@ if(!value) status_report += "Nothing" - pad.visible_message("[pad] activates!") + pad.visible_message(span_notice("[pad] activates!")) flick(pad.sending_state,pad) pad.icon_state = pad.idle_state sending = FALSE @@ -407,7 +407,7 @@ return sending = TRUE status_report = "Sending... " - pad.visible_message("[pad] starts charging up.") + pad.visible_message(span_notice("[pad] starts charging up.")) pad.icon_state = pad.warmup_state sending_timer = addtimer(CALLBACK(src,.proc/send),warmup_time, TIMER_STOPPABLE) diff --git a/code/modules/events/processor_overload.dm b/code/modules/events/processor_overload.dm index 4ce140b6b85..777dabf91ad 100644 --- a/code/modules/events/processor_overload.dm +++ b/code/modules/events/processor_overload.dm @@ -17,7 +17,7 @@ for(var/mob/living/silicon/ai/A in GLOB.ai_list) //AIs are always aware of processor overload - to_chat(A, "
    [alert]
    ") + to_chat(A, "
    [span_warning("[alert]")]
    ") // Announce most of the time, but leave a little gap so people don't know // whether it's, say, a tesla zapping tcomms, or some selective diff --git a/code/modules/events/sentience.dm b/code/modules/events/sentience.dm index 556caf3056c..1b9dd30a803 100644 --- a/code/modules/events/sentience.dm +++ b/code/modules/events/sentience.dm @@ -94,7 +94,7 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list( spawned_mobs += SA - to_chat(SA, "Hello world!") + to_chat(SA, span_userdanger("Hello world!")) to_chat(SA, "Due to freak radiation and/or chemicals \ and/or lucky chance, you have gained human level intelligence \ and the ability to speak and understand human language!") diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index ddceddd8912..0e3f2376256 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -94,7 +94,7 @@ if(issilicon(crosser)) return if(prob(severity) && istype(crosser) && !isvineimmune(crosser)) - to_chat(crosser, "You accidentally touch the vine and feel a strange sensation.") + to_chat(crosser, span_alert("You accidentally touch the vine and feel a strange sensation.")) crosser.adjustToxLoss(5) /datum/spacevine_mutation/toxicity/on_eat(obj/structure/spacevine/holder, mob/living/eater) @@ -168,16 +168,16 @@ C.apply_damage(50, BRUTE, def_zone = limb, wound_bonus = rand(-20,10), sharpness = SHARP_POINTY) //This one gets a bit lower damage because it ignores armor. C.Stun(1 SECONDS) //Stopped in place for a moment. playsound(M, 'sound/weapons/pierce.ogg', 50, TRUE, -1) - M.visible_message("[M] is nailed by a sharp thorn!", \ - "You are nailed by a sharp thorn!") + M.visible_message(span_danger("[M] is nailed by a sharp thorn!"), \ + span_userdanger("You are nailed by a sharp thorn!")) log_combat(S, M, "aggressively pierced") //"Aggressively" for easy ctrl+F'ing in the attack logs. else if(prob(80)) C.apply_damage(60, BRUTE, def_zone = limb, blocked = armor, wound_bonus = rand(-20,10), sharpness = SHARP_EDGED) C.Knockdown(2 SECONDS) playsound(M, 'sound/weapons/whip.ogg', 50, TRUE, -1) - M.visible_message("[M] is lacerated by an outburst of vines!", \ - "You are lacerated by an outburst of vines!") + M.visible_message(span_danger("[M] is lacerated by an outburst of vines!"), \ + span_userdanger("You are lacerated by an outburst of vines!")) log_combat(S, M, "aggressively lacerated") else C.apply_damage(60, BRUTE, def_zone = limb, blocked = armor, wound_bonus = rand(-20,10), sharpness = NONE) @@ -185,14 +185,14 @@ var/atom/throw_target = get_edge_target_turf(C, get_dir(S, get_step_away(C, S))) C.throw_at(throw_target, 3, 6) playsound(M, 'sound/effects/hit_kick.ogg', 50, TRUE, -1) - M.visible_message("[M] is smashed by a large vine!", \ - "You are smashed by a large vine!") + M.visible_message(span_danger("[M] is smashed by a large vine!"), \ + span_userdanger("You are smashed by a large vine!")) log_combat(S, M, "aggressively smashed") else //Living but not a carbon? Maybe a silicon? Can't be wounded so have a big chunk of simple bruteloss with no special effects. They can be entangled. M.adjustBruteLoss(75) playsound(M, 'sound/weapons/whip.ogg', 50, TRUE, -1) - M.visible_message("[M] is brutally threshed by [S]!", \ - "You are brutally threshed by [S]!") + M.visible_message(span_danger("[M] is brutally threshed by [S]!"), \ + span_userdanger("You are brutally threshed by [S]!")) log_combat(S, M, "aggressively spread into") //You aren't being attacked by the vines. You just happen to stand in their way. /datum/spacevine_mutation/transparency @@ -274,13 +274,13 @@ if(prob(severity) && istype(crosser) && !isvineimmune(crosser)) var/mob/living/M = crosser M.adjustBruteLoss(5) - to_chat(M, "You cut yourself on the thorny vines.") + to_chat(M, span_alert("You cut yourself on the thorny vines.")) /datum/spacevine_mutation/thorns/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage) if(prob(severity) && istype(hitter) && !isvineimmune(hitter)) var/mob/living/M = hitter M.adjustBruteLoss(5) - to_chat(M, "You cut yourself on the thorny vines.") + to_chat(M, span_alert("You cut yourself on the thorny vines.")) . = expected_damage /datum/spacevine_mutation/woodening @@ -549,7 +549,7 @@ for(var/datum/spacevine_mutation/SM in mutations) SM.on_buckle(src, V) if((V.stat != DEAD) && (V.buckled != src)) //not dead or captured - to_chat(V, "The vines [pick("wind", "tangle", "tighten")] around you!") + to_chat(V, span_danger("The vines [pick("wind", "tangle", "tighten")] around you!")) buckle_mob(V, 1) /// Finds a target tile to spread to. If checks pass it will spread to it and also proc on_spread on target. diff --git a/code/modules/events/wizard/aid.dm b/code/modules/events/wizard/aid.dm index 8525674e07a..d055cc7c3d1 100644 --- a/code/modules/events/wizard/aid.dm +++ b/code/modules/events/wizard/aid.dm @@ -18,7 +18,7 @@ S.clothes_req = 0 spell_improved = TRUE if(spell_improved) - to_chat(L, "You suddenly feel like you never needed those garish robes in the first place...") + to_chat(L, span_notice("You suddenly feel like you never needed those garish robes in the first place...")) //--// @@ -55,4 +55,4 @@ if(5) S.name = "Ludicrous [S.name]" - to_chat(L, "You suddenly feel more competent with your casting!") + to_chat(L, span_notice("You suddenly feel more competent with your casting!")) diff --git a/code/modules/events/wizard/ghost.dm b/code/modules/events/wizard/ghost.dm index c288953efb0..5db01bc93e3 100644 --- a/code/modules/events/wizard/ghost.dm +++ b/code/modules/events/wizard/ghost.dm @@ -6,7 +6,7 @@ earliest_start = 0 MINUTES /datum/round_event/wizard/ghost/start() - var/msg = "You suddenly feel extremely obvious..." + var/msg = span_warning("You suddenly feel extremely obvious...") set_observer_default_invisibility(0, msg) diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index e4bad396963..f908e05335d 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -42,7 +42,7 @@ to_chat(user, "So long as you leave this place with greentext in hand you know will be happy...") var/list/other_objectives = user.mind.get_all_objectives() if(user.mind && other_objectives.len > 0) - to_chat(user, "... so long as you still perform your other objectives that is!") + to_chat(user, span_warning("... so long as you still perform your other objectives that is!")) new_holder = user if(!last_holder) last_holder = user @@ -54,7 +54,7 @@ /obj/item/greentext/dropped(mob/living/user as mob) if(user in color_altered_mobs) - to_chat(user, "A sudden wave of failure washes over you...") + to_chat(user, span_warning("A sudden wave of failure washes over you...")) user.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY) //ya blew it last_holder = null new_holder = null @@ -75,7 +75,7 @@ /obj/item/greentext/process() if(last_holder && last_holder != new_holder) //Somehow it was swiped without ever getting dropped - to_chat(last_holder, "A sudden wave of failure washes over you...") + to_chat(last_holder, span_warning("A sudden wave of failure washes over you...")) last_holder.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY) last_holder = new_holder //long live the king diff --git a/code/modules/events/wizard/invincible.dm b/code/modules/events/wizard/invincible.dm index b69d1541ee6..1bcde77cb37 100644 --- a/code/modules/events/wizard/invincible.dm +++ b/code/modules/events/wizard/invincible.dm @@ -9,4 +9,4 @@ for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) H.reagents.add_reagent(/datum/reagent/medicine/adminordrazine, 40) //100 ticks of absolute invinciblity (barring gibs) - to_chat(H, "You feel invincible, nothing can hurt you!") + to_chat(H, span_notice("You feel invincible, nothing can hurt you!")) diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm index 9d7076d30a6..c00f44ea74e 100644 --- a/code/modules/events/wizard/race.dm +++ b/code/modules/events/wizard/race.dm @@ -24,6 +24,6 @@ var/mob/living/carbon/human/H = i H.set_species(new_species) H.dna.unique_enzymes = H.dna.generate_unique_enzymes() - to_chat(H, "You feel somehow... different?") + to_chat(H, span_notice("You feel somehow... different?")) if(!all_the_same) new_species = pick(all_species) diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index 0cce25b46c5..3cb89cbe1d2 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -29,7 +29,7 @@ uses -= 1 if(!uses) - visible_message("[src] vanishes, its magic completely consumed from the fortification.") + visible_message(span_warning("[src] vanishes, its magic completely consumed from the fortification.")) qdel(src) /obj/item/upgradescroll/unlimited diff --git a/code/modules/experisci/destructive_scanner.dm b/code/modules/experisci/destructive_scanner.dm index b572193cb42..862ddd37035 100644 --- a/code/modules/experisci/destructive_scanner.dm +++ b/code/modules/experisci/destructive_scanner.dm @@ -88,7 +88,7 @@ return obj_flags |= EMAGGED playsound(src, "sparks", 75, TRUE, SILENCED_SOUND_EXTRARANGE) - to_chat(user, "You disable the safety sensor BIOS on [src].") + to_chat(user, span_notice("You disable the safety sensor BIOS on [src].")) /obj/machinery/destructive_scanner/update_icon_state() . = ..() diff --git a/code/modules/experisci/experiment/handlers/experiment_handler.dm b/code/modules/experisci/experiment/handlers/experiment_handler.dm index 88658e7704a..8bcdb60dbdd 100644 --- a/code/modules/experisci/experiment/handlers/experiment_handler.dm +++ b/code/modules/experisci/experiment/handlers/experiment_handler.dm @@ -101,7 +101,7 @@ if (!proximity_flag || (selected_experiment == null && !(config_flags & EXPERIMENT_CONFIG_ALWAYS_ACTIVE))) return playsound(user, 'sound/machines/buzz-sigh.ogg', 25) - to_chat(user, "[target] is not related to your currently selected experiment.") + to_chat(user, span_notice("[target] is not related to your currently selected experiment.")) /** * Checks that an experiment can be run using the provided target, used for preventing the cancellation of the attack chain inappropriately @@ -126,16 +126,16 @@ */ /datum/component/experiment_handler/proc/try_run_handheld_experiment_async(datum/source, atom/target, mob/user, params) if (selected_experiment == null && !(config_flags & EXPERIMENT_CONFIG_ALWAYS_ACTIVE)) - to_chat(user, "You do not have an experiment selected!") + to_chat(user, span_notice("You do not have an experiment selected!")) return if(!do_after(user, 1 SECONDS, target = target)) return if(action_experiment(source, target)) playsound(user, 'sound/machines/ping.ogg', 25) - to_chat(user, "You scan [target].") + to_chat(user, span_notice("You scan [target].")) else playsound(user, 'sound/machines/buzz-sigh.ogg', 25) - to_chat(user, "[target] is not related to your currently selected experiment.") + to_chat(user, span_notice("[target] is not related to your currently selected experiment.")) /** @@ -146,7 +146,7 @@ var/atom/movable/our_scanner = parent if (selected_experiment == null) playsound(our_scanner, 'sound/machines/buzz-sigh.ogg', 25) - to_chat(our_scanner, "No experiment selected!") + to_chat(our_scanner, span_notice("No experiment selected!")) return var/successful_scan for(var/scan_target in scanned_atoms) @@ -155,7 +155,7 @@ break if(successful_scan) playsound(our_scanner, 'sound/machines/ping.ogg', 25) - to_chat(our_scanner, "The scan succeeds.") + to_chat(our_scanner, span_notice("The scan succeeds.")) else playsound(src, 'sound/machines/buzz-sigh.ogg', 25) our_scanner.say("The scan did not result in anything.") diff --git a/code/modules/explorer_drone/exodrone.dm b/code/modules/explorer_drone/exodrone.dm index 2bc3916c68d..a4c71df2062 100644 --- a/code/modules/explorer_drone/exodrone.dm +++ b/code/modules/explorer_drone/exodrone.dm @@ -354,7 +354,7 @@ GLOBAL_LIST_EMPTY(exodrone_launchers) /obj/machinery/exodrone_launcher/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/fuel_pellet)) if(fuel_canister) - to_chat(user, "There's already a fuel tank inside [src]!") + to_chat(user, span_warning("There's already a fuel tank inside [src]!")) return TRUE if(!user.transferItemToLoc(I, src)) return @@ -369,7 +369,7 @@ GLOBAL_LIST_EMPTY(exodrone_launchers) /obj/machinery/exodrone_launcher/crowbar_act(mob/living/user, obj/item/I) . = ..() if(fuel_canister) - to_chat(user, "You remove the fuel tank from [src].") + to_chat(user, span_notice("You remove the fuel tank from [src].")) fuel_canister.forceMove(drop_location()) fuel_canister = null diff --git a/code/modules/explorer_drone/loot.dm b/code/modules/explorer_drone/loot.dm index 1e80fcb03c9..beebc4d7fb2 100644 --- a/code/modules/explorer_drone/loot.dm +++ b/code/modules/explorer_drone/loot.dm @@ -124,10 +124,10 @@ GLOBAL_LIST_INIT(adventure_loot_generator_index,generate_generator_index()) /obj/item/trade_chip/proc/try_to_unlock_contract(mob/user) var/datum/supply_pack/pack_singleton = SSshuttle.supply_packs[unlocked_pack_type] if(!unlocked_pack_type || !pack_singleton || !pack_singleton.special) - to_chat(user,"This chip is invalid!") + to_chat(user,span_danger("This chip is invalid!")) return pack_singleton.special_enabled = TRUE - to_chat(user,"Contract accepted into nanotrasen supply database.") + to_chat(user,span_notice("Contract accepted into nanotrasen supply database.")) qdel(src) @@ -161,14 +161,14 @@ GLOBAL_LIST_INIT(adventure_loot_generator_index,generate_generator_index()) /obj/item/firelance/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(!HAS_TRAIT(src,TRAIT_WIELDED)) - to_chat(user,"You need to wield [src] in two hands before you can fire it.") + to_chat(user,span_notice("You need to wield [src] in two hands before you can fire it.")) return if(LAZYACCESS(user.do_afters, "firelance")) return if(!cell.use(charge_per_use)) - to_chat(user,"[src] battery ran dry!") + to_chat(user,span_warning("[src] battery ran dry!")) ADD_TRAIT(user,TRAIT_IMMOBILIZED,src) - to_chat(user,"You begin to charge [src]") + to_chat(user,span_notice("You begin to charge [src]")) inhand_icon_state = "firelance_charging" user.update_inv_hands() if(do_after(user,windup_time,interaction_key="firelance",extra_checks = CALLBACK(src, .proc/windup_checks))) diff --git a/code/modules/fields/fields.dm b/code/modules/fields/fields.dm index beabc526c9d..311a25d4452 100644 --- a/code/modules/fields/fields.dm +++ b/code/modules/fields/fields.dm @@ -296,7 +296,7 @@ /obj/item/multitool/field_debug/attack_self(mob/user) operating = !operating - to_chat(user, "You turn [src] [operating? "on":"off"].") + to_chat(user, span_notice("You turn [src] [operating? "on":"off"].")) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) listeningTo = null if(!istype(current) && operating) diff --git a/code/modules/fields/peaceborg_dampener.dm b/code/modules/fields/peaceborg_dampener.dm index c3edae0050c..e6ffc3ec9ce 100644 --- a/code/modules/fields/peaceborg_dampener.dm +++ b/code/modules/fields/peaceborg_dampener.dm @@ -41,7 +41,7 @@ for(var/mob/living/silicon/robot/R in range(current_range, get_turf(host))) if(R.has_buckled_mobs()) for(var/mob/living/L in R.buckled_mobs) - L.visible_message("[L] is knocked off of [R] by the charge in [R]'s chassis induced by [name]!") //I know it's bad. + L.visible_message(span_warning("[L] is knocked off of [R] by the charge in [R]'s chassis induced by [name]!")) //I know it's bad. L.Paralyze(10) R.unbuckle_mob(L) do_sparks(5, 0, L) diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index 4b1e181d656..dc9ffc631c8 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -62,7 +62,7 @@ return var/next_message = dream_fragments[1] dream_fragments.Cut(1,2) - to_chat(src, "... [next_message] ...") + to_chat(src, span_notice("... [next_message] ...")) if(LAZYLEN(dream_fragments)) addtimer(CALLBACK(src, .proc/dream_sequence, dream_fragments), rand(10,30)) else diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index f3cab8cfee2..9207af23c26 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -254,7 +254,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( update_icon(ALL, "alienh_pounce") if(hit_atom == target && target.stat!=DEAD) target.Paralyze(100) - target.visible_message("[target] flails around wildly.","[name] pounces on you!") + target.visible_message(span_danger("[target] flails around wildly."),span_userdanger("[name] pounces on you!")) // The numbers of seconds it takes to get to each stage of the xeno attack choreography #define XENO_ATTACK_STAGE_LEAP_AT_TARGET 1 @@ -289,10 +289,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( if (time_processing >= stage) switch (time_processing) if (XENO_ATTACK_STAGE_FINISH to INFINITY) - to_chat(target, "[xeno.name] scrambles into the ventilation ducts!") + to_chat(target, span_notice("[xeno.name] scrambles into the ventilation ducts!")) qdel(src) if (XENO_ATTACK_STAGE_CLIMB to XENO_ATTACK_STAGE_FINISH) - to_chat(target, "[xeno.name] begins climbing into the ventilation system...") + to_chat(target, span_notice("[xeno.name] begins climbing into the ventilation system...")) stage = XENO_ATTACK_STAGE_FINISH if (XENO_ATTACK_STAGE_LEAP_AT_PUMP to XENO_ATTACK_STAGE_CLIMB) xeno.update_icon(ALL, "alienh_leap", 'icons/mob/alienleap.dmi', -32, -32) @@ -390,7 +390,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.adjustStaminaLoss(40) step_away(target, bubblegum) shake_camera(target, 4, 3) - target.visible_message("[target] jumps backwards, falling on the ground!","[bubblegum] slams into you!") + target.visible_message(span_warning("[target] jumps backwards, falling on the ground!"),span_userdanger("[bubblegum] slams into you!")) next_action = 0.2 else STOP_PROCESSING(SSfastprocess, src) @@ -714,7 +714,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( A.override = 1 if(target.client) if(wabbajack) - to_chat(target, "...wabbajack...wabbajack...") + to_chat(target, span_hear("...wabbajack...wabbajack...")) target.playsound_local(target,'sound/magic/staff_change.ogg', 50, 1) delusion = A target.client.images |= A @@ -888,7 +888,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(other) if(close_other) //increase the odds for(var/i in 1 to 5) - message_pool.Add("You feel a tiny prick!") + message_pool.Add(span_warning("You feel a tiny prick!")) var/obj/item/storage/equipped_backpack = other.get_item_by_slot(ITEM_SLOT_BACK) if(istype(equipped_backpack)) for(var/i in 1 to 5) //increase the odds @@ -902,19 +902,19 @@ GLOBAL_LIST_INIT(hallucination_list, list( message_pool.Add("[other] [pick("sneezes","coughs")].") - message_pool.Add("You hear something squeezing through the ducts...", \ - "Your [pick("arm", "leg", "back", "head")] itches.",\ - "You feel [pick("hot","cold","dry","wet","woozy","faint")].", - "Your stomach rumbles.", - "Your head hurts.", - "You hear a faint buzz in your head.", + message_pool.Add(span_notice("You hear something squeezing through the ducts..."), \ + span_notice("Your [pick("arm", "leg", "back", "head")] itches."),\ + span_warning("You feel [pick("hot","cold","dry","wet","woozy","faint")]."), + span_warning("Your stomach rumbles."), + span_warning("Your head hurts."), + span_warning("You hear a faint buzz in your head."), "[target] sneezes.") if(prob(10)) - message_pool.Add("Behind you.",\ - "You hear a faint laughter.", - "You see something move.", - "You hear skittering on the ceiling.", - "You see an inhumanly tall silhouette moving in the distance.") + message_pool.Add(span_warning("Behind you."),\ + span_warning("You hear a faint laughter."), + span_warning("You see something move."), + span_warning("You hear skittering on the ceiling."), + span_warning("You see an inhumanly tall silhouette moving in the distance.")) if(prob(10)) message_pool.Add("[pick_list_replacements(HAL_LINES_FILE, "advice")]") var/chosen = pick(message_pool) @@ -1050,7 +1050,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( switch(message) if("blob alert") to_chat(target, "

    Biohazard Alert

    ") - to_chat(target, "

    Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.

    ") + to_chat(target, "

    [span_alert("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.")]

    ") SEND_SOUND(target, SSstation.announcer.event_sounds[ANNOUNCER_OUTBREAK5]) if("ratvar") target.playsound_local(target, 'sound/machines/clockcult/ark_deathrattle.ogg', 50, FALSE, pressure_affected = FALSE) @@ -1069,19 +1069,19 @@ GLOBAL_LIST_INIT(hallucination_list, list( ), 27) if("shuttle dock") to_chat(target, "

    Priority Announcement

    ") - to_chat(target, "

    The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.

    ") + to_chat(target, "

    [span_alert("The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.")]

    ") SEND_SOUND(target, SSstation.announcer.event_sounds[ANNOUNCER_SHUTTLEDOCK]) if("malf ai") //AI is doomsdaying! to_chat(target, "

    Anomaly Alert

    ") - to_chat(target, "

    Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.

    ") + to_chat(target, "

    [span_alert("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.")]

    ") SEND_SOUND(target, SSstation.announcer.event_sounds[ANNOUNCER_AIMALF]) if("meteors") //Meteors inbound! to_chat(target, "

    Meteor Alert

    ") - to_chat(target, "

    Meteors have been detected on collision course with the station.

    ") + to_chat(target, "

    [span_alert("Meteors have been detected on collision course with the station.")]

    ") SEND_SOUND(target, SSstation.announcer.event_sounds[ANNOUNCER_METEORS]) if("supermatter") SEND_SOUND(target, 'sound/magic/charge.ogg') - to_chat(target, "You feel reality distort for a moment...") + to_chat(target, span_boldannounce("You feel reality distort for a moment...")) /datum/hallucination/hudscrew @@ -1363,9 +1363,9 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(AM == target) if(istype(target, /obj/effect/dummy/phased_mob)) return - to_chat(target, "You fall into the chasm!") + to_chat(target, span_userdanger("You fall into the chasm!")) target.Paralyze(40) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, target, "It's surprisingly shallow."), 15) + addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, target, span_notice("It's surprisingly shallow.")), 15) QDEL_IN(src, 30) /obj/effect/hallucination/danger/anomaly @@ -1405,7 +1405,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.set_screwyhud(SCREWYHUD_DEAD) target.Paralyze(300) target.silent += 10 - to_chat(target, "[target.real_name] has died at [get_area_name(target)].") + to_chat(target, span_deadsay("[target.real_name] has died at [get_area_name(target)].")) var/delay = 0 @@ -1453,7 +1453,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( fire_overlay = image('icons/mob/OnFire.dmi', target, "Standing", ABOVE_MOB_LAYER) if(target.client) target.client.images += fire_overlay - to_chat(target, "You're set on fire!") + to_chat(target, span_userdanger("You're set on fire!")) target.throw_alert("fire", /atom/movable/screen/alert/fire, override = TRUE) times_to_lower_stamina = rand(5, 10) addtimer(CALLBACK(src, .proc/start_expanding), 20) @@ -1535,7 +1535,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( shock_image.override = TRUE electrocution_skeleton_anim = image('icons/mob/human.dmi', target, icon_state = "electrocuted_base", layer=ABOVE_MOB_LAYER) electrocution_skeleton_anim.appearance_flags |= RESET_COLOR|KEEP_APART - to_chat(target, "You feel a powerful shock course through your body!") + to_chat(target, span_userdanger("You feel a powerful shock course through your body!")) if(target.client) target.client.images |= shock_image target.client.images |= electrocution_skeleton_anim diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 70b93557dae..74d737b5aa5 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -18,31 +18,31 @@ /obj/item/reagent_containers/food/drinks/attack(mob/living/M, mob/user, def_zone) if(!reagents || !reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return FALSE if(!canconsume(M, user)) return FALSE if (!is_drainable()) - to_chat(user, "[src]'s lid hasn't been opened!") + to_chat(user, span_warning("[src]'s lid hasn't been opened!")) return FALSE if(M == user) - user.visible_message("[user] swallows a gulp of [src].", \ - "You swallow a gulp of [src].") + user.visible_message(span_notice("[user] swallows a gulp of [src]."), \ + span_notice("You swallow a gulp of [src].")) if(HAS_TRAIT(M, TRAIT_VORACIOUS)) M.changeNext_move(CLICK_CD_MELEE * 0.5) //chug! chug! chug! else - M.visible_message("[user] attempts to feed [M] the contents of [src].", \ - "[user] attempts to feed you the contents of [src].") + M.visible_message(span_danger("[user] attempts to feed [M] the contents of [src]."), \ + span_userdanger("[user] attempts to feed you the contents of [src].")) if(!do_mob(user, M)) return if(!reagents || !reagents.total_volume) return // The drink might be empty after the delay, such as by spam-feeding - M.visible_message("[user] fed [M] the contents of [src].", \ - "[user] fed you the contents of [src].") + M.visible_message(span_danger("[user] fed [M] the contents of [src]."), \ + span_userdanger("[user] fed you the contents of [src].")) log_combat(user, M, "fed", reagents.log_list()) SEND_SIGNAL(src, COMSIG_DRINK_DRANK, M, user) @@ -79,16 +79,16 @@ if(target.is_refillable() && is_drainable()) //Something like a glass. Player probably wants to transfer TO it. if(!reagents.total_volume) - to_chat(user, "[src] is empty.") + to_chat(user, span_warning("[src] is empty.")) return if(target.reagents.holder_full()) - to_chat(user, "[target] is full.") + to_chat(user, span_warning("[target] is full.")) return var/refill = reagents.get_master_reagent_id() var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You transfer [trans] units of the solution to [target].") + to_chat(user, span_notice("You transfer [trans] units of the solution to [target].")) if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves (and only with consumable drinks), but drain the borg's cell if (!ispath(refill, /datum/reagent/consumable)) @@ -99,25 +99,25 @@ else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. if (!is_refillable()) - to_chat(user, "[src]'s tab isn't open!") + to_chat(user, span_warning("[src]'s tab isn't open!")) return if(!target.reagents.total_volume) - to_chat(user, "[target] is empty.") + to_chat(user, span_warning("[target] is empty.")) return if(reagents.holder_full()) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You fill [src] with [trans] units of the contents of [target].") + to_chat(user, span_notice("You fill [src] with [trans] units of the contents of [target].")) /obj/item/reagent_containers/food/drinks/attackby(obj/item/I, mob/user, params) var/hotness = I.get_temperature() if(hotness && reagents) reagents.expose_temperature(hotness) - to_chat(user, "You heat [name] with [I]!") + to_chat(user, span_notice("You heat [name] with [I]!")) //Cooling method if(istype(I, /obj/item/extinguisher)) @@ -125,11 +125,11 @@ if(extinguisher.safety) return if(extinguisher.reagents.total_volume < 1) - to_chat(user, "\The [extinguisher] is empty!") + to_chat(user, span_warning("\The [extinguisher] is empty!")) return var/cooling = (0 - reagents.chem_temp) * (extinguisher.cooling_power * 2) reagents.expose_temperature(cooling) - to_chat(user, "You cool the [name] with the [I]!") + to_chat(user, span_notice("You cool the [name] with the [I]!")) playsound(loc, 'sound/effects/extinguish.ogg', 75, TRUE, -3) extinguisher.reagents.remove_all(1) ..() @@ -323,16 +323,16 @@ /obj/item/reagent_containers/food/drinks/waterbottle/examine(mob/user) . = ..() if(cap_lost) - . += "The cap seems to be missing." + . += span_notice("The cap seems to be missing.") else if(cap_on) - . += "The cap is firmly on to prevent spilling. Alt-click to remove the cap." + . += span_notice("The cap is firmly on to prevent spilling. Alt-click to remove the cap.") else - . += "The cap has been taken off. Alt-click to put a cap on." + . += span_notice("The cap has been taken off. Alt-click to put a cap on.") /obj/item/reagent_containers/food/drinks/waterbottle/AltClick(mob/user) . = ..() if(cap_lost) - to_chat(user, "The cap seems to be missing! Where did it go?") + to_chat(user, span_warning("The cap seems to be missing! Where did it go?")) return var/fumbled = HAS_TRAIT(user, TRAIT_CLUMSY) && prob(5) @@ -341,14 +341,14 @@ spillable = TRUE animate(src, transform = null, time = 2, loop = 0) if(fumbled) - to_chat(user, "You fumble with [src]'s cap! The cap falls onto the ground and simply vanishes. Where the hell did it go?") + to_chat(user, span_warning("You fumble with [src]'s cap! The cap falls onto the ground and simply vanishes. Where the hell did it go?")) cap_lost = TRUE else - to_chat(user, "You remove the cap from [src].") + to_chat(user, span_notice("You remove the cap from [src].")) else cap_on = TRUE spillable = FALSE - to_chat(user, "You put the cap on [src].") + to_chat(user, span_notice("You put the cap on [src].")) update_appearance() /obj/item/reagent_containers/food/drinks/waterbottle/is_refillable() @@ -366,20 +366,20 @@ return if(cap_on && reagents.total_volume && istype(target)) - to_chat(user, "You must remove the cap before you can do that!") + to_chat(user, span_warning("You must remove the cap before you can do that!")) return return ..() /obj/item/reagent_containers/food/drinks/waterbottle/afterattack(obj/target, mob/living/user, proximity) if(cap_on && (target.is_refillable() || target.is_drainable() || (reagents.total_volume && !user.combat_mode))) - to_chat(user, "You must remove the cap before you can do that!") + to_chat(user, span_warning("You must remove the cap before you can do that!")) return else if(istype(target, /obj/item/reagent_containers/food/drinks/waterbottle)) var/obj/item/reagent_containers/food/drinks/waterbottle/WB = target if(WB.cap_on) - to_chat(user, "[WB] has a cap firmly twisted on!") + to_chat(user, span_warning("[WB] has a cap firmly twisted on!")) . = ..() // heehoo bottle flipping @@ -387,7 +387,7 @@ . = ..() if(!QDELETED(src) && cap_on && reagents.total_volume) if(prob(flip_chance)) // landed upright - src.visible_message("[src] lands upright!") + src.visible_message(span_notice("[src] lands upright!")) if(throwingdatum.thrower) SEND_SIGNAL(throwingdatum.thrower, COMSIG_ADD_MOOD_EVENT, "bottle_flip", /datum/mood_event/bottle_flip) else // landed on it's side @@ -426,7 +426,7 @@ var/datum/reagent/random_reagent = new reagent_id list_reagents = list(random_reagent.type = 50) . = ..() - desc += "The writing reads '[random_reagent.name]'." + desc += span_notice("The writing reads '[random_reagent.name]'.") update_appearance() /obj/item/reagent_containers/food/drinks/beer @@ -668,12 +668,12 @@ /obj/item/reagent_containers/food/drinks/soda_cans/suicide_act(mob/living/carbon/human/H) if(!reagents.total_volume) - H.visible_message("[H] is trying to take a big sip from [src]... The can is empty!") + H.visible_message(span_warning("[H] is trying to take a big sip from [src]... The can is empty!")) return SHAME if(!is_drainable()) open_soda() sleep(10) - H.visible_message("[H] takes a big sip from [src]! It looks like [H.p_theyre()] trying to commit suicide!") + H.visible_message(span_suicide("[H] takes a big sip from [src]! It looks like [H.p_theyre()] trying to commit suicide!")) playsound(H,'sound/items/drink.ogg', 80, TRUE) reagents.trans_to(H, src.reagents.total_volume, transfered_by = H) //a big sip sleep(5) @@ -690,9 +690,9 @@ /obj/item/reagent_containers/food/drinks/soda_cans/attack(mob/M, mob/living/user) if(istype(M, /mob/living/carbon) && !reagents.total_volume && user.combat_mode && user.zone_selected == BODY_ZONE_HEAD) if(M == user) - user.visible_message("[user] crushes the can of [src] on [user.p_their()] forehead!", "You crush the can of [src] on your forehead.") + user.visible_message(span_warning("[user] crushes the can of [src] on [user.p_their()] forehead!"), span_notice("You crush the can of [src] on your forehead.")) else - user.visible_message("[user] crushes the can of [src] on [M]'s forehead!", "You crush the can of [src] on [M]'s forehead.") + user.visible_message(span_warning("[user] crushes the can of [src] on [M]'s forehead!"), span_notice("You crush the can of [src] on [M]'s forehead.")) playsound(M,'sound/weapons/pierce.ogg', rand(10,50), TRUE) var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(M.loc) crushed_can.icon_state = icon_state diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 35a1bf4b1f3..56ed7e0ac81 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -70,7 +70,7 @@ return ..() if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm [target]!") + to_chat(user, span_warning("You don't want to harm [target]!")) return SECONDARY_ATTACK_CONTINUE_CHAIN if(!isliving(target) || !isGlass) @@ -116,11 +116,11 @@ //Display an attack message. if(target != user) - target.visible_message("[user] hits [target][head_attack_message] with a bottle of [src.name]!", \ - "[user] hits you [head_attack_message] with a bottle of [src.name]!") + target.visible_message(span_danger("[user] hits [target][head_attack_message] with a bottle of [src.name]!"), \ + span_userdanger("[user] hits you [head_attack_message] with a bottle of [src.name]!")) else - target.visible_message("[target] hits [target.p_them()]self with a bottle of [src.name][head_attack_message]!", \ - "You hit yourself with a bottle of [src.name][head_attack_message]!") + target.visible_message(span_danger("[target] hits [target.p_them()]self with a bottle of [src.name][head_attack_message]!"), \ + span_userdanger("You hit yourself with a bottle of [src.name][head_attack_message]!")) //Attack logs log_combat(user, target, "attacked", src) @@ -563,7 +563,7 @@ active = TRUE log_bomber(user, "has primed a", src, "for detonation") - to_chat(user, "You light [src] on fire.") + to_chat(user, span_info("You light [src] on fire.")) add_overlay(custom_fire_overlay ? custom_fire_overlay : GLOB.fire_overlay) if(!isGlass) addtimer(CALLBACK(src, .proc/explode), 5 SECONDS) @@ -583,9 +583,9 @@ /obj/item/reagent_containers/food/drinks/bottle/molotov/attack_self(mob/user) if(active) if(!isGlass) - to_chat(user, "The flame's spread too far on it!") + to_chat(user, span_danger("The flame's spread too far on it!")) return - to_chat(user, "You snuff out the flame on [src].") + to_chat(user, span_info("You snuff out the flame on [src].")) cut_overlay(custom_fire_overlay ? custom_fire_overlay : GLOB.fire_overlay) active = FALSE return @@ -641,7 +641,7 @@ desc = "Fermented prison wine made from fruit, sugar, and despair. You probably shouldn't drink this around Security." icon_state = "trashbag1" // pruno releases air as it ferments, we don't want to simulate this in atmos, but we can make it look like it did for (var/mob/living/M in view(2, get_turf(src))) // letting people and/or narcs know when the pruno is done - to_chat(M, "A pungent smell emanates from [src], like fruit puking out its guts.") + to_chat(M, span_info("A pungent smell emanates from [src], like fruit puking out its guts.")) playsound(get_turf(src), 'sound/effects/bubbles2.ogg', 25, TRUE) /obj/item/reagent_containers/food/drinks/colocup/lean diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index bfa477742e3..cd156c004d3 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -122,9 +122,9 @@ var/obj/item/food/egg/E = I if(reagents) if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "[src] is full.") + to_chat(user, span_notice("[src] is full.")) else - to_chat(user, "You break [E] in [src].") + to_chat(user, span_notice("You break [E] in [src].")) reagents.add_reagent(/datum/reagent/consumable/eggyolk, 5) qdel(E) return diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index afec8213f00..55863d8e4c9 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -27,20 +27,20 @@ var/mob/living/carbon/human/H = M if(!HAS_TRAIT(H, TRAIT_AGEUSIA)) if(foodtype & H.dna.species.toxic_food) - to_chat(H,"What the hell was that thing?!") + to_chat(H,span_warning("What the hell was that thing?!")) H.adjust_disgust(25 + 30 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) else if(foodtype & H.dna.species.disliked_food) - to_chat(H,"That didn't taste very good...") + to_chat(H,span_notice("That didn't taste very good...")) H.adjust_disgust(11 + 15 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) else if(foodtype & H.dna.species.liked_food) - to_chat(H,"I love this taste!") + to_chat(H,span_notice("I love this taste!")) H.adjust_disgust(-5 + -2.5 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) else if(foodtype & H.dna.species.toxic_food) - to_chat(H, "You don't feel so good...") + to_chat(H, span_warning("You don't feel so good...")) H.adjust_disgust(25 + 30 * fraction) if((foodtype & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 92f7bc5d9a0..3104a1e2884 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -37,30 +37,30 @@ return ..() /obj/item/reagent_containers/food/condiment/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is trying to eat the entire [src]! It looks like [user.p_they()] forgot how food works!") + user.visible_message(span_suicide("[user] is trying to eat the entire [src]! It looks like [user.p_they()] forgot how food works!")) return OXYLOSS /obj/item/reagent_containers/food/condiment/attack(mob/M, mob/user, def_zone) if(!reagents || !reagents.total_volume) - to_chat(user, "None of [src] left, oh no!") + to_chat(user, span_warning("None of [src] left, oh no!")) return FALSE if(!canconsume(M, user)) return FALSE if(M == user) - user.visible_message("[user] swallows some of the contents of \the [src].", \ - "You swallow some of the contents of \the [src].") + user.visible_message(span_notice("[user] swallows some of the contents of \the [src]."), \ + span_notice("You swallow some of the contents of \the [src].")) else - M.visible_message("[user] attempts to feed [M] from [src].", \ - "[user] attempts to feed you from [src].") + M.visible_message(span_warning("[user] attempts to feed [M] from [src]."), \ + span_warning("[user] attempts to feed you from [src].")) if(!do_mob(user, M)) return if(!reagents || !reagents.total_volume) return // The condiment might be empty after the delay. - M.visible_message("[user] fed [M] from [src].", \ - "[user] fed you from [src].") + M.visible_message(span_warning("[user] fed [M] from [src]."), \ + span_warning("[user] fed you from [src].")) log_combat(user, M, "fed", reagents.log_list()) reagents.trans_to(M, 10, transfered_by = user, methods = INGEST) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), TRUE) @@ -73,26 +73,26 @@ if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. if(!target.reagents.total_volume) - to_chat(user, "[target] is empty!") + to_chat(user, span_warning("[target] is empty!")) return if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "[src] is full!") + to_chat(user, span_warning("[src] is full!")) return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You fill [src] with [trans] units of the contents of [target].") + to_chat(user, span_notice("You fill [src] with [trans] units of the contents of [target].")) //Something like a glass or a food item. Player probably wants to transfer TO it. else if(target.is_drainable() || IS_EDIBLE(target)) if(!reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "you can't add anymore to [target]!") + to_chat(user, span_warning("you can't add anymore to [target]!")) return var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You transfer [trans] units of the condiment to [target].") + to_chat(user, span_notice("You transfer [trans] units of the condiment to [target].")) /obj/item/reagent_containers/food/condiment/enzyme name = "universal enzyme" @@ -106,8 +106,8 @@ var/datum/chemical_reaction/recipe = GLOB.chemical_reactions_list[/datum/chemical_reaction/food/cheesewheel] var/milk_required = recipe.required_reagents[/datum/reagent/consumable/milk] var/enzyme_required = recipe.required_catalysts[/datum/reagent/consumable/enzyme] - . += "[milk_required] milk, [enzyme_required] enzyme and you got cheese." - . += "Remember, the enzyme isn't used up, so return it to the bottle, dingus!" + . += span_notice("[milk_required] milk, [enzyme_required] enzyme and you got cheese.") + . += span_warning("Remember, the enzyme isn't used up, so return it to the bottle, dingus!") /obj/item/reagent_containers/food/condiment/sugar name = "sugar sack" @@ -125,7 +125,7 @@ var/flour_required = recipe.required_reagents[/datum/reagent/consumable/flour] var/eggyolk_required = recipe.required_reagents[/datum/reagent/consumable/eggyolk] var/sugar_required = recipe.required_reagents[/datum/reagent/consumable/sugar] - . += "[flour_required] flour, [eggyolk_required] egg yolk (or soy milk), [sugar_required] sugar makes cake dough. You can make pie dough from it." + . += span_notice("[flour_required] flour, [eggyolk_required] egg yolk (or soy milk), [sugar_required] sugar makes cake dough. You can make pie dough from it.") /obj/item/reagent_containers/food/condiment/saltshaker //Separate from above since it's a small shaker rather then name = "salt shaker" // a large one. @@ -140,7 +140,7 @@ fill_icon_thresholds = null /obj/item/reagent_containers/food/condiment/saltshaker/suicide_act(mob/user) - user.visible_message("[user] begins to swap forms with the salt shaker! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to swap forms with the salt shaker! It looks like [user.p_theyre()] trying to commit suicide!")) var/newname = "[name]" name = "[user.name]" user.name = newname @@ -154,9 +154,9 @@ return if(isturf(target)) if(!reagents.has_reagent(/datum/reagent/consumable/salt, 2)) - to_chat(user, "You don't have enough salt to make a pile!") + to_chat(user, span_warning("You don't have enough salt to make a pile!")) return - user.visible_message("[user] shakes some salt onto [target].", "You shake some salt onto [target].") + user.visible_message(span_notice("[user] shakes some salt onto [target]."), span_notice("You shake some salt onto [target].")) reagents.remove_reagent(/datum/reagent/consumable/salt, 2) new/obj/effect/decal/cleanable/food/salt(target) return @@ -188,8 +188,8 @@ var/datum/chemical_reaction/recipe = GLOB.chemical_reactions_list[/datum/chemical_reaction/food/cheesewheel] var/milk_required = recipe.required_reagents[/datum/reagent/consumable/milk] var/enzyme_required = recipe.required_catalysts[/datum/reagent/consumable/enzyme] - . += "[milk_required] milk, [enzyme_required] enzyme and you got cheese." - . += "Remember, the enzyme isn't used up, so return it to the bottle, dingus!" + . += span_notice("[milk_required] milk, [enzyme_required] enzyme and you got cheese.") + . += span_warning("Remember, the enzyme isn't used up, so return it to the bottle, dingus!") /obj/item/reagent_containers/food/condiment/flour name = "flour sack" @@ -211,8 +211,8 @@ var/cakebatter_eggyolk_required = recipe_cakebatter.required_reagents[/datum/reagent/consumable/eggyolk] var/cakebatter_sugar_required = recipe_cakebatter.required_reagents[/datum/reagent/consumable/sugar] . += "You retreat inward and recall the teachings of... Making Dough..." - . += "[dough_flour_required] flour, [dough_water_required] water makes normal dough. You can make flat dough from it." - . += "[cakebatter_flour_required] flour, [cakebatter_eggyolk_required] egg yolk (or soy milk), [cakebatter_sugar_required] sugar makes cake dough. You can make pie dough from it." + . += span_notice("[dough_flour_required] flour, [dough_water_required] water makes normal dough. You can make flat dough from it.") + . += span_notice("[cakebatter_flour_required] flour, [cakebatter_eggyolk_required] egg yolk (or soy milk), [cakebatter_sugar_required] sugar makes cake dough. You can make pie dough from it.") /obj/item/reagent_containers/food/condiment/soymilk name = "soy milk" @@ -315,15 +315,15 @@ //You can tear the bag open above food to put the condiments on it, obviously. if(IS_EDIBLE(target)) if(!reagents.total_volume) - to_chat(user, "You tear open [src], but there's nothing in it.") + to_chat(user, span_warning("You tear open [src], but there's nothing in it.")) qdel(src) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "You tear open [src], but [target] is stacked so high that it just drips off!" ) + to_chat(user, span_warning("You tear open [src], but [target] is stacked so high that it just drips off!") ) qdel(src) return else - to_chat(user, "You tear open [src] above [target] and the condiments drip onto it.") + to_chat(user, span_notice("You tear open [src] above [target] and the condiments drip onto it.")) src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user) qdel(src) return diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index a30eb63f3f9..d1ccbb96d8c 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -57,25 +57,25 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( if(frying) . += "You can make out \a [frying] in the oil." if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Frying at [fry_speed*100]% speed.
    Using [oil_use] units of oil per second.
    " + . += span_notice("The status display reads: Frying at [fry_speed*100]% speed.
    Using [oil_use] units of oil per second.") /obj/machinery/deepfryer/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/reagent_containers/pill)) if(!reagents.total_volume) - to_chat(user, "There's nothing to dissolve [I] in!") + to_chat(user, span_warning("There's nothing to dissolve [I] in!")) return - user.visible_message("[user] drops [I] into [src].", "You dissolve [I] in [src].") + user.visible_message(span_notice("[user] drops [I] into [src]."), span_notice("You dissolve [I] in [src].")) I.reagents.trans_to(src, I.reagents.total_volume, transfered_by = user) qdel(I) return if(!reagents.has_reagent(/datum/reagent/consumable/cooking_oil)) - to_chat(user, "[src] has no cooking oil to fry with!") + to_chat(user, span_warning("[src] has no cooking oil to fry with!")) return if(I.resistance_flags & INDESTRUCTIBLE) - to_chat(user, "You don't feel it would be wise to fry [I]...") + to_chat(user, span_warning("You don't feel it would be wise to fry [I]...")) return if(istype(I, /obj/item/food/deepfryholder)) - to_chat(user, "Your cooking skills are not up to the legendary Doublefry technique.") + to_chat(user, span_userdanger("Your cooking skills are not up to the legendary Doublefry technique.")) return if(default_unfasten_wrench(user, I)) return @@ -85,7 +85,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( if(is_type_in_typecache(I, deepfry_blacklisted_items) || is_type_in_typecache(I, GLOB.oilfry_blacklisted_items) || HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL))) return ..() else if(!frying && user.transferItemToLoc(I, src)) - to_chat(user, "You put [I] into [src].") + to_chat(user, span_notice("You put [I] into [src].")) frying = new/obj/item/food/deepfryholder(src, I) icon_state = "fryer_on" fry_loop.start() @@ -102,10 +102,10 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( if(cook_time >= DEEPFRYER_COOKTIME && !frying_fried) frying_fried = TRUE //frying... frying... fried playsound(src.loc, 'sound/machines/ding.ogg', 50, TRUE) - audible_message("[src] dings!") + audible_message(span_notice("[src] dings!")) else if (cook_time >= DEEPFRYER_BURNTIME && !frying_burnt) frying_burnt = TRUE - visible_message("[src] emits an acrid smell!") + visible_message(span_warning("[src] emits an acrid smell!")) /obj/machinery/deepfryer/attack_ai(mob/user) @@ -114,7 +114,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( /obj/machinery/deepfryer/attack_hand(mob/living/user, list/modifiers) if(frying) if(frying.loc == src) - to_chat(user, "You eject [frying] from [src].") + to_chat(user, span_notice("You eject [frying] from [src].")) frying.fry(cook_time) icon_state = "fryer_off" frying.forceMove(drop_location()) @@ -128,10 +128,10 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( return else if(user.pulling && iscarbon(user.pulling) && reagents.total_volume) if(user.grab_state < GRAB_AGGRESSIVE) - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_warning("You need a better grip to do that!")) return var/mob/living/carbon/C = user.pulling - user.visible_message("[user] dunks [C]'s face in [src]!") + user.visible_message(span_danger("[user] dunks [C]'s face in [src]!")) reagents.expose(C, TOUCH) var/permeability = 1 - C.get_permeability_protection(list(HEAD)) C.apply_damage(min(30 * permeability, reagents.total_volume), BURN, BODY_ZONE_HEAD) diff --git a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm index ed39da1c4b4..8ba1f3a956f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm @@ -44,16 +44,16 @@ . = ..() if(!(machine_stat & BROKEN)) if(cart_griddle.machine_stat & BROKEN) - . += "The stand's griddle is completely broken!" + . += span_warning("The stand's griddle is completely broken!") else - . += "The stand's griddle is intact." - . += "The stand's fridge seems fine." //weirdly enough, these fridges don't break - . += "The stand's table seems fine." + . += span_notice("The stand's griddle is intact.") + . += span_notice("The stand's fridge seems fine.") //weirdly enough, these fridges don't break + . += span_notice("The stand's table seems fine.") /obj/machinery/food_cart/proc/pack_up() if(!unpacked) return - visible_message("[src] retracts all of it's unpacked components.") + visible_message(span_notice("[src] retracts all of it's unpacked components.")) for(var/o in packed_things) var/obj/object = o UnregisterSignal(object, COMSIG_MOVABLE_MOVED) @@ -65,9 +65,9 @@ if(unpacked) return if(!check_setup_place()) - to_chat(user, "There isn't enough room to unpack here! Bad spaces were marked in red.") + to_chat(user, span_warning("There isn't enough room to unpack here! Bad spaces were marked in red.")) return - visible_message("[src] expands into a full stand.") + visible_message(span_notice("[src] expands into a full stand.")) set_anchored(TRUE) var/iteration = 1 var/turf/grabbed_turf = get_step(get_turf(src), EAST) @@ -82,15 +82,15 @@ /obj/machinery/food_cart/attack_hand(mob/living/user, list/modifiers) . = ..() if(machine_stat & BROKEN) - to_chat(user, "[src] is completely busted.") + to_chat(user, span_warning("[src] is completely busted.")) return var/obj/item/card/id/id_card = user.get_idcard(hand_first = TRUE) if(!check_access(id_card)) playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) return - to_chat(user, "You attempt to [unpacked ? "pack up" :"unpack"] [src]...") + to_chat(user, span_notice("You attempt to [unpacked ? "pack up" :"unpack"] [src]...")) if(!do_after(user, 5 SECONDS, src)) - to_chat(user, "Your [unpacked ? "" :"un"]packing of [src] was interrupted!") + to_chat(user, span_warning("Your [unpacked ? "" :"un"]packing of [src] was interrupted!")) return if(unpacked) pack_up() diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 15548bb4011..bc26f9c2080 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -33,10 +33,10 @@ /obj/machinery/gibber/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Outputting [meat_produced] meat slab(s) after [gibtime*0.1] seconds of processing." + . += span_notice("The status display reads: Outputting [meat_produced] meat slab(s) after [gibtime*0.1] seconds of processing.") for(var/obj/item/stock_parts/manipulator/M in component_parts) if(M.rating >= 2) - . += "Gibber has been upgraded to process inorganic materials." + . += span_notice("Gibber has been upgraded to process inorganic materials.") /obj/machinery/gibber/update_overlays() . = ..() @@ -68,36 +68,36 @@ if(machine_stat & (NOPOWER|BROKEN)) return if(operating) - to_chat(user, "It's locked and running.") + to_chat(user, span_danger("It's locked and running.")) return if(!anchored) - to_chat(user, "[src] cannot be used unless bolted to the ground!") + to_chat(user, span_warning("[src] cannot be used unless bolted to the ground!")) return if(user.pulling && isliving(user.pulling)) var/mob/living/L = user.pulling if(!iscarbon(L)) - to_chat(user, "This item is not suitable for the gibber!") + to_chat(user, span_warning("This item is not suitable for the gibber!")) return var/mob/living/carbon/C = L if(C.buckled ||C.has_buckled_mobs()) - to_chat(user, "[C] is attached to something!") + to_chat(user, span_warning("[C] is attached to something!")) return if(!ignore_clothing) for(var/obj/item/I in C.held_items + C.get_equipped_items()) if(!HAS_TRAIT(I, TRAIT_NODROP)) - to_chat(user, "Subject may not have abiotic items on!") + to_chat(user, span_warning("Subject may not have abiotic items on!")) return - user.visible_message("[user] starts to put [C] into the gibber!") + user.visible_message(span_danger("[user] starts to put [C] into the gibber!")) add_fingerprint(user) if(do_after(user, gibtime, target = src)) if(C && user.pulling == C && !C.buckled && !C.has_buckled_mobs() && !occupant) - user.visible_message("[user] stuffs [C] into the gibber!") + user.visible_message(span_danger("[user] stuffs [C] into the gibber!")) C.forceMove(src) set_occupant(C) update_appearance() @@ -139,11 +139,11 @@ if(operating) return if(!occupant) - audible_message("You hear a loud metallic grinding sound.") + audible_message(span_hear("You hear a loud metallic grinding sound.")) return use_power(1000) - audible_message("You hear a loud squelchy grinding sound.") + audible_message(span_hear("You hear a loud squelchy grinding sound.")) playsound(loc, 'sound/machines/juicer.ogg', 50, TRUE) operating = TRUE update_appearance() diff --git a/code/modules/food_and_drinks/kitchen_machinery/griddle.dm b/code/modules/food_and_drinks/kitchen_machinery/griddle.dm index 5d0c0bf8efd..3337d5d161a 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/griddle.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/griddle.dm @@ -54,7 +54,7 @@ AddToGrill(new_pancake) if(griddled_objects.len >= max_items) break - visible_message("[exposing_reagent] begins to cook on [src].") + visible_message(span_notice("[exposing_reagent] begins to cook on [src].")) return NONE /obj/machinery/griddle/crowbar_act(mob/living/user, obj/item/I) @@ -64,7 +64,7 @@ /obj/machinery/griddle/attackby(obj/item/I, mob/user, params) if(griddled_objects.len >= max_items) - to_chat(user, "[src] can't fit more items!") + to_chat(user, span_notice("[src] can't fit more items!")) return var/list/modifiers = params2list(params) //Center the icon where the user clicked. @@ -74,7 +74,7 @@ //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) I.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) I.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) - to_chat(user, "You place [I] on [src].") + to_chat(user, span_notice("You place [I] on [src].")) AddToGrill(I, user) update_appearance() else @@ -139,7 +139,7 @@ continue griddled_item.fire_act(1000) //Hot hot hot! if(prob(10)) - visible_message("[griddled_item] doesn't seem to be doing too great on the [src]!") + visible_message(span_danger("[griddled_item] doesn't seem to be doing too great on the [src]!")) /obj/machinery/griddle/update_icon_state() icon_state = "griddle[variant]_[on ? "on" : "off"]" diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm index c472ce09991..80fa9d00a3d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -38,7 +38,7 @@ if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood)) var/obj/item/stack/S = I var/stackamount = S.get_amount() - to_chat(user, "You put [stackamount] [I]s in [src].") + to_chat(user, span_notice("You put [stackamount] [I]s in [src].")) if(istype(I, /obj/item/stack/sheet/mineral/coal)) grill_fuel += (500 * stackamount) else @@ -47,12 +47,12 @@ update_appearance() return if(I.resistance_flags & INDESTRUCTIBLE) - to_chat(user, "You don't feel it would be wise to grill [I]...") + to_chat(user, span_warning("You don't feel it would be wise to grill [I]...")) return ..() if(istype(I, /obj/item/reagent_containers/food/drinks)) if(I.reagents.has_reagent(/datum/reagent/consumable/monkey_energy)) grill_fuel += (20 * (I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy))) - to_chat(user, "You pour the Monkey Energy in [src].") + to_chat(user, span_notice("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_appearance() return @@ -60,16 +60,16 @@ if(HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL))) return ..() else if(HAS_TRAIT(I, TRAIT_FOOD_GRILLED)) - to_chat(user, "[I] has already been grilled!") + to_chat(user, span_notice("[I] has already been grilled!")) return else if(grill_fuel <= 0) - to_chat(user, "There is not enough fuel!") + to_chat(user, span_warning("There is not enough fuel!")) return else if(!grilled_item && user.transferItemToLoc(I, src)) grilled_item = I RegisterSignal(grilled_item, COMSIG_GRILL_COMPLETED, .proc/GrillCompleted) ADD_TRAIT(grilled_item, TRAIT_FOOD_GRILLED, "boomers") - to_chat(user, "You put the [grilled_item] on [src].") + to_chat(user, span_notice("You put the [grilled_item] on [src].")) update_appearance() grill_loop.start() return @@ -126,7 +126,7 @@ /obj/machinery/grill/attack_hand(mob/user, list/modifiers) if(grilled_item) - to_chat(user, "You take out [grilled_item] from [src].") + to_chat(user, span_notice("You take out [grilled_item] from [src].")) grilled_item.forceMove(drop_location()) update_appearance() 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 2006cf35b5a..19b81ebfd41 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -86,7 +86,7 @@ if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - to_chat(user, "You add [B] to [src].") + to_chat(user, span_notice("You add [B] to [src].")) updateUsrDialog() update_appearance() return @@ -117,11 +117,11 @@ product_types[make_type] += amount var/obj/item/food/icecream/cone = cone_prototypes[make_type] if(cone) - visible_message("[user] cooks up some [cone.name]s.") + visible_message(span_info("[user] cooks up some [cone.name]s.")) else - visible_message("[user] whips up some [make_type] icecream.") + visible_message(span_info("[user] whips up some [make_type] icecream.")) else - to_chat(user, "You don't have the ingredients to make this!") + to_chat(user, span_warning("You don't have the ingredients to make this!")) /obj/machinery/icecream_vat/Topic(href, href_list) if(..()) @@ -130,7 +130,7 @@ var/datum/ice_cream_flavour/flavour = GLOB.ice_cream_flavours[href_list["select"]] if(!flavour || flavour.hidden) //Nice try, tex. return - visible_message("[usr] sets [src] to dispense [href_list["select"]] flavoured ice cream.") + visible_message(span_notice("[usr] sets [src] to dispense [href_list["select"]] flavoured ice cream.")) selected_flavour = flavour.name if(href_list["cone"]) @@ -140,9 +140,9 @@ if(product_types[cone_path] >= 1) product_types[cone_path]-- var/obj/item/food/icecream/cone = new cone_path(loc) - visible_message("[usr] dispenses a crunchy [cone.name] from [src].") + visible_message(span_info("[usr] dispenses a crunchy [cone.name] from [src].")) else - to_chat(usr, "There are no [initial(cone_path.name)]s left!") + to_chat(usr, span_warning("There are no [initial(cone_path.name)]s left!")) if(href_list["make"]) var/datum/ice_cream_flavour/flavour = GLOB.ice_cream_flavours[href_list["make"]] diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 0cdeeb5f3cb..70bb0107063 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -56,20 +56,20 @@ /obj/machinery/microwave/examine(mob/user) . = ..() if(!operating) - . += "Right-click [src] to turn it on." + . += span_notice("Right-click [src] to turn it on.") if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) - . += "You're too far away to examine [src]'s contents and display!" + . += span_warning("You're too far away to examine [src]'s contents and display!") return if(operating) - . += "\The [src] is operating." + . += span_notice("\The [src] is operating.") return if(length(ingredients)) if(issilicon(user)) - . += "\The [src] camera shows:" + . += span_notice("\The [src] camera shows:") else - . += "\The [src] contains:" + . += span_notice("\The [src] contains:") var/list/items_counts = new for(var/i in ingredients) if(istype(i, /obj/item/stack)) @@ -79,14 +79,14 @@ var/atom/movable/AM = i items_counts[AM.name]++ for(var/O in items_counts) - . += "- [items_counts[O]]x [O]." + . += span_notice("- [items_counts[O]]x [O].") else - . += "\The [src] is empty." + . += span_notice("\The [src] is empty.") if(!(machine_stat & (NOPOWER|BROKEN))) - . += "The status display reads:\n"+\ - "- Capacity: [max_n_of_items] items.\n"+\ - "- Cook time reduced by [(efficiency - 1) * 25]%." + . += "[span_notice("The status display reads:")]\n"+\ + "[span_notice("- Capacity: [max_n_of_items] items.")]\n"+\ + span_notice("- Cook time reduced by [(efficiency - 1) * 25]%.") /obj/machinery/microwave/update_icon_state() if(broken) @@ -124,19 +124,19 @@ if(broken > 0) if(broken == 2 && O.tool_behaviour == TOOL_WIRECUTTER) // If it's broken and they're using a screwdriver - user.visible_message("[user] starts to fix part of \the [src].", "You start to fix part of \the [src]...") + user.visible_message(span_notice("[user] starts to fix part of \the [src]."), span_notice("You start to fix part of \the [src]...")) if(O.use_tool(src, user, 20)) - user.visible_message("[user] fixes part of \the [src].", "You fix part of \the [src].") + user.visible_message(span_notice("[user] fixes part of \the [src]."), span_notice("You fix part of \the [src].")) broken = 1 // Fix it a bit else if(broken == 1 && O.tool_behaviour == TOOL_WELDER) // If it's broken and they're doing the wrench - user.visible_message("[user] starts to fix part of \the [src].", "You start to fix part of \the [src]...") + user.visible_message(span_notice("[user] starts to fix part of \the [src]."), span_notice("You start to fix part of \the [src]...")) if(O.use_tool(src, user, 20)) - user.visible_message("[user] fixes \the [src].", "You fix \the [src].") + user.visible_message(span_notice("[user] fixes \the [src]."), span_notice("You fix \the [src].")) broken = 0 update_appearance() return FALSE //to use some fuel else - to_chat(user, "It's broken!") + to_chat(user, span_warning("It's broken!")) return TRUE return @@ -145,11 +145,11 @@ if(clean_spray.reagents.has_reagent(/datum/reagent/space_cleaner, clean_spray.amount_per_transfer_from_this)) clean_spray.reagents.remove_reagent(/datum/reagent/space_cleaner, clean_spray.amount_per_transfer_from_this,1) playsound(loc, 'sound/effects/spray3.ogg', 50, TRUE, -6) - user.visible_message("[user] cleans \the [src].", "You clean \the [src].") + user.visible_message(span_notice("[user] cleans \the [src]."), span_notice("You clean \the [src].")) dirty = 0 update_appearance() else - to_chat(user, "You need more space cleaner!") + to_chat(user, span_warning("You need more space cleaner!")) return TRUE if(istype(O, /obj/item/soap) || istype(O, /obj/item/reagent_containers/glass/rag)) @@ -157,15 +157,15 @@ if(istype(O, /obj/item/soap)) var/obj/item/soap/used_soap = O cleanspeed = used_soap.cleanspeed - user.visible_message("[user] starts to clean \the [src].", "You start to clean \the [src]...") + user.visible_message(span_notice("[user] starts to clean \the [src]."), span_notice("You start to clean \the [src]...")) if(do_after(user, cleanspeed, target = src)) - user.visible_message("[user] cleans \the [src].", "You clean \the [src].") + user.visible_message(span_notice("[user] cleans \the [src]."), span_notice("You clean \the [src].")) dirty = 0 update_appearance() return TRUE if(dirty == 100) // The microwave is all dirty so can't be used! - to_chat(user, "\The [src] is dirty!") + to_chat(user, span_warning("\The [src] is dirty!")) return TRUE if(istype(O, /obj/item/storage/bag/tray)) @@ -175,25 +175,25 @@ if(!IS_EDIBLE(S)) continue if(ingredients.len >= max_n_of_items) - to_chat(user, "\The [src] is full, you can't put anything in!") + to_chat(user, span_warning("\The [src] is full, you can't put anything in!")) return TRUE if(SEND_SIGNAL(T, COMSIG_TRY_STORAGE_TAKE, S, src)) loaded++ ingredients += S if(loaded) - to_chat(user, "You insert [loaded] items into \the [src].") + to_chat(user, span_notice("You insert [loaded] items into \the [src].")) return if(O.w_class <= WEIGHT_CLASS_NORMAL && !istype(O, /obj/item/storage) && !user.combat_mode) if(ingredients.len >= max_n_of_items) - to_chat(user, "\The [src] is full, you can't put anything in!") + to_chat(user, span_warning("\The [src] is full, you can't put anything in!")) return TRUE if(!user.transferItemToLoc(O, src)) - to_chat(user, "\The [O] is stuck to your hand!") + to_chat(user, span_warning("\The [O] is stuck to your hand!")) return FALSE ingredients += O - user.visible_message("[user] adds \a [O] to \the [src].", "You add [O] to \the [src].") + user.visible_message(span_notice("[user] adds \a [O] to \the [src]."), span_notice("You add [O] to \the [src].")) return ..() @@ -214,7 +214,7 @@ if(isAI(user)) examine(user) else - to_chat(user, "\The [src] is empty.") + to_chat(user, span_warning("\The [src] is empty.")) return var/choice = show_radial_menu(user, src, isAI(user) ? ai_radial_options : radial_options, require_near = !issilicon(user)) @@ -264,7 +264,7 @@ start() /obj/machinery/microwave/proc/wzhzhzh() - visible_message("\The [src] turns on.", null, "You hear a microwave humming.") + visible_message(span_notice("\The [src] turns on."), null, span_hear("You hear a microwave humming.")) operating = TRUE set_light(1.5) @@ -272,7 +272,7 @@ update_appearance() /obj/machinery/microwave/proc/spark() - visible_message("Sparks fly around [src]!") + visible_message(span_warning("Sparks fly around [src]!")) var/datum/effect_system/spark_spread/s = new s.set_up(2, 1, src) s.start() @@ -353,7 +353,7 @@ loop(MICROWAVE_NORMAL, 10) /obj/machinery/microwave/proc/muck_finish() - visible_message("\The [src] gets covered in muck!") + visible_message(span_warning("\The [src] gets covered in muck!")) dirty = 100 dirty_anim_playing = FALSE diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm index 9df67f89b99..3c6cd46266b 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm @@ -38,7 +38,7 @@ GLOBAL_LIST_EMPTY(monkey_recyclers) /obj/machinery/monkey_recycler/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Producing [cube_production] cubes for every monkey inserted." + . += span_notice("The status display reads: Producing [cube_production] cubes for every monkey inserted.") /obj/machinery/monkey_recycler/attackby(obj/item/O, mob/user, params) if(default_deconstruction_screwdriver(user, "grinder_open", "grinder", O)) @@ -69,35 +69,35 @@ GLOBAL_LIST_EMPTY(monkey_recyclers) if(!istype(target)) return if(target.stat == CONSCIOUS) - to_chat(user, "The monkey is struggling far too much to put it in the recycler.") + to_chat(user, span_warning("The monkey is struggling far too much to put it in the recycler.")) return if(target.buckled || target.has_buckled_mobs()) - to_chat(user, "The monkey is attached to something.") + to_chat(user, span_warning("The monkey is attached to something.")) return qdel(target) - to_chat(user, "You stuff the monkey into the machine.") + to_chat(user, span_notice("You stuff the monkey into the machine.")) playsound(src.loc, 'sound/machines/juicer.ogg', 50, TRUE) var/offset = prob(50) ? -2 : 2 animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking use_power(500) stored_matter += cube_production addtimer(VARSET_CALLBACK(src, pixel_x, base_pixel_x)) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, user, "The machine now has [stored_matter] monkey\s worth of material stored.")) + addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, user, span_notice("The machine now has [stored_matter] monkey\s worth of material stored."))) /obj/machinery/monkey_recycler/interact(mob/user) if(stored_matter >= 1) - to_chat(user, "The machine hisses loudly as it condenses the ground monkey meat. After a moment, it dispenses a brand new monkey cube.") + to_chat(user, span_notice("The machine hisses loudly as it condenses the ground monkey meat. After a moment, it dispenses a brand new monkey cube.")) playsound(src.loc, 'sound/machines/hiss.ogg', 50, TRUE) for(var/i in 1 to FLOOR(stored_matter, 1)) new /obj/item/food/monkeycube(src.loc) stored_matter-- - to_chat(user, "The machine's display flashes that it has [stored_matter] monkeys worth of material left.") + to_chat(user, span_notice("The machine's display flashes that it has [stored_matter] monkeys worth of material left.")) else - to_chat(user, "The machine needs at least 1 monkey worth of material to produce a monkey cube. It currently has [stored_matter].") + to_chat(user, span_danger("The machine needs at least 1 monkey worth of material to produce a monkey cube. It currently has [stored_matter].")) /obj/machinery/monkey_recycler/multitool_act(mob/living/user, obj/item/multitool/I) . = ..() if(istype(I)) - to_chat(user, "You log [src] in the multitool's buffer.") + to_chat(user, span_notice("You log [src] in the multitool's buffer.")) I.buffer = src return TRUE diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index f7efa979e0f..53cdedda314 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -50,7 +50,7 @@ /obj/machinery/processor/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Outputting [rating_amount] item(s) at [rating_speed*100]% speed." + . += span_notice("The status display reads: Outputting [rating_amount] item(s) at [rating_speed*100]% speed.") /obj/machinery/processor/proc/process_food(datum/food_processor_process/recipe, atom/movable/what) if(recipe.output && loc && !QDELETED(src)) @@ -70,7 +70,7 @@ /obj/machinery/processor/attackby(obj/item/O, mob/living/user, params) if(processing) - to_chat(user, "[src] is in the process of processing!") + to_chat(user, span_warning("[src] is in the process of processing!")) return TRUE if(default_deconstruction_screwdriver(user, "processor", "processor1", O)) return @@ -97,43 +97,43 @@ loaded++ if(loaded) - to_chat(user, "You insert [loaded] items into [src].") + to_chat(user, span_notice("You insert [loaded] items into [src].")) return var/datum/food_processor_process/P = PROCESSOR_SELECT_RECIPE(O) if(P) - user.visible_message("[user] put [O] into [src].", \ - "You put [O] into [src].") + user.visible_message(span_notice("[user] put [O] into [src]."), \ + span_notice("You put [O] into [src].")) user.transferItemToLoc(O, src, TRUE) LAZYADD(processor_contents, O) return 1 else if(!user.combat_mode) - to_chat(user, "That probably won't blend!") + to_chat(user, span_warning("That probably won't blend!")) return 1 else return ..() /obj/machinery/processor/interact(mob/user) if(processing) - to_chat(user, "[src] is in the process of processing!") + to_chat(user, span_warning("[src] is in the process of processing!")) return TRUE if(ismob(user.pulling) && PROCESSOR_SELECT_RECIPE(user.pulling)) if(user.grab_state < GRAB_AGGRESSIVE) - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_warning("You need a better grip to do that!")) return var/mob/living/pushed_mob = user.pulling - visible_message("[user] stuffs [pushed_mob] into [src]!") + visible_message(span_warning("[user] stuffs [pushed_mob] into [src]!")) pushed_mob.forceMove(src) LAZYADD(processor_contents, pushed_mob) user.stop_pulling() return if(!LAZYLEN(processor_contents)) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return TRUE processing = TRUE - user.visible_message("[user] turns on [src].", \ - "You turn on [src].", \ - "You hear a food processor.") + user.visible_message(span_notice("[user] turns on [src]."), \ + span_notice("You turn on [src]."), \ + span_hear("You hear a food processor.")) playsound(src.loc, 'sound/machines/blender.ogg', 50, TRUE) use_power(500) var/total_time = 0 @@ -154,7 +154,7 @@ process_food(P, O) pixel_x = base_pixel_x //return to its spot after shaking processing = FALSE - visible_message("\The [src] finishes processing.") + visible_message(span_notice("\The [src] finishes processing.")) /obj/machinery/processor/verb/eject() set category = "Object" @@ -178,7 +178,7 @@ /obj/machinery/processor/container_resist_act(mob/living/user) user.forceMove(drop_location()) - user.visible_message("[user] crawls free of the processor!") + user.visible_message(span_notice("[user] crawls free of the processor!")) /obj/machinery/processor/slime name = "slime processor" @@ -216,7 +216,7 @@ if (!P) return - visible_message("[picked_slime] is sucked into [src].") + visible_message(span_notice("[picked_slime] is sucked into [src].")) LAZYADD(processor_contents, picked_slime) picked_slime.forceMove(src) @@ -227,7 +227,7 @@ if(S.stat != DEAD) LAZYREMOVE(processor_contents, S) S.forceMove(drop_location()) - S.visible_message("[C] crawls free of the processor!") + S.visible_message(span_notice("[C] crawls free of the processor!")) return for(var/i in 1 to (C+rating_amount-1)) var/atom/movable/item = new S.coretype(drop_location()) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index aa3c11289ed..6e51d6c5e95 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -38,7 +38,7 @@ /obj/machinery/smartfridge/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: This unit can hold a maximum of [max_n_of_items] items." + . += span_notice("The status display reads: This unit can hold a maximum of [max_n_of_items] items.") /obj/machinery/smartfridge/update_icon_state() if(machine_stat) @@ -94,12 +94,12 @@ if(!machine_stat) if(contents.len >= max_n_of_items) - to_chat(user, "\The [src] is full!") + to_chat(user, span_warning("\The [src] is full!")) return FALSE if(accept_check(O)) load(O) - user.visible_message("[user] adds \the [O] to \the [src].", "You add \the [O] to \the [src].") + user.visible_message(span_notice("[user] adds \the [O] to \the [src]."), span_notice("You add \the [O] to \the [src].")) updateUsrDialog() if (visible_contents) update_appearance() @@ -118,22 +118,22 @@ if(loaded) if(contents.len >= max_n_of_items) - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You fill \the [src] with \the [O].") + user.visible_message(span_notice("[user] loads \the [src] with \the [O]."), \ + span_notice("You fill \the [src] with \the [O].")) else - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You load \the [src] with \the [O].") + user.visible_message(span_notice("[user] loads \the [src] with \the [O]."), \ + span_notice("You load \the [src] with \the [O].")) if(O.contents.len > 0) - to_chat(user, "Some items are refused.") + to_chat(user, span_warning("Some items are refused.")) if (visible_contents) update_appearance() return TRUE else - to_chat(user, "There is nothing in [O] to put in [src]!") + to_chat(user, span_warning("There is nothing in [O] to put in [src]!")) return FALSE if(!user.combat_mode) - to_chat(user, "\The [src] smartly refuses [O].") + to_chat(user, span_warning("\The [src] smartly refuses [O].")) updateUsrDialog() return FALSE else @@ -150,7 +150,7 @@ if(ismob(O.loc)) var/mob/M = O.loc if(!M.transferItemToLoc(O, src)) - to_chat(usr, "\the [O] is stuck to your hand, you cannot put it in \the [src]!") + to_chat(usr, span_warning("\the [O] is stuck to your hand, you cannot put it in \the [src]!")) return FALSE else return TRUE @@ -210,7 +210,7 @@ var/desired = 0 if(!allow_ai_retrieve && isAI(usr)) - to_chat(usr, "[src] does not seem to be configured to respect your authority!") + to_chat(usr, span_warning("[src] does not seem to be configured to respect your authority!")) return if (params["amount"]) diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 686a07b7d53..a3a480f8655 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -121,12 +121,12 @@ return open = !open if(open && !bomb_defused) - audible_message("[icon2html(src, hearers(src))] *beep*") + audible_message(span_warning("[icon2html(src, hearers(src))] *beep*")) bomb_active = TRUE START_PROCESSING(SSobj, src) else if(!open && !pizza && !bomb) var/obj/item/stack/sheet/cardboard/cardboard = new /obj/item/stack/sheet/cardboard(user.drop_location()) - to_chat(user, "You fold [src] into [cardboard].") + to_chat(user, span_notice("You fold [src] into [cardboard].")) user.put_in_active_hand(cardboard) qdel(src) return @@ -139,13 +139,13 @@ if(open) if(pizza) user.put_in_hands(pizza) - to_chat(user, "You take [pizza] out of [src].") + to_chat(user, span_notice("You take [pizza] out of [src].")) pizza = null 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].") + to_chat(user, span_notice("You carefully remove the [bomb] from [src].")) bomb = null update_appearance() return @@ -161,13 +161,13 @@ log_bomber(user, "has trapped a", src, "with [bomb] set to [bomb_timer] seconds") bomb.adminlog = "The [bomb.name] in [src.name] that [key_name(user)] activated has detonated!" - to_chat(user, "You trap [src] with [bomb].") + to_chat(user, span_warning("You trap [src] with [bomb].")) 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.") + to_chat(user, span_notice("You remove the topmost [name] from the stack.")) topbox.update_appearance() update_appearance() user.regenerate_icons() @@ -183,28 +183,28 @@ return boxes += add newbox.boxes.Cut() - to_chat(user, "You put [newbox] on top of [src]!") + to_chat(user, span_notice("You put [newbox] on top of [src]!")) newbox.update_appearance() update_appearance() user.regenerate_icons() if(boxes.len >= 5) if(prob(10 * boxes.len)) - to_chat(user, "You can't keep holding the stack!") + to_chat(user, span_danger("You can't keep holding the stack!")) disperse_pizzas() else - to_chat(user, "The stack is getting a little high...") + to_chat(user, span_warning("The stack is getting a little high...")) return else - to_chat(user, "Close [open ? src : newbox] first!") + to_chat(user, span_notice("Close [open ? src : newbox] first!")) else if(istype(I, /obj/item/food/pizza)) if(open) if(pizza) - to_chat(user, "[src] already has \a [pizza.name]!") + to_chat(user, span_warning("[src] already has \a [pizza.name]!")) return if(!user.transferItemToLoc(I, src)) return pizza = I - to_chat(user, "You put [I] in [src].") + to_chat(user, span_notice("You put [I] in [src].")) update_appearance() return else if(istype(I, /obj/item/bombcore/miniature/pizza)) @@ -213,21 +213,21 @@ return wires = new /datum/wires/explosive/pizza(src) bomb = I - to_chat(user, "You put [I] in [src]. Sneeki breeki...") + to_chat(user, span_notice("You put [I] in [src]. Sneeki breeki...")) update_appearance() return else if(bomb) - to_chat(user, "[src] already has a bomb in it!") + to_chat(user, span_warning("[src] already has a bomb in it!")) else if(istype(I, /obj/item/pen)) if(!open) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") + to_chat(user, span_notice("You scribble illegibly on [src]!")) return var/obj/item/pizzabox/box = boxes.len ? boxes[boxes.len] : src box.boxtag += stripped_input(user, "Write on [box]'s tag:", box, "", 30) if(!user.canUseTopic(src, BE_CLOSE)) return - to_chat(user, "You write with [I] on [src].") + to_chat(user, span_notice("You write with [I] on [src].")) boxtag_set = TRUE update_appearance() return @@ -235,7 +235,7 @@ if(wires && bomb) wires.interact(user) else if(istype(I, /obj/item/reagent_containers/food)) - to_chat(user, "That's not a pizza!") + to_chat(user, span_warning("That's not a pizza!")) ..() /obj/item/pizzabox/process(delta_time) @@ -267,12 +267,12 @@ . = ..() if(isobserver(user)) if(bomb) - . += "This pizza box contains [bomb_defused ? "an unarmed bomb" : "an armed bomb"]." + . += span_deadsay("This pizza box contains [bomb_defused ? "an unarmed bomb" : "an armed bomb"].") if(pizza && istype(pizza, /obj/item/food/pizza/margherita/robo)) - . += "The pizza in this pizza box contains nanomachines." + . += span_deadsay("The pizza in this pizza box contains nanomachines.") /obj/item/pizzabox/proc/disperse_pizzas() - visible_message("The pizzas fall everywhere!") + visible_message(span_warning("The pizzas fall everywhere!")) for(var/V in boxes) var/obj/item/pizzabox/P = V var/fall_dir = pick(GLOB.alldirs) @@ -358,7 +358,7 @@ attune_pizza(user) //pizza tag changes based on examiner . = ..() if(isobserver(user)) - . += "This pizza box is anomalous, and will produce infinite pizza." + . += span_deadsay("This pizza box is anomalous, and will produce infinite pizza.") /obj/item/pizzabox/infinite/attack_self(mob/living/user) if(ishuman(user)) diff --git a/code/modules/food_and_drinks/plate.dm b/code/modules/food_and_drinks/plate.dm index 6d70729e934..610755c1c5d 100644 --- a/code/modules/food_and_drinks/plate.dm +++ b/code/modules/food_and_drinks/plate.dm @@ -16,10 +16,10 @@ /obj/item/plate/attackby(obj/item/I, mob/user, params) if(!IS_EDIBLE(I)) - to_chat(user, "[src] is made for food, and food alone!") + to_chat(user, span_notice("[src] is made for food, and food alone!")) return if(contents.len >= max_items) - to_chat(user, "[src] can't fit more items!") + to_chat(user, span_notice("[src] can't fit more items!")) return var/list/modifiers = params2list(params) //Center the icon where the user clicked. @@ -28,7 +28,7 @@ if(user.transferItemToLoc(I, src, silent = FALSE)) I.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -max_x_offset, max_x_offset) I.pixel_y = min(text2num(LAZYACCESS(modifiers, ICON_Y)) + placement_offset, max_height_offset) - to_chat(user, "You place [I] on [src].") + to_chat(user, span_notice("You place [I] on [src].")) AddToPlate(I, user) update_appearance() else diff --git a/code/modules/food_and_drinks/restaurant/_venue.dm b/code/modules/food_and_drinks/restaurant/_venue.dm index 7a5f7835a53..e90f9036f7b 100644 --- a/code/modules/food_and_drinks/restaurant/_venue.dm +++ b/code/modules/food_and_drinks/restaurant/_venue.dm @@ -141,7 +141,7 @@ return ..() if(!(linked_venue.req_access in used_id.GetAccess())) - to_chat(user, "This card lacks the access to change this venues status.") + to_chat(user, span_warning("This card lacks the access to change this venues status.")) return linked_venue.toggle_open() @@ -154,7 +154,7 @@ var/obj/item/card/id/used_id = I if(!(linked_venue.req_access in used_id.GetAccess())) - to_chat(user, "This card lacks the access to change this venues status.") + to_chat(user, span_warning("This card lacks the access to change this venues status.")) return var/list/radial_items = list() @@ -175,10 +175,10 @@ turned_on_portal = WEAKREF(user) if(!(chosen_venue.req_access in used_id.GetAccess())) - to_chat(user, "This card lacks the access to change this venues status.") + to_chat(user, span_warning("This card lacks the access to change this venues status.")) return - to_chat(user, "You change the portal's linked venue.") + to_chat(user, span_notice("You change the portal's linked venue.")) if(linked_venue && linked_venue.restaurant_portal) //We're already linked, unlink us. if(linked_venue.open) diff --git a/code/modules/food_and_drinks/restaurant/generic_venues.dm b/code/modules/food_and_drinks/restaurant/generic_venues.dm index d0b76dfb77a..d099791ee14 100644 --- a/code/modules/food_and_drinks/restaurant/generic_venues.dm +++ b/code/modules/food_and_drinks/restaurant/generic_venues.dm @@ -52,7 +52,7 @@ /datum/venue/restaurant/on_get_order(mob/living/simple_animal/robot_customer/customer_pawn, obj/item/order_item) . = ..() var/obj/item/food/ordered_food = order_item - customer_pawn.visible_message("[customer_pawn] pushes [ordered_food] into their mouth-shaped hole!", "You push [ordered_food] into your mouth-shaped hole.") + customer_pawn.visible_message(span_danger("[customer_pawn] pushes [ordered_food] into their mouth-shaped hole!"), span_danger("You push [ordered_food] into your mouth-shaped hole.")) playsound(get_turf(customer_pawn),'sound/items/eatfood.ogg', rand(10,50), TRUE) customers_served += 1 qdel(ordered_food) @@ -125,7 +125,7 @@ continue SEND_SIGNAL(reagent, COMSIG_ITEM_SOLD_TO_CUSTOMER, customer_pawn, order_item) - customer_pawn.visible_message("[customer_pawn] slurps up [order_item] in one go!", "You slurp up [order_item] in one go.") + customer_pawn.visible_message(span_danger("[customer_pawn] slurps up [order_item] in one go!"), span_danger("You slurp up [order_item] in one go.")) playsound(get_turf(customer_pawn), 'sound/items/drink.ogg', 50, TRUE) customers_served += 1 order_item.reagents.clear_reagents() diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm index b616877e8a8..59d09b593cf 100644 --- a/code/modules/games/cas.dm +++ b/code/modules/games/cas.dm @@ -63,7 +63,7 @@ if(!(L.mobility_flags & MOBILITY_PICKUP)) return if(cards.len == 0) - to_chat(user, "There are no more cards to draw!") + to_chat(user, span_warning("There are no more cards to draw!")) return var/obj/item/toy/cards/singlecard/cas/H = new/obj/item/toy/cards/singlecard/cas(user.loc) var/datum/playingcard/choice = cards[1] @@ -77,21 +77,21 @@ src.cards -= choice 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.") + user.visible_message(span_notice("[user] draws a card from the deck."), span_notice("You draw a card from the deck.")) 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)) var/obj/item/toy/cards/singlecard/cas/SC = I if(!user.temporarilyRemoveItemFromInventory(SC)) - to_chat(user, "The card is stuck to your hand, you can't add it to the deck!") + to_chat(user, span_warning("The card is stuck to your hand, you can't add it to the deck!")) return var/datum/playingcard/RC // replace null datum for the re-added card RC = new() RC.name = "[SC.name]" RC.card_icon = SC.card_face 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.") + user.visible_message(span_notice("[user] adds a card to the bottom of the deck."),span_notice("You add the card to the bottom of the deck.")) qdel(SC) update_appearance() @@ -112,12 +112,12 @@ /obj/item/toy/cards/singlecard/cas/examine(mob/user) . = ..() if (flipped) - . += "The card is face down." + . += span_notice("The card is face down.") else if (blank) - . += "The card is blank. Write on it with a pen." + . += span_notice("The card is blank. Write on it with a pen.") else - . += "The card reads: [name]" - . += "Alt-click to flip it." + . += span_notice("The card reads: [name]") + . += span_notice("Alt-click to flip it.") /obj/item/toy/cards/singlecard/cas/Flip() set name = "Flip Card" @@ -144,10 +144,10 @@ /obj/item/toy/cards/singlecard/cas/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") + to_chat(user, span_notice("You scribble illegibly on [src]!")) return if(!blank) - to_chat(user, "You cannot write on that card!") + to_chat(user, span_warning("You cannot write on that card!")) return var/cardtext = stripped_input(user, "What do you wish to write on the card?", "Card Writing", "", 50) if(!cardtext || !user.canUseTopic(src, BE_CLOSE)) diff --git a/code/modules/games/wizoff.dm b/code/modules/games/wizoff.dm index 041ea072854..0c1e3f4e199 100644 --- a/code/modules/games/wizoff.dm +++ b/code/modules/games/wizoff.dm @@ -13,13 +13,13 @@ cards += "[card]" /obj/item/toy/cards/deck/wizoff/examine_more(mob/user) - var/list/msg = list("Remember the rules of Wiz-Off!") - msg += "\tEach player draws 5 cards." - msg += "\tThere are five rounds. Each round, a player selects a card to play, and the winner is selected based on the following rules:" - msg += "\tDefensive beats Offensive!" - msg += "\tOffensive beats Utility!" - msg += "\tUtility beats Defensive!" - msg += "\tIf both players play the same type of spell, the higher number wins!" - msg += "\tThe player who wins the most of the 5 rounds wins the game!" - msg += "\tNow get ready to battle for the fate of the universe: Wiz-Off!" + var/list/msg = list(span_notice("Remember the rules of Wiz-Off!")) + msg += "\t[span_info("Each player draws 5 cards.")]" + msg += "\t[span_info("There are five rounds. Each round, a player selects a card to play, and the winner is selected based on the following rules:")]" + msg += "\t[span_info("Defensive beats Offensive!")]" + msg += "\t[span_info("Offensive beats Utility!")]" + msg += "\t[span_info("Utility beats Defensive!")]" + msg += "\t[span_info("If both players play the same type of spell, the higher number wins!")]" + msg += "\t[span_info("The player who wins the most of the 5 rounds wins the game!")]" + msg += "\t[span_notice("Now get ready to battle for the fate of the universe: Wiz-Off!")]" return msg diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index f4cff764eb9..d9950239b3d 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -195,7 +195,7 @@ /obj/item/food/egg/attack_self(mob/user) ..() if(containsPrize) - to_chat(user, "You unwrap [src] and find a prize inside!") + to_chat(user, span_notice("You unwrap [src] and find a prize inside!")) dispensePrize(get_turf(user)) containsPrize = FALSE qdel(src) diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm index 2e97ec34ad8..38e5467f598 100644 --- a/code/modules/holiday/halloween.dm +++ b/code/modules/holiday/halloween.dm @@ -70,19 +70,19 @@ return else if(trapped == SPOOKY_SKELETON) - visible_message("BOO!") + visible_message(span_userdanger("BOO!")) playsound(loc, 'sound/spookoween/girlscream.ogg', 300, TRUE) trapped = 0 QDEL_IN(trapped_mob, 90) else if(trapped == HOWLING_GHOST) - visible_message("[pick("OooOOooooOOOoOoOOooooOOOOO", "BooOOooOooooOOOO", "BOO!", "WoOOoOoooOooo")]") + visible_message(span_userdanger("[pick("OooOOooooOOOoOoOOooooOOOOO", "BooOOooOooooOOOO", "BOO!", "WoOOoOoooOooo")]")) playsound(loc, 'sound/spookoween/ghosty_wind.ogg', 300, TRUE) new /mob/living/simple_animal/shade/howling_ghost(loc) trapped = 0 else if(trapped == SCARY_BATS) - visible_message("Protect your hair!") + visible_message(span_userdanger("Protect your hair!")) playsound(loc, 'sound/spookoween/bats.ogg', 300, TRUE) var/number = rand(1,3) for(var/i=0,i < number,i++) @@ -90,15 +90,15 @@ trapped = 0 else if(trapped == ANGRY_FAITHLESS) - visible_message("The closet bursts open!") - visible_message("THIS BEING RADIATES PURE EVIL! YOU BETTER RUN!!!") + visible_message(span_userdanger("The closet bursts open!")) + visible_message(span_userdanger("THIS BEING RADIATES PURE EVIL! YOU BETTER RUN!!!")) playsound(loc, 'sound/hallucinations/wail.ogg', 300, TRUE) var/mob/living/simple_animal/hostile/faithless/F = new(loc) trapped = 0 QDEL_IN(F, 120) else if(trapped == INSANE_CLOWN) - visible_message("...") + visible_message(span_userdanger("...")) playsound(loc, 'sound/spookoween/scary_clown_appear.ogg', 300, TRUE) spawn_atom_to_turf(/mob/living/simple_animal/hostile/clown_insane, loc, 1, FALSE) trapped = 0 @@ -249,11 +249,11 @@ /mob/living/simple_animal/hostile/clown_insane/attackby(obj/item/O, mob/user) if(istype(O, /obj/item/nullrod)) if(prob(5)) - visible_message("[src] finally found the peace it deserves. You hear honks echoing off into the distance.") + visible_message(span_notice("[src] finally found the peace it deserves. You hear honks echoing off into the distance.")) playsound(loc, 'sound/spookoween/insane_low_laugh.ogg', 300, TRUE) qdel(src) else - visible_message("[src] seems to be resisting the effect!") + visible_message(span_danger("[src] seems to be resisting the effect!")) return return ..() diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index e8aa507db59..7709e9540ef 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -287,7 +287,7 @@ and clear when youre done! if you dont i will use :newspaper2: on you atom_contents.forceMove(target_turf) if(!silent) - visible_message("[holo_atom] fades away!") + visible_message(span_notice("[holo_atom] fades away!")) qdel(holo_atom) @@ -373,7 +373,7 @@ and clear when youre done! if you dont i will use :newspaper2: on you return playsound(src, "sparks", 75, TRUE) obj_flags |= EMAGGED - to_chat(user, "You vastly increase projector power and override the safety and security protocols.") + to_chat(user, span_warning("You vastly increase projector power and override the safety and security protocols.")) say("Warning. Automatic shutoff and derezzing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.") log_game("[key_name(user)] emagged the Holodeck Control Console") nerf(!(obj_flags & EMAGGED),FALSE) diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index 68d27886a55..2a8189eb084 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -55,14 +55,14 @@ w_class = WEIGHT_CLASS_BULKY hitsound = 'sound/weapons/blade1.ogg' playsound(user, 'sound/weapons/saberon.ogg', 20, TRUE) - to_chat(user, "[src] is now active.") + to_chat(user, span_notice("[src] is now active.")) else force = 3 icon_state = "sword0" w_class = WEIGHT_CLASS_SMALL hitsound = "swing_hit" playsound(user, 'sound/weapons/saberoff.ogg', 20, TRUE) - to_chat(user, "[src] can now be concealed.") + to_chat(user, span_notice("[src] can now be concealed.")) return //BASKETBALL OBJECTS @@ -89,7 +89,7 @@ M.apply_damage(10, STAMINA) if(prob(5)) M.Paralyze(60) - visible_message("[M] is knocked right off [M.p_their()] feet!") + visible_message(span_danger("[M] is knocked right off [M.p_their()] feet!")) // // Structures @@ -106,7 +106,7 @@ /obj/structure/holohoop/attackby(obj/item/W, mob/user, params) if(get_dist(src,user)<2) if(user.transferItemToLoc(W, drop_location())) - visible_message("[user] dunks [W] into \the [src]!") + visible_message(span_warning("[user] dunks [W] into \the [src]!")) /obj/structure/holohoop/attack_hand(mob/living/user, list/modifiers) . = ..() @@ -115,11 +115,11 @@ if(user.pulling && isliving(user.pulling)) var/mob/living/L = user.pulling if(user.grab_state < GRAB_AGGRESSIVE) - to_chat(user, "You need a better grip to do that!") + to_chat(user, span_warning("You need a better grip to do that!")) return L.forceMove(loc) L.Paralyze(100) - visible_message("[user] dunks [L] into \the [src]!") + visible_message(span_danger("[user] dunks [L] into \the [src]!")) user.stop_pulling() else ..() @@ -128,10 +128,10 @@ if (isitem(AM) && !istype(AM,/obj/projectile)) if(prob(50)) AM.forceMove(get_turf(src)) - visible_message("Swish! [AM] lands in [src].") + visible_message(span_warning("Swish! [AM] lands in [src].")) return else - visible_message("[AM] bounces off of [src]'s rim!") + visible_message(span_danger("[AM] bounces off of [src]'s rim!")) return ..() else return ..() @@ -157,22 +157,22 @@ power_channel = AREA_USAGE_ENVIRON /obj/machinery/readybutton/attack_ai(mob/user) - to_chat(user, "The station AI is not to interact with these devices!") + to_chat(user, span_warning("The station AI is not to interact with these devices!")) return /obj/machinery/readybutton/attack_paw(mob/user, list/modifiers) - to_chat(user, "You are too primitive to use this device!") + to_chat(user, span_warning("You are too primitive to use this device!")) return /obj/machinery/readybutton/attackby(obj/item/W, mob/user, params) - to_chat(user, "The device is a solid button, there's nothing you can do with it!") + to_chat(user, span_warning("The device is a solid button, there's nothing you can do with it!")) /obj/machinery/readybutton/attack_hand(mob/user, list/modifiers) . = ..() if(.) return if(user.stat || machine_stat & (NOPOWER|BROKEN)) - to_chat(user, "This device is not powered!") + to_chat(user, span_warning("This device is not powered!")) return currentarea = get_area(src.loc) @@ -180,7 +180,7 @@ qdel(src) if(eventstarted) - to_chat(usr, "The event has already begun!") + to_chat(usr, span_warning("The event has already begun!")) return ready = !ready @@ -210,7 +210,7 @@ qdel(W) for(var/mob/M in currentarea) - to_chat(M, "FIGHT!") + to_chat(M, span_userdanger("FIGHT!")) /obj/machinery/conveyor/holodeck diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 14e20fbecc8..f8f343ce76c 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -126,34 +126,34 @@ . = ..() if(!queen_bee) - . += "There is no queen bee! There won't bee any honeycomb without a queen!" + . += span_warning("There is no queen bee! There won't bee any honeycomb without a queen!") var/half_bee = get_max_bees()*0.5 if(half_bee && (bees.len >= half_bee)) - . += "This place is aBUZZ with activity... there are lots of bees!" + . += span_notice("This place is aBUZZ with activity... there are lots of bees!") - . += "[bee_resources]/100 resource supply." - . += "[bee_resources]% towards a new honeycomb." - . += "[bee_resources*2]% towards a new bee." + . += span_notice("[bee_resources]/100 resource supply.") + . += span_notice("[bee_resources]% towards a new honeycomb.") + . += span_notice("[bee_resources*2]% towards a new bee.") if(honeycombs.len) var/plural = honeycombs.len > 1 - . += "There [plural? "are" : "is"] [honeycombs.len] uncollected honeycomb[plural ? "s":""] in the apiary." + . += span_notice("There [plural? "are" : "is"] [honeycombs.len] uncollected honeycomb[plural ? "s":""] in the apiary.") if(honeycombs.len >= get_max_honeycomb()) - . += "There's no room for more honeycomb!" + . += span_warning("There's no room for more honeycomb!") /obj/structure/beebox/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/honey_frame)) var/obj/item/honey_frame/HF = I if(honey_frames.len < BEEBOX_MAX_FRAMES) - visible_message("[user] adds a frame to the apiary.") + visible_message(span_notice("[user] adds a frame to the apiary.")) if(!user.transferItemToLoc(HF, src)) return honey_frames += HF else - to_chat(user, "There's no room for any more frames in the apiary!") + to_chat(user, span_warning("There's no room for any more frames in the apiary!")) return if(I.tool_behaviour == TOOL_WRENCH) @@ -162,7 +162,7 @@ if(istype(I, /obj/item/queen_bee)) if(queen_bee) - to_chat(user, "This hive already has a queen!") + to_chat(user, span_warning("This hive already has a queen!")) return var/obj/item/queen_bee/qb = I @@ -174,7 +174,7 @@ qb.queen = null if(queen_bee) - visible_message("[user] sets [qb] down inside the apiary, making it their new home.") + visible_message(span_notice("[user] sets [qb] down inside the apiary, making it their new home.")) var/relocated = 0 for(var/b in bees) var/mob/living/simple_animal/hostile/bee/B = b @@ -185,10 +185,10 @@ B.forceMove(drop_location()) relocated++ if(relocated) - to_chat(user, "This queen has a different reagent to some of the bees who live here, those bees will not return to this apiary!") + to_chat(user, span_warning("This queen has a different reagent to some of the bees who live here, those bees will not return to this apiary!")) else - to_chat(user, "The queen bee disappeared! Disappearing bees have been in the news lately...") + to_chat(user, span_warning("The queen bee disappeared! Disappearing bees have been in the news lately...")) qdel(qb) return @@ -209,9 +209,9 @@ B.GiveTarget(user) bees = TRUE if(bees) - visible_message("[user] disturbs the bees!") + visible_message(span_danger("[user] disturbs the bees!")) else - visible_message("[user] disturbs the [name] to no effect!") + visible_message(span_danger("[user] disturbs the [name] to no effect!")) else var/option = tgui_alert(user, "What action do you wish to perform?","Apiary",list("Remove a Honey Frame","Remove the Queen Bee", "Cancel")) if(!Adjacent(user)) @@ -219,14 +219,14 @@ switch(option) if("Remove a Honey Frame") if(!honey_frames.len) - to_chat(user, "There are no honey frames to remove!") + to_chat(user, span_warning("There are no honey frames to remove!")) return var/obj/item/honey_frame/HF = pick_n_take(honey_frames) if(HF) if(!user.put_in_active_hand(HF)) HF.forceMove(drop_location()) - visible_message("[user] removes a frame from the apiary.") + visible_message(span_notice("[user] removes a frame from the apiary.")) var/amtH = HF.honeycomb_capacity var/fallen = 0 @@ -238,11 +238,11 @@ fallen++ if(fallen) var/multiple = fallen > 1 - visible_message("[user] scrapes [multiple ? "[fallen]" : "a"] honeycomb[multiple ? "s" : ""] off of the frame.") + visible_message(span_notice("[user] scrapes [multiple ? "[fallen]" : "a"] honeycomb[multiple ? "s" : ""] off of the frame.")) if("Remove the Queen Bee") if(!queen_bee || queen_bee.loc != src) - to_chat(user, "There is no queen bee to remove!") + to_chat(user, span_warning("There is no queen bee to remove!")) return var/obj/item/queen_bee/QB = new() queen_bee.forceMove(QB) @@ -251,7 +251,7 @@ QB.name = queen_bee.name if(!user.put_in_active_hand(QB)) QB.forceMove(drop_location()) - visible_message("[user] removes the queen from the apiary.") + visible_message(span_notice("[user] removes the queen from the apiary.")) queen_bee = null /obj/structure/beebox/deconstruct(disassembled = TRUE) diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 78055783ce4..c54f0f211dc 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -61,7 +61,7 @@ /obj/machinery/biogenerator/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "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.
    " + . += span_notice("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/update_icon_state() if(panel_open) @@ -81,7 +81,7 @@ return ..() if(processing) - to_chat(user, "The biogenerator is currently processing.") + to_chat(user, span_warning("The biogenerator is currently processing.")) return if(default_deconstruction_screwdriver(user, "biogen-empty-o", "biogen-empty", O)) @@ -97,7 +97,7 @@ if(istype(O, /obj/item/reagent_containers/glass)) if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_warning("Close the maintenance panel first.")) else insert_beaker(user, O) @@ -109,7 +109,7 @@ for(var/obj/item/food/grown/G in contents) i++ if(i >= max_items) - to_chat(user, "The biogenerator is already full! Activate it.") + to_chat(user, span_warning("The biogenerator is already full! Activate it.")) else for(var/obj/item/food/grown/G in PB.contents) if(i >= max_items) @@ -117,11 +117,11 @@ if(SEND_SIGNAL(PB, COMSIG_TRY_STORAGE_TAKE, G, src)) i++ if(iYou empty the plant bag into the biogenerator.
    ") + to_chat(user, span_info("You empty the plant bag into the biogenerator.")) else if(PB.contents.len == 0) - to_chat(user, "You empty the plant bag into the biogenerator, filling it to its capacity.") + to_chat(user, span_info("You empty the plant bag into the biogenerator, filling it to its capacity.")) else - to_chat(user, "You fill the biogenerator to its capacity.") + to_chat(user, span_info("You fill the biogenerator to its capacity.")) return TRUE //no afterattack else if(istype(O, /obj/item/food/grown)) @@ -129,15 +129,15 @@ for(var/obj/item/food/grown/G in contents) i++ if(i >= max_items) - to_chat(user, "The biogenerator is full! Activate it.") + to_chat(user, span_warning("The biogenerator is full! Activate it.")) else if(user.transferItemToLoc(O, src)) - to_chat(user, "You put [O.name] in [src.name]") + to_chat(user, span_info("You put [O.name] in [src.name]")) return TRUE //no afterattack else if (istype(O, /obj/item/disk/design_disk)) - user.visible_message("[user] begins to load \the [O] in \the [src]...", - "You begin to load a design from \the [O]...", - "You hear the chatter of a floppy drive.") + user.visible_message(span_notice("[user] begins to load \the [O] in \the [src]..."), + span_notice("You begin to load a design from \the [O]..."), + span_hear("You hear the chatter of a floppy drive.")) processing = TRUE var/obj/item/disk/design_disk/D = O if(do_after(user, 10, target = src)) @@ -147,7 +147,7 @@ processing = FALSE return TRUE else - to_chat(user, "You cannot put this in [src.name]!") + to_chat(user, span_warning("You cannot put this in [src.name]!")) /obj/machinery/biogenerator/AltClick(mob/living/user) . = ..() @@ -166,7 +166,7 @@ if(machine_stat != NONE) return if(processing) - to_chat(user, "The biogenerator is in the process of working.") + to_chat(user, span_warning("The biogenerator is in the process of working.")) return var/S = 0 for(var/obj/item/food/grown/I in contents) @@ -251,10 +251,10 @@ return if(beaker) - to_chat(user, "You swap out [beaker] in [src] for [inserted_beaker].") + to_chat(user, span_notice("You swap out [beaker] in [src] for [inserted_beaker].")) eject_beaker(user, silent = TRUE) else - to_chat(user, "You add [inserted_beaker] to [src].") + to_chat(user, span_notice("You add [inserted_beaker] to [src].")) beaker = inserted_beaker update_appearance() @@ -274,10 +274,10 @@ if(user.put_in_hands(beaker)) if(!silent) - to_chat(user, "You eject [beaker] from [src].") + to_chat(user, span_notice("You eject [beaker] from [src].")) else if(!silent) - to_chat(user, "You eject [beaker] from [src] onto the ground.") + to_chat(user, span_notice("You eject [beaker] from [src] onto the ground.")) beaker.forceMove(drop_location()) beaker = null diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index d878142e9a1..15f741e3f51 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -18,7 +18,7 @@ /obj/structure/fermenting_barrel/examine(mob/user) . = ..() - . += "It is currently [open?"open, letting you pour liquids in.":"closed, letting you draw liquids from the tap."]" + . += span_notice("It is currently [open?"open, letting you pour liquids in.":"closed, letting you draw liquids from the tap."]") /obj/structure/fermenting_barrel/proc/makeWine(obj/item/food/grown/fruit) if(fruit.reagents) @@ -43,12 +43,12 @@ var/obj/item/food/grown/fruit = I if(istype(fruit)) if(!fruit.can_distill) - to_chat(user, "You can't distill this into anything...") + to_chat(user, span_warning("You can't distill this into anything...")) return TRUE else if(!user.transferItemToLoc(I,src)) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, span_warning("[I] is stuck to your hand!")) return TRUE - to_chat(user, "You place [I] into [src] to start the fermentation process.") + to_chat(user, span_notice("You place [I] into [src] to start the fermentation process.")) addtimer(CALLBACK(src, .proc/makeWine, fruit), rand(80, 120) * speed_multiplier) return TRUE if(I) @@ -64,11 +64,11 @@ if(open) reagents.flags &= ~(DRAINABLE) reagents.flags |= REFILLABLE | TRANSPARENT - to_chat(user, "You open [src], letting you fill it.") + to_chat(user, span_notice("You open [src], letting you fill it.")) else reagents.flags |= DRAINABLE reagents.flags &= ~(REFILLABLE | TRANSPARENT) - to_chat(user, "You close [src], letting you draw from its tap.") + to_chat(user, span_notice("You close [src], letting you draw from its tap.")) update_appearance() /obj/structure/fermenting_barrel/update_icon_state() diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index bc85bb18378..413fdda4556 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -102,7 +102,7 @@ /obj/item/food/grown/grind_requirements() if(dry_grind && !HAS_TRAIT(src, TRAIT_DRIED)) - to_chat(usr, "[src] needs to be dry before it can be ground up!") + to_chat(usr, span_warning("[src] needs to be dry before it can be ground up!")) return return TRUE diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index b07cf3318c6..34c54acd999 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -36,7 +36,7 @@ peel.juice_results = list(/datum/reagent/medicine/coagulant/banana_peel = seed.potency * 0.2) /obj/item/food/grown/banana/suicide_act(mob/user) - user.visible_message("[user] is aiming [src] at [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is aiming [src] at [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/bikehorn.ogg', 50, TRUE, -1) sleep(25) if(!user) @@ -71,7 +71,7 @@ icon_state = "[icon_state]_3" /obj/item/grown/bananapeel/suicide_act(mob/user) - user.visible_message("[user] is deliberately slipping on [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is deliberately slipping on [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/misc/slip.ogg', 50, TRUE, -1) return (BRUTELOSS) diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index 88573a6ca83..b1c51269fbf 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -95,7 +95,7 @@ can_distill = FALSE /obj/item/food/grown/meatwheat/attack_self(mob/living/user) - user.visible_message("[user] crushes [src] into meat.", "You crush [src] into something that resembles meat.") + user.visible_message(span_notice("[user] crushes [src] into meat."), span_notice("You crush [src] into something that resembles meat.")) playsound(user, 'sound/effects/blobattack.ogg', 50, TRUE) var/obj/item/food/meat/slab/meatwheat/M = new qdel(src) diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index 9badeed8100..989afff78ab 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -42,7 +42,7 @@ /obj/item/grown/corncob/attackby(obj/item/grown/W, mob/user, params) if(W.get_sharpness()) - to_chat(user, "You use [W] to fashion a pipe out of the corn cob!") + to_chat(user, span_notice("You use [W] to fashion a pipe out of the corn cob!")) new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc) qdel(src) else @@ -77,7 +77,7 @@ /obj/item/grown/snapcorn/attack_self(mob/user) ..() - to_chat(user, "You pick a snap pop from the cob.") + to_chat(user, span_notice("You pick a snap pop from the cob.")) var/obj/item/toy/snappop/S = new /obj/item/toy/snappop(user.loc) if(ishuman(user)) user.put_in_hands(S) diff --git a/code/modules/hydroponics/grown/cotton.dm b/code/modules/hydroponics/grown/cotton.dm index 1941c6d6a81..93d849bc704 100644 --- a/code/modules/hydroponics/grown/cotton.dm +++ b/code/modules/hydroponics/grown/cotton.dm @@ -34,7 +34,7 @@ var/cotton_name = "raw cotton" /obj/item/grown/cotton/attack_self(mob/user) - user.show_message("You pull some [cotton_name] out of the [name]!", MSG_VISUAL) + user.show_message(span_notice("You pull some [cotton_name] out of the [name]!"), MSG_VISUAL) var/seed_modifier = 0 if(seed) seed_modifier = round(seed.potency / 25) @@ -44,7 +44,7 @@ if(ST != cotton && istype(ST, cotton_type) && ST.amount < ST.max_amount) ST.attackby(cotton, user) if(cotton.amount > old_cotton_amount) - to_chat(user, "You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].") + to_chat(user, span_notice("You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].")) qdel(src) //reinforced mutated variant diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm index f92053ec69c..fcc2a803cae 100644 --- a/code/modules/hydroponics/grown/grass_carpet.dm +++ b/code/modules/hydroponics/grown/grass_carpet.dm @@ -30,7 +30,7 @@ wine_power = 15 /obj/item/food/grown/grass/attack_self(mob/user) - to_chat(user, "You prepare the astroturf.") + to_chat(user, span_notice("You prepare the astroturf.")) var/grassAmt = 1 + round(seed.potency * tile_coefficient) // The grass we're holding for(var/obj/item/food/grown/grass/G in user.loc) // The grass on the floor if(G.type != type) diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm index f035d56ed6f..b965a5fbffb 100644 --- a/code/modules/hydroponics/grown/kudzu.dm +++ b/code/modules/hydroponics/grown/kudzu.dm @@ -24,7 +24,7 @@ return S /obj/item/seeds/kudzu/suicide_act(mob/user) - user.visible_message("[user] swallows the pack of kudzu seeds! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] swallows the pack of kudzu seeds! It looks like [user.p_theyre()] trying to commit suicide!")) plant(user) return (BRUTELOSS) @@ -32,22 +32,22 @@ if(isspaceturf(user.loc)) return if(!isturf(user.loc)) - to_chat(user, "You need more space to plant [src].") + to_chat(user, span_warning("You need more space to plant [src].")) return FALSE if(locate(/obj/structure/spacevine) in user.loc) - to_chat(user, "There is too much kudzu here to plant [src].") + to_chat(user, span_warning("There is too much kudzu here to plant [src].")) return FALSE - to_chat(user, "You plant [src].") + to_chat(user, span_notice("You plant [src].")) message_admins("Kudzu planted by [ADMIN_LOOKUPFLW(user)] at [ADMIN_VERBOSEJMP(user)]") investigate_log("was planted by [key_name(user)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) new /datum/spacevine_controller(get_turf(user), mutations, potency, production) qdel(src) /obj/item/seeds/kudzu/attack_self(mob/user) - user.visible_message("[user] begins throwing seeds on the ground...") + user.visible_message(span_danger("[user] begins throwing seeds on the ground...")) if(do_after(user, 5 SECONDS, target = user.drop_location(), progress = TRUE)) plant(user) - to_chat(user, "You plant the kudzu. You monster.") + to_chat(user, span_notice("You plant the kudzu. You monster.")) /obj/item/seeds/kudzu/get_unique_analyzer_text() var/kudzu_mutations = "" diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm index be5100937c1..a9a6771cf00 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -16,7 +16,7 @@ reagents_add = list(/datum/reagent/water = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.2) /obj/item/seeds/watermelon/suicide_act(mob/living/user) - user.visible_message("[user] is swallowing [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is swallowing [src]! It looks like [user.p_theyre()] trying to commit suicide!")) user.gib() new product(drop_location()) qdel(src) @@ -74,7 +74,7 @@ var/mob/living/carbon/human/holy_person = M if(!holy_person.mind?.holy_role || HAS_TRAIT(holy_person, TRAIT_AGEUSIA)) return - to_chat(holy_person,"Truly, a piece of heaven!") + to_chat(holy_person,span_notice("Truly, a piece of heaven!")) M.adjust_disgust(-5 + -2.5 * fraction) SEND_SIGNAL(holy_person, COMSIG_ADD_MOOD_EVENT, "Divine_chew", /datum/mood_event/holy_consumption) last_check_time = world.time diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 9a685736ebc..40a4c5554e9 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -246,8 +246,8 @@ var/turf/player_turf = get_turf(user) if(player_turf?.is_blocked_turf(TRUE)) return FALSE - user.visible_message("[user] begins to plant \the [src]...") + user.visible_message(span_danger("[user] begins to plant \the [src]...")) if(do_after(user, 8 SECONDS, target = user.drop_location(), progress = TRUE)) new /obj/structure/fluff/hedge/opaque(user.drop_location()) - to_chat(user, "You plant \the [src].") + to_chat(user, span_notice("You plant \the [src].")) qdel(src) diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index c06732f0fe4..7eef3d1e0c5 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -256,7 +256,7 @@ if(isspaceturf(user.loc)) return FALSE if(!isturf(user.loc)) - to_chat(user, "You need more space to plant [src].") + to_chat(user, span_warning("You need more space to plant [src].")) return FALSE var/count = 0 var/maxcount = 1 @@ -267,10 +267,10 @@ for(var/obj/structure/glowshroom/G in user.loc) count++ if(count >= maxcount) - to_chat(user, "There are too many shrooms here to plant [src].") + to_chat(user, span_warning("There are too many shrooms here to plant [src].")) return FALSE new effect_path(user.loc, seed) - to_chat(user, "You plant [src].") + to_chat(user, span_notice("You plant [src].")) qdel(src) return TRUE diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index 0a351e63da5..271d7e99e53 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -51,7 +51,7 @@ attack_verb_simple = list("sting") /obj/item/food/grown/nettle/suicide_act(mob/user) - user.visible_message("[user] is eating some of [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is eating some of [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS|TOXLOSS) /obj/item/food/grown/nettle/death diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm index 05f62c79d0d..df87b25f523 100644 --- a/code/modules/hydroponics/grown/potato.dm +++ b/code/modules/hydroponics/grown/potato.dm @@ -36,7 +36,7 @@ /obj/item/food/grown/potato/attackby(obj/item/W, mob/user, params) if(W.get_sharpness()) - to_chat(user, "You cut the potato into wedges with [W].") + to_chat(user, span_notice("You cut the potato into wedges with [W].")) var/obj/item/food/grown/potato/wedges/Wedges = new /obj/item/food/grown/potato/wedges remove_item_from_storage(user) qdel(src) diff --git a/code/modules/hydroponics/grown/pumpkin.dm b/code/modules/hydroponics/grown/pumpkin.dm index df481072a53..f8dca925dc7 100644 --- a/code/modules/hydroponics/grown/pumpkin.dm +++ b/code/modules/hydroponics/grown/pumpkin.dm @@ -28,7 +28,7 @@ /obj/item/food/grown/pumpkin/attackby(obj/item/W as obj, mob/user as mob, params) if(W.get_sharpness()) - user.show_message("You carve a face into [src]!", MSG_VISUAL) + user.show_message(span_notice("You carve a face into [src]!"), MSG_VISUAL) new /obj/item/clothing/head/hardhat/pumpkinhead(user.loc) qdel(src) return diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm index e4af248fa03..e4d5e4cd52d 100644 --- a/code/modules/hydroponics/grown/replicapod.dm +++ b/code/modules/hydroponics/grown/replicapod.dm @@ -61,10 +61,10 @@ quirks = B.data["quirks"] sampleDNA = B.data["blood_DNA"] contains_sample = TRUE - visible_message("The [src] is injected with a fresh blood sample.") + visible_message(span_notice("The [src] is injected with a fresh blood sample.")) log_cloning("[key_name(mind)]'s cloning record was added to [src] at [AREACOORD(src)].") else - visible_message("The [src] rejects the sample!") + visible_message(span_warning("The [src] rejects the sample!")) return NONE /// Handles reagents being deleted from these seeds. diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm index c740919af67..f7ba913ce8b 100644 --- a/code/modules/hydroponics/grown/root.dm +++ b/code/modules/hydroponics/grown/root.dm @@ -27,7 +27,7 @@ /obj/item/food/grown/carrot/attackby(obj/item/I, mob/user, params) if(I.get_sharpness()) - to_chat(user, "You sharpen the carrot into a shiv with [I].") + to_chat(user, span_notice("You sharpen the carrot into a shiv with [I].")) var/obj/item/kitchen/knife/shiv/carrot/Shiv = new /obj/item/kitchen/knife/shiv/carrot remove_item_from_storage(user) qdel(src) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 7c5cefff995..c8e01f3ee20 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -56,7 +56,7 @@ /obj/item/grown/log/attackby(obj/item/W, mob/user, params) if(W.get_sharpness()) - user.show_message("You make [plank_name] out of \the [src]!", MSG_VISUAL) + user.show_message(span_notice("You make [plank_name] out of \the [src]!"), MSG_VISUAL) var/seed_modifier = 0 if(seed) seed_modifier = round(seed.potency / 25) @@ -66,13 +66,13 @@ if(ST != plank && istype(ST, plank_type) && ST.amount < ST.max_amount) ST.attackby(plank, user) //we try to transfer all old unfinished stacks to the new stack we created. if(plank.amount > old_plank_amount) - to_chat(user, "You add the newly-formed [plank_name] to the stack. It now contains [plank.amount] [plank_name].") + to_chat(user, span_notice("You add the newly-formed [plank_name] to the stack. It now contains [plank.amount] [plank_name].")) qdel(src) if(CheckAccepted(W)) var/obj/item/food/grown/leaf = W if(HAS_TRAIT(leaf, TRAIT_DRIED)) - user.show_message("You wrap \the [W] around the log, turning it into a torch!") + user.show_message(span_notice("You wrap \the [W] around the log, turning it into a torch!")) var/obj/item/flashlight/flare/torch/T = new /obj/item/flashlight/flare/torch(user.loc) usr.dropItemToGround(W) usr.put_in_active_hand(T) @@ -80,7 +80,7 @@ qdel(src) return else - to_chat(usr, "You must dry this first!") + to_chat(usr, span_warning("You must dry this first!")) else return ..() @@ -190,14 +190,14 @@ R.use(1) can_buckle = TRUE buckle_requires_restraints = TRUE - to_chat(user, "You add a rod to \the [src].") + to_chat(user, span_notice("You add a rod to \the [src].")) var/mutable_appearance/rod_underlay = mutable_appearance('icons/obj/hydroponics/equipment.dmi', "bonfire_rod") rod_underlay.pixel_y = 16 underlays += rod_underlay if("Grill") R.use(1) grill = TRUE - to_chat(user, "You add a grill to \the [src].") + to_chat(user, span_notice("You add a grill to \the [src].")) add_overlay("bonfire_grill") else return ..() @@ -223,7 +223,7 @@ if(.) return if(burning) - to_chat(user, "You need to extinguish [src] before removing the logs!") + to_chat(user, span_warning("You need to extinguish [src] before removing the logs!")) return if(!has_buckled_mobs() && do_after(user, 50, target = src)) for(var/obj/item/grown/log/L in contents) diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 553afc286c2..86b486b9cc1 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -14,7 +14,7 @@ /obj/item/plant_analyzer/examine() . = ..() - . += "Left click a plant to scan its growth stats, and right click to scan its chemical reagent stats." + . += span_notice("Left click a plant to scan its growth stats, and right click to scan its chemical reagent stats.") /// When we attack something, first - try to scan something we hit with left click. Left-clicking uses scans for stats /obj/item/plant_analyzer/pre_attack(atom/target, mob/living/user) @@ -104,8 +104,8 @@ * user - the person doing the scanning */ /obj/item/plant_analyzer/proc/plant_biotype_health_scan(mob/living/scanned_mob, mob/living/carbon/human/user) - user.visible_message("[user] analyzes [scanned_mob]'s vitals.", \ - "You analyze [scanned_mob]'s vitals.") + user.visible_message(span_notice("[user] analyzes [scanned_mob]'s vitals."), \ + span_notice("You analyze [scanned_mob]'s vitals.")) healthscan(user, scanned_mob, advanced = TRUE) add_fingerprint(user) @@ -117,8 +117,8 @@ * user - the person doing the scanning */ /obj/item/plant_analyzer/proc/plant_biotype_chem_scan(mob/living/scanned_mob, mob/living/carbon/human/user) - user.visible_message("[user] analyzes [scanned_mob]'s bloodstream.", \ - "You analyze [scanned_mob]'s bloodstream.") + user.visible_message(span_notice("[user] analyzes [scanned_mob]'s bloodstream."), \ + span_notice("You analyze [scanned_mob]'s bloodstream.")) chemscan(user, scanned_mob) add_fingerprint(user) @@ -134,19 +134,19 @@ var/returned_message = "*---------*\n" if(scanned_tray.myseed) returned_message += "*** [scanned_tray.myseed.plantname] ***\n" - returned_message += "- Plant Age: [scanned_tray.age]\n" + returned_message += "- Plant Age: [span_notice("[scanned_tray.age]")]
    \n" returned_message += scan_plant_stats(scanned_tray.myseed) else - returned_message += "No plant found.\n" + returned_message += "[span_info("No plant found.")]\n" returned_message += "" - returned_message += "- Weed level: [scanned_tray.weedlevel] / [MAX_TRAY_WEEDS]\n" - returned_message += "- Pest level: [scanned_tray.pestlevel] / [MAX_TRAY_PESTS]\n" - returned_message += "- Toxicity level: [scanned_tray.toxic] / [MAX_TRAY_TOXINS]\n" - returned_message += "- Water level: [scanned_tray.waterlevel] / [scanned_tray.maxwater]\n" - returned_message += "- Nutrition level: [scanned_tray.reagents.total_volume] / [scanned_tray.maxnutri]\n" + returned_message += "- Weed level: [span_notice("[scanned_tray.weedlevel] / [MAX_TRAY_WEEDS]")]\n" + returned_message += "- Pest level: [span_notice("[scanned_tray.pestlevel] / [MAX_TRAY_PESTS]")]\n" + returned_message += "- Toxicity level: [span_notice("[scanned_tray.toxic] / [MAX_TRAY_TOXINS]")]\n" + returned_message += "- Water level: [span_notice("[scanned_tray.waterlevel] / [scanned_tray.maxwater]")]\n" + returned_message += "- Nutrition level: [span_notice("[scanned_tray.reagents.total_volume] / [scanned_tray.maxnutri]")]\n" if(scanned_tray.yieldmod != 1) - returned_message += "- Yield modifier on harvest: [scanned_tray.yieldmod]x\n" + returned_message += "- Yield modifier on harvest: [span_notice("[scanned_tray.yieldmod]x")]\n" returned_message += "*---------*" return returned_message @@ -163,19 +163,19 @@ var/returned_message = "*---------*\n" if(scanned_tray.myseed) returned_message += "*** [scanned_tray.myseed.plantname] ***\n" - returned_message += "- Plant Age: [scanned_tray.age]\n" + returned_message += "- Plant Age: [span_notice("[scanned_tray.age]")]\n" returned_message += scan_plant_chems(scanned_tray.myseed) else - returned_message += "No plant found.\n" + returned_message += "[span_info("No plant found.")]\n" returned_message += "" returned_message += "- Tray contains:\n" if(scanned_tray.reagents.reagent_list.len) for(var/datum/reagent/reagent_id in scanned_tray.reagents.reagent_list) - returned_message += "- [reagent_id.volume] / [scanned_tray.maxnutri] units of [reagent_id]\n" + returned_message += "- [span_notice("[reagent_id.volume] / [scanned_tray.maxnutri] units of [reagent_id]")]\n" else - returned_message += "No reagents found.\n" + returned_message += "[span_notice("No reagents found.")]\n" returned_message += "*---------*" return returned_message @@ -189,7 +189,7 @@ * Returns the formatted output as text. */ /obj/item/plant_analyzer/proc/scan_plant_stats(obj/item/scanned_object) - var/returned_message = "*---------*\nThis is \a [scanned_object].\n" + var/returned_message = "[span_info("*---------*\nThis is \a [scanned_object]")].\n" var/obj/item/seeds/our_seed = scanned_object if(!istype(our_seed)) //if we weren't passed a seed, we were passed a plant with a seed our_seed = scanned_object.get_plant_seed() @@ -211,7 +211,7 @@ * Returns the formatted output as text. */ /obj/item/plant_analyzer/proc/scan_plant_chems(obj/item/scanned_object) - var/returned_message = "*---------*\nThis is \a [scanned_object].\n" + var/returned_message = "[span_info("*---------*\nThis is \a [scanned_object]")].\n" var/obj/item/seeds/our_seed = scanned_object if(!istype(our_seed)) //if we weren't passed a seed, we were passed a plant with a seed our_seed = scanned_object.get_plant_seed() @@ -236,28 +236,28 @@ /obj/item/plant_analyzer/proc/get_analyzer_text_traits(obj/item/seeds/scanned) var/text = "" if(scanned.get_gene(/datum/plant_gene/trait/plant_type/weed_hardy)) - text += "- Plant type: Weed. Can grow in nutrient-poor soil.\n" + text += "- Plant type: [span_notice("Weed. Can grow in nutrient-poor soil.")]\n" else if(scanned.get_gene(/datum/plant_gene/trait/plant_type/fungal_metabolism)) - text += "- Plant type: Mushroom. Can grow in dry soil.\n" + text += "- Plant type: [span_notice("Mushroom. Can grow in dry soil.")]\n" else if(scanned.get_gene(/datum/plant_gene/trait/plant_type/alien_properties)) - text += "- Plant type: UNKNOWN \n" + text += "- Plant type: [span_warning("UNKNOWN")] \n" else - text += "- Plant type: Normal plant\n" + text += "- Plant type: [span_notice("Normal plant")]\n" if(scanned.potency != -1) - text += "- Potency: [scanned.potency]\n" + text += "- Potency: [span_notice("[scanned.potency]")]\n" if(scanned.yield != -1) - text += "- Yield: [scanned.yield]\n" - text += "- Maturation speed: [scanned.maturation]\n" + text += "- Yield: [span_notice("[scanned.yield]")]\n" + text += "- Maturation speed: [span_notice("[scanned.maturation]")]\n" if(scanned.yield != -1) - text += "- Production speed: [scanned.production]\n" - text += "- Endurance: [scanned.endurance]\n" - text += "- Lifespan: [scanned.lifespan]\n" - text += "- Instability: [scanned.instability]\n" - text += "- Weed Growth Rate: [scanned.weed_rate]\n" - text += "- Weed Vulnerability: [scanned.weed_chance]\n" + text += "- Production speed: [span_notice("[scanned.production]")]\n" + text += "- Endurance: [span_notice("[scanned.endurance]")]\n" + text += "- Lifespan: [span_notice("[scanned.lifespan]")]\n" + text += "- Instability: [span_notice("[scanned.instability]")]\n" + text += "- Weed Growth Rate: [span_notice("[scanned.weed_rate]")]\n" + text += "- Weed Vulnerability: [span_notice("[scanned.weed_chance]")]\n" if(scanned.rarity) - text += "- Species Discovery Value: [scanned.rarity]\n" + text += "- Species Discovery Value: [span_notice("[scanned.rarity]")]\n" var/all_removable_traits = "" var/all_immutable_traits = "" for(var/datum/plant_gene/trait/traits in scanned.genes) @@ -268,10 +268,10 @@ else all_immutable_traits += "[(all_immutable_traits == "") ? "" : ", "][traits.get_name()]" - text += "- Plant Traits: [all_removable_traits? all_removable_traits : "None."]\n" - text += "- Core Plant Traits: [all_immutable_traits? all_immutable_traits : "None."]\n" + text += "- Plant Traits: [span_notice("[all_removable_traits? all_removable_traits : "None."]")]\n" + text += "- Core Plant Traits: [span_notice("[all_immutable_traits? all_immutable_traits : "None."]")]\n" var/datum/plant_gene/scanned_graft_result = scanned.graft_gene? new scanned.graft_gene : new /datum/plant_gene/trait/repeated_harvest - text += "- Grafting this plant would give: [scanned_graft_result.get_name()]\n" + text += "- Grafting this plant would give: [span_notice("[scanned_graft_result.get_name()]")]\n" QDEL_NULL(scanned_graft_result) //graft genes are stored as typepaths so if we want to get their formatted name we need a datum ref - musn't forget to clean up afterwards text += "*---------*" var/unique_text = scanned.get_unique_analyzer_text() @@ -307,21 +307,21 @@ /obj/item/plant_analyzer/proc/get_analyzer_text_chem_contents(obj/item/scanned_plant) var/text = "" var/reagents_text = "" - text += "
    - Plant Reagents -" - text += "
    Maximum reagent capacity: [scanned_plant.reagents.maximum_volume]" + text += "
    [span_info("- Plant Reagents -")]" + text += "
    [span_info("Maximum reagent capacity: [scanned_plant.reagents.maximum_volume]")]" var/chem_cap = 0 for(var/_reagent in scanned_plant.reagents.reagent_list) var/datum/reagent/reagent = _reagent var/amount = reagent.volume chem_cap += reagent.volume - reagents_text += "\n- [reagent.name]: [amount]" + reagents_text += "\n[span_info("- [reagent.name]: [amount]")]" if(chem_cap > 100) - text += "
    - Reagent Traits Over 100% Production
    " + text += "
    [span_warning("- Reagent Traits Over 100% Production")]
    " if(reagents_text) - text += "
    *---------*" + text += "
    [span_info("*---------*")]" text += reagents_text - text += "
    *---------*" + text += "
    [span_info("*---------*")]" return text /** @@ -332,18 +332,18 @@ * Returns the formatted output as text. */ /obj/item/plant_analyzer/proc/get_graft_text(obj/item/graft/scanned_graft) - var/text = "*---------*\n- Plant Graft -\n" + var/text = "[span_info("*---------*")]\n- Plant Graft -\n" if(scanned_graft.parent_name) - text += "- Parent Plant: [scanned_graft.parent_name] -\n" + text += "- Parent Plant: [span_notice("[scanned_graft.parent_name]")] -\n" if(scanned_graft.stored_trait) - text += "- Graftable Traits: [scanned_graft.stored_trait.get_name()] -\n" + text += "- Graftable Traits: [span_notice("[scanned_graft.stored_trait.get_name()]")] -\n" text += "*---------*\n" - text += "- Yield: [scanned_graft.yield]\n" - text += "- Production speed: [scanned_graft.production]\n" - text += "- Endurance: [scanned_graft.endurance]\n" - text += "- Lifespan: [scanned_graft.lifespan]\n" - text += "- Weed Growth Rate: [scanned_graft.weed_rate]\n" - text += "- Weed Vulnerability: [scanned_graft.weed_chance]\n" + text += "- Yield: [span_notice("[scanned_graft.yield]")]\n" + text += "- Production speed: [span_notice("[scanned_graft.production]")]\n" + text += "- Endurance: [span_notice("[scanned_graft.endurance]")]\n" + text += "- Lifespan: [span_notice("[scanned_graft.lifespan]")]\n" + text += "- Weed Growth Rate: [span_notice("[scanned_graft.weed_rate]")]\n" + text += "- Weed Vulnerability: [span_notice("[scanned_graft.weed_chance]")]\n" text += "*---------*" return text @@ -365,7 +365,7 @@ list_reagents = list(/datum/reagent/toxin/plantbgone/weedkiller = 100) /obj/item/reagent_containers/spray/weedspray/suicide_act(mob/user) - user.visible_message("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (TOXLOSS) /obj/item/reagent_containers/spray/pestspray // -- Skie @@ -381,7 +381,7 @@ list_reagents = list(/datum/reagent/toxin/pestkiller = 100) /obj/item/reagent_containers/spray/pestspray/suicide_act(mob/user) - user.visible_message("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (TOXLOSS) /obj/item/cultivator @@ -402,7 +402,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' /obj/item/cultivator/suicide_act(mob/user) - user.visible_message("[user] is scratching [user.p_their()] back as hard as [user.p_they()] can with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is scratching [user.p_their()] back as hard as [user.p_they()] can with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) /obj/item/cultivator/rake @@ -432,8 +432,8 @@ H.set_confusion(max(H.get_confusion(), 10)) H.Stun(20) playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) - H.visible_message("[H] steps on [src] causing the handle to hit [H.p_them()] right in the face!", \ - "You step on [src] causing the handle to hit you right in the face!") + H.visible_message(span_warning("[H] steps on [src] causing the handle to hit [H.p_them()] right in the face!"), \ + span_userdanger("You step on [src] causing the handle to hit you right in the face!")) /obj/item/hatchet name = "hatchet" @@ -461,7 +461,7 @@ AddComponent(/datum/component/butchering, 70, 100) /obj/item/hatchet/suicide_act(mob/user) - user.visible_message("[user] is chopping at [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is chopping at [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, 'sound/weapons/bladeslice.ogg', 50, TRUE, -1) return (BRUTELOSS) @@ -495,7 +495,7 @@ AddComponent(/datum/component/butchering, 90, 105) /obj/item/scythe/suicide_act(mob/user) - user.visible_message("[user] is beheading [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is beheading [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) if(iscarbon(user)) var/mob/living/carbon/C = user var/obj/item/bodypart/BP = C.get_bodypart(BODY_ZONE_HEAD) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index c24d7c2bc38..2e5bf697da5 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -89,9 +89,9 @@ /obj/machinery/hydroponics/constructable/examine(mob/user) . = ..() - . += "Use Ctrl-Click to activate autogrow. Alt-Click to empty the tray's nutrients." + . += span_notice("Use Ctrl-Click to activate autogrow. Alt-Click to empty the tray's nutrients.") if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Tray efficiency at [rating*100]%." + . += span_notice("The status display reads: Tray efficiency at [rating*100]%.") /obj/machinery/hydroponics/Destroy() @@ -132,7 +132,7 @@ myseed.forceMove(src) if(!powered() && self_sustaining) - visible_message("[name]'s auto-grow functionality shuts off!") + visible_message(span_warning("[name]'s auto-grow functionality shuts off!")) idle_power_usage = 0 self_sustaining = FALSE update_appearance() @@ -345,25 +345,25 @@ /obj/machinery/hydroponics/examine(user) . = ..() if(myseed) - . += "It has [myseed.plantname] planted." + . += span_info("It has [span_name("[myseed.plantname]")] planted.") if (dead) - . += "It's dead!" + . += span_warning("It's dead!") else if (harvest) - . += "It's ready to harvest." + . += span_info("It's ready to harvest.") else if (plant_health <= (myseed.endurance / 2)) - . += "It looks unhealthy." + . += span_warning("It looks unhealthy.") else - . += "It's empty." + . += span_info("It's empty.") - . += "Water: [waterlevel]/[maxwater]." - . += "Nutrient: [reagents.total_volume]/[maxnutri]." + . += span_info("Water: [waterlevel]/[maxwater].") + . += span_info("Nutrient: [reagents.total_volume]/[maxnutri].") if(self_sustaining) - . += "The tray's autogrow is active, protecting it from species mutations, weeds, and pests." + . += span_info("The tray's autogrow is active, protecting it from species mutations, weeds, and pests.") if(weedlevel >= 5) - . += "It's filled with weeds!" + . += span_warning("It's filled with weeds!") if(pestlevel >= 5) - . += "It's filled with tiny worms!" + . += span_warning("It's filled with tiny worms!") /** * What happens when a tray's weeds grow too large. @@ -402,7 +402,7 @@ weedlevel = 0 // Reset pestlevel = 0 // Reset update_appearance() - visible_message("The [oldPlantName] is overtaken by some [myseed.plantname]!") + visible_message(span_warning("The [oldPlantName] is overtaken by some [myseed.plantname]!")) TRAY_NAME_UPDATE /obj/machinery/hydroponics/proc/mutate(lifemut = 2, endmut = 5, productmut = 1, yieldmut = 2, potmut = 25, wrmut = 2, wcmut = 5, traitmut = 0, stabmut = 3) // Mutates the current seed @@ -434,7 +434,7 @@ harvest = FALSE weedlevel = 0 // Reset - var/message = "[oldPlantName] suddenly mutates into [myseed.plantname]!" + var/message = span_warning("[oldPlantName] suddenly mutates into [myseed.plantname]!") addtimer(CALLBACK(src, .proc/after_mutation, message), 0.5 SECONDS) /obj/machinery/hydroponics/proc/mutateweed() // If the weeds gets the mutagent instead. Mind you, this pretty much destroys the old plant @@ -452,10 +452,10 @@ harvest = FALSE weedlevel = 0 // Reset - var/message = "The mutated weeds in [src] spawn some [myseed.plantname]!" + var/message = span_warning("The mutated weeds in [src] spawn some [myseed.plantname]!") addtimer(CALLBACK(src, .proc/after_mutation, message), 0.5 SECONDS) else - to_chat(usr, "The few weeds in [src] seem to react, but only for a moment...") + to_chat(usr, span_warning("The few weeds in [src] seem to react, but only for a moment...")) /** * Called after plant mutation, update the appearance of the tray content and send a visible_message() */ @@ -511,10 +511,10 @@ if(pestlevel > 5) message_admins("[ADMIN_LOOKUPFLW(user)] last altered a hydro tray's contents which spawned spiderlings") log_game("[key_name(user)] last altered a hydro tray, which spiderlings spawned from.") - visible_message("The pests seem to behave oddly...") + visible_message(span_warning("The pests seem to behave oddly...")) spawn_atom_to_turf(/obj/structure/spider/spiderling/hunter, src, 3, FALSE) else if(myseed) - visible_message("The pests seem to behave oddly in [myseed.name] tray, but quickly settle down...") + visible_message(span_warning("The pests seem to behave oddly in [myseed.name] tray, but quickly settle down...")) /obj/machinery/hydroponics/attackby(obj/item/O, mob/user, params) //Called when mob user "attacks" it with object O @@ -522,11 +522,11 @@ var/obj/item/reagent_containers/reagent_source = O if(!reagent_source.reagents.total_volume) - to_chat(user, "[reagent_source] is empty!") + to_chat(user, span_warning("[reagent_source] is empty!")) return 1 if(reagents.total_volume >= reagents.maximum_volume && !reagent_source.reagents.has_reagent(/datum/reagent/water, 1)) - to_chat(user, "[src] is full.") + to_chat(user, span_notice("[src] is full.")) return var/list/trays = list(src)//makes the list just this in cases of syringes and compost etc @@ -548,7 +548,7 @@ playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) if(visi_msg) - visible_message("[visi_msg].") + visible_message(span_notice("[visi_msg].")) for(var/obj/machinery/hydroponics/H in trays) //cause I don't want to feel like im juggling 15 tamagotchis and I can get to my real work of ripping flooring apart in hopes of validating my life choices of becoming a space-gardener @@ -574,7 +574,7 @@ investigate_log("had Kudzu planted in it by [key_name(user)] at [AREACOORD(src)]","kudzu") if(!user.transferItemToLoc(O, src)) return - to_chat(user, "You plant [O].") + to_chat(user, span_notice("You plant [O].")) dead = FALSE myseed = O TRAY_NAME_UPDATE @@ -584,31 +584,31 @@ update_appearance() return else - to_chat(user, "[src] already has seeds in it!") + to_chat(user, span_warning("[src] already has seeds in it!")) return else if(istype(O, /obj/item/cultivator)) if(weedlevel > 0) - user.visible_message("[user] uproots the weeds.", "You remove the weeds from [src].") + user.visible_message(span_notice("[user] uproots the weeds."), span_notice("You remove the weeds from [src].")) weedlevel = 0 update_appearance() return else - to_chat(user, "This plot is completely devoid of weeds! It doesn't need uprooting.") + to_chat(user, span_warning("This plot is completely devoid of weeds! It doesn't need uprooting.")) return else if(istype(O, /obj/item/secateurs)) if(!myseed) - to_chat(user, "This plot is empty.") + to_chat(user, span_notice("This plot is empty.")) return else if(!harvest) - to_chat(user, "This plant must be harvestable in order to be grafted.") + to_chat(user, span_notice("This plant must be harvestable in order to be grafted.")) return else if(myseed.grafted) - to_chat(user, "This plant has already been grafted.") + to_chat(user, span_notice("This plant has already been grafted.")) return else - user.visible_message("[user] grafts off a limb from [src].", "You carefully graft off a portion of [src].") + user.visible_message(span_notice("[user] grafts off a limb from [src]."), span_notice("You carefully graft off a portion of [src].")) var/obj/item/graft/snip = myseed.create_graft() if(!snip) return // The plant did not return a graft. @@ -620,10 +620,10 @@ else if(istype(O, /obj/item/geneshears)) if(!myseed) - to_chat(user, "The tray is empty.") + to_chat(user, span_notice("The tray is empty.")) return if(plant_health <= GENE_SHEAR_MIN_HEALTH) - to_chat(user, "This plant looks too unhealty to be sheared right now.") + to_chat(user, span_notice("This plant looks too unhealty to be sheared right now.")) return var/list/current_traits = list() @@ -649,19 +649,19 @@ break myseed.reagents_from_genes() adjustHealth(-15) - to_chat(user, "You carefully shear the genes off of the [myseed.plantname], leaving the plant looking weaker.") + to_chat(user, span_notice("You carefully shear the genes off of the [myseed.plantname], leaving the plant looking weaker.")) update_appearance() return else if(istype(O, /obj/item/graft)) var/obj/item/graft/snip = O if(!myseed) - to_chat(user, "The tray is empty.") + to_chat(user, span_notice("The tray is empty.")) return if(myseed.apply_graft(snip)) - to_chat(user, "You carefully integrate the grafted plant limb onto [myseed.plantname], granting it [snip.stored_trait.get_name()].") + to_chat(user, span_notice("You carefully integrate the grafted plant limb onto [myseed.plantname], granting it [snip.stored_trait.get_name()].")) else - to_chat(user, "You integrate the grafted plant limb onto [myseed.plantname], but it does not accept the [snip.stored_trait.get_name()] trait from the [snip].") + to_chat(user, span_notice("You integrate the grafted plant limb onto [myseed.plantname], but it does not accept the [snip.stored_trait.get_name()] trait from the [snip].")) qdel(snip) return @@ -676,12 +676,12 @@ else if(istype(O, /obj/item/shovel/spade)) if(!myseed && !weedlevel) - to_chat(user, "[src] doesn't have any plants or weeds!") + to_chat(user, span_warning("[src] doesn't have any plants or weeds!")) return - user.visible_message("[user] starts digging out [src]'s plants...", - "You start digging out [src]'s plants...") + user.visible_message(span_notice("[user] starts digging out [src]'s plants..."), + span_notice("You start digging out [src]'s plants...")) if(O.use_tool(src, user, 50, volume=50) || (!myseed && !weedlevel)) - user.visible_message("[user] digs out the plants in [src]!", "You dig out all of [src]'s plants!") + user.visible_message(span_notice("[user] digs out the plants in [src]!"), span_notice("You dig out all of [src]'s plants!")) if(myseed) //Could be that they're just using it as a de-weeder age = 0 plant_health = 0 @@ -701,16 +701,16 @@ else if(istype(O, /obj/item/gun/energy/floragun)) var/obj/item/gun/energy/floragun/flowergun = O if(flowergun.cell.charge < flowergun.cell.maxcharge) - to_chat(user, "[flowergun] must be fully charged to lock in a mutation!") + to_chat(user, span_notice("[flowergun] must be fully charged to lock in a mutation!")) return if(!myseed) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return if(myseed.endurance <= 20) - to_chat(user, "[myseed.plantname] isn't hardy enough to sequence it's mutation!") + to_chat(user, span_warning("[myseed.plantname] isn't hardy enough to sequence it's mutation!")) return if(!myseed.mutatelist) - to_chat(user, "[myseed.plantname] has nothing else to mutate into!") + to_chat(user, span_warning("[myseed.plantname] has nothing else to mutate into!")) return else var/list/fresh_mut_list = list() @@ -724,14 +724,14 @@ myseed.set_endurance(myseed.endurance/2) flowergun.cell.use(flowergun.cell.charge) flowergun.update_appearance() - to_chat(user, "[myseed.plantname]'s mutation was set to [locked_mutation], depleting [flowergun]'s cell!") + to_chat(user, span_notice("[myseed.plantname]'s mutation was set to [locked_mutation], depleting [flowergun]'s cell!")) return else return ..() /obj/machinery/hydroponics/attackby_secondary(obj/item/weapon, mob/user, params) if (istype(weapon, /obj/item/reagent_containers/syringe)) - to_chat(user, "You can't get any extract out of this plant.") + to_chat(user, span_warning("You can't get any extract out of this plant.")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN return SECONDARY_ATTACK_CALL_NORMAL @@ -752,7 +752,7 @@ else if(dead) dead = FALSE - to_chat(user, "You remove the dead plant from [src].") + to_chat(user, span_notice("You remove the dead plant from [src].")) qdel(myseed) myseed = null update_appearance() @@ -766,7 +766,7 @@ if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(!powered()) - to_chat(user, "[name] has no power.") + to_chat(user, span_warning("[name] has no power.")) return if(!anchored) return @@ -783,7 +783,7 @@ var/warning = tgui_alert(user, "Are you sure you wish to empty the tray's nutrient beaker?","Empty Tray Nutrients?", list("Yes", "No")) if(warning == "Yes" && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) reagents.clear_reagents() - to_chat(user, "You empty [src]'s nutrient tank.") + to_chat(user, span_warning("You empty [src]'s nutrient tank.")) /** * Update Tray Proc @@ -796,11 +796,11 @@ harvest = FALSE lastproduce = age if(istype(myseed, /obj/item/seeds/replicapod)) - to_chat(user, "You harvest from the [myseed.plantname].") + to_chat(user, span_notice("You harvest from the [myseed.plantname].")) else if(myseed.getYield() <= 0) - to_chat(user, "You fail to harvest anything useful!") + to_chat(user, span_warning("You fail to harvest anything useful!")) else - to_chat(user, "You harvest [myseed.getYield()] items from the [myseed.plantname].") + to_chat(user, span_notice("You harvest [myseed.getYield()] items from the [myseed.plantname].")) if(!myseed.get_gene(/datum/plant_gene/trait/repeated_harvest)) qdel(myseed) myseed = null @@ -892,7 +892,7 @@ /obj/machinery/hydroponics/soil/attackby(obj/item/O, mob/user, params) if(O.tool_behaviour == TOOL_SHOVEL && !istype(O, /obj/item/shovel/spade)) //Doesn't include spades because of uprooting plants - to_chat(user, "You clear up [src]!") + to_chat(user, span_notice("You clear up [src]!")) qdel(src) else return ..() diff --git a/code/modules/hydroponics/hydroponics_chemreact.dm b/code/modules/hydroponics/hydroponics_chemreact.dm index 01bf71c1803..1739107c738 100644 --- a/code/modules/hydroponics/hydroponics_chemreact.dm +++ b/code/modules/hydroponics/hydroponics_chemreact.dm @@ -15,14 +15,14 @@ switch(rand(100)) if(91 to 100) adjustHealth(-10) - visible_message("\The [myseed.plantname] starts to wilt and burn!") + visible_message(span_warning("\The [myseed.plantname] starts to wilt and burn!")) return if(41 to 90) if(myseed && !self_sustaining) //Stability myseed.adjust_instability(5) return if(21 to 40) - visible_message("\The [myseed.plantname] appears unusually reactive...") + visible_message(span_notice("\The [myseed.plantname] appears unusually reactive...")) return if(11 to 20) mutateweed() diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 1be6488d022..3cef75df9b3 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -323,7 +323,7 @@ misc_smudge.name = "[our_plant.name] smudge" misc_smudge.color = "#82b900" - our_plant.visible_message("[our_plant] is squashed.","You hear a smack.") + our_plant.visible_message(span_warning("[our_plant] is squashed."),span_hear("You hear a smack.")) SEND_SIGNAL(our_plant, COMSIG_PLANT_ON_SQUASH, target) our_plant.reagents?.expose(our_turf) @@ -417,7 +417,7 @@ /datum/plant_gene/trait/cell_charge/proc/recharge_cells(obj/item/our_plant, mob/living/eater, mob/feeder) SIGNAL_HANDLER - to_chat(eater, "You feel energized as you bite into [our_plant].") + to_chat(eater, span_notice("You feel energized as you bite into [our_plant].")) var/batteries_recharged = FALSE var/obj/item/seeds/our_seed = our_plant.get_plant_seed() for(var/obj/item/stock_parts/cell/found_cell in eater.GetAllContents()) @@ -430,7 +430,7 @@ found_cell.update_appearance() batteries_recharged = TRUE if(batteries_recharged) - to_chat(eater, "Your batteries are recharged!") + to_chat(eater, span_notice("Your batteries are recharged!")) /* * Makes the plant glow. Makes the plant in tray glow, too. @@ -562,7 +562,7 @@ var/obj/item/seeds/our_seed = our_plant.get_plant_seed() var/teleport_radius = max(round(our_seed.potency / 10), 1) var/turf/T = get_turf(target) - to_chat(target, "You slip through spacetime!") + to_chat(target, span_warning("You slip through spacetime!")) do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) if(prob(50)) do_teleport(our_plant, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) @@ -634,10 +634,10 @@ var/obj/item/seeds/our_seed = our_plant.get_plant_seed() var/obj/item/stack/cable_coil/cabling = hit_item if(!cabling.use(5)) - to_chat(user, "You need five lengths of cable to make a [our_plant] battery!") + to_chat(user, span_warning("You need five lengths of cable to make a [our_plant] battery!")) return - to_chat(user, "You add some cable to [our_plant] and slide it inside the battery encasing.") + to_chat(user, span_notice("You add some cable to [our_plant] and slide it inside the battery encasing.")) var/obj/item/stock_parts/cell/potato/pocell = new /obj/item/stock_parts/cell/potato(user.loc) pocell.icon_state = our_plant.icon_state pocell.maxcharge = our_seed.potency * 20 @@ -690,7 +690,7 @@ if(living_target.reagents && living_target.can_inject()) var/injecting_amount = max(1, our_seed.potency * 0.2) // Minimum of 1, max of 20 our_plant.reagents.trans_to(living_target, injecting_amount, methods = INJECT) - to_chat(target, "You are pricked by [our_plant]!") + to_chat(target, span_danger("You are pricked by [our_plant]!")) log_combat(our_plant, living_target, "pricked and attempted to inject reagents from [our_plant] to [living_target]. Last touched by: [our_plant.fingerprintslast].") our_plant.investigate_log("pricked and injected [key_name(living_target)] and injected [injecting_amount] reagents at [AREACOORD(living_target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) @@ -785,7 +785,7 @@ if(target_tray.myseed) // Check if there's another seed in the next tray. if(target_tray.myseed.type == origin_tray.myseed.type && !target_tray.dead) return FALSE // It should not destroy its own kind. - target_tray.visible_message("The [target_tray.myseed.plantname] is overtaken by [origin_tray.myseed.plantname]!") + target_tray.visible_message(span_warning("The [target_tray.myseed.plantname] is overtaken by [origin_tray.myseed.plantname]!")) QDEL_NULL(target_tray.myseed) target_tray.myseed = origin_tray.myseed.Copy() target_tray.age = 0 @@ -796,7 +796,7 @@ target_tray.weedlevel = 0 // Reset target_tray.pestlevel = 0 // Reset target_tray.update_appearance() - target_tray.visible_message("The [origin_tray.myseed.plantname] spreads!") + target_tray.visible_message(span_warning("The [origin_tray.myseed.plantname] spreads!")) if(target_tray.myseed) target_tray.name = "[initial(target_tray.name)] ([target_tray.myseed.plantname])" else diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index ca3ad1fb1de..07818791ed4 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -76,7 +76,7 @@ /obj/machinery/seed_extractor/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Extracting [seed_multiplier] seed(s) per piece of produce.
    Machine can store up to [max_seeds]% seeds.
    " + . += span_notice("The status display reads: Extracting [seed_multiplier] seed(s) per piece of produce.
    Machine can store up to [max_seeds]% seeds.") /obj/machinery/seed_extractor/attackby(obj/item/O, mob/living/user, params) @@ -101,21 +101,21 @@ ++loaded add_seed(G) if (loaded) - to_chat(user, "You put as many seeds from \the [O.name] into [src] as you can.") + to_chat(user, span_notice("You put as many seeds from \the [O.name] into [src] as you can.")) else - to_chat(user, "There are no seeds in \the [O.name].") + to_chat(user, span_notice("There are no seeds in \the [O.name].")) return else if(seedify(O,-1, src, user)) - to_chat(user, "You extract some seeds.") + to_chat(user, span_notice("You extract some seeds.")) return else if (istype(O, /obj/item/seeds)) if(add_seed(O)) - to_chat(user, "You add [O] to [src.name].") + to_chat(user, span_notice("You add [O] to [src.name].")) updateUsrDialog() return else if(!user.combat_mode) - to_chat(user, "You can't extract any seeds from \the [O.name]!") + to_chat(user, span_warning("You can't extract any seeds from \the [O.name]!")) else return ..() @@ -141,7 +141,7 @@ **/ /obj/machinery/seed_extractor/proc/add_seed(obj/item/seeds/O) if(contents.len >= 999) - to_chat(usr, "\The [src] is full.") + to_chat(usr, span_notice("\The [src] is full.")) return FALSE var/datum/component/storage/STR = O.loc.GetComponent(/datum/component/storage) @@ -199,11 +199,11 @@ if(usr) var/mob/user = usr if(user.put_in_hands(found_seed)) - to_chat(user, "You take [found_seed] out of the slot.") + to_chat(user, span_notice("You take [found_seed] out of the slot.")) else - to_chat(user, "[found_seed] falls onto the floor.") + to_chat(user, span_notice("[found_seed] falls onto the floor.")) else found_seed.forceMove(drop_location()) - visible_message("[found_seed] falls onto the floor.", null, "You hear a soft clatter.", COMBAT_MESSAGE_RANGE) + visible_message(span_notice("[found_seed] falls onto the floor."), null, span_hear("You hear a soft clatter."), COMBAT_MESSAGE_RANGE) . = TRUE diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index b50a18e4ccf..38134c98d4e 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -103,11 +103,11 @@ /obj/item/seeds/examine(mob/user) . = ..() - . += "Use a pen on it to rename it or change its description." + . += span_notice("Use a pen on it to rename it or change its description.") if(reagents_add && user.can_see_reagents()) - . += "- Plant Reagents -" + . += span_notice("- Plant Reagents -") for(var/datum/plant_gene/reagent/G in genes) - . += "- [G.get_name()] -" + . += span_notice("- [G.get_name()] -") /obj/item/seeds/proc/Copy() var/obj/item/seeds/copy_seed = new type(null, TRUE) @@ -296,14 +296,14 @@ // Heats up the plant's contents by 25 kelvin per 1 unit of nutriment. Mutually exclusive with cooling. if(get_gene(/datum/plant_gene/trait/chem_heating)) - T.visible_message("[T] releases freezing air, consuming its nutriments to heat its contents.") + T.visible_message(span_notice("[T] releases freezing air, consuming its nutriments to heat its contents.")) T.reagents.remove_all_type(/datum/reagent/consumable/nutriment, num_nutriment, strict = TRUE) T.reagents.chem_temp = min(1000, (T.reagents.chem_temp + num_nutriment * 25)) T.reagents.handle_reactions() playsound(T.loc, 'sound/effects/wounds/sizzle2.ogg', 5) // Cools down the plant's contents by 5 kelvin per 1 unit of nutriment. Mutually exclusive with heating. else if(get_gene(/datum/plant_gene/trait/chem_cooling)) - T.visible_message("[T] releases a blast of hot air, consuming its nutriments to cool its contents.") + T.visible_message(span_notice("[T] releases a blast of hot air, consuming its nutriments to cool its contents.")) T.reagents.remove_all_type(/datum/reagent/consumable/nutriment, num_nutriment, strict = TRUE) T.reagents.chem_temp = max(3, (T.reagents.chem_temp + num_nutriment * -5)) T.reagents.handle_reactions() @@ -511,10 +511,10 @@ if(!user.canUseTopic(src, BE_CLOSE)) return if (length(newplantname) > 20) - to_chat(user, "That name is too long!") + to_chat(user, span_warning("That name is too long!")) return if(!newplantname) - to_chat(user, "That name is invalid.") + to_chat(user, span_warning("That name is invalid.")) return else name = "[lowertext(newplantname)]" @@ -524,10 +524,10 @@ if(!user.canUseTopic(src, BE_CLOSE)) return if (length(newdesc) > 180) - to_chat(user, "That description is too long!") + to_chat(user, span_warning("That description is too long!")) return if(!newdesc) - to_chat(user, "That description is invalid.") + to_chat(user, span_warning("That description is invalid.")) return else desc = newdesc @@ -538,10 +538,10 @@ if(!user.canUseTopic(src, BE_CLOSE)) return if (length(newproductdesc) > 180) - to_chat(user, "That description is too long!") + to_chat(user, span_warning("That description is too long!")) return if(!newproductdesc) - to_chat(user, "That description is invalid.") + to_chat(user, span_warning("That description is invalid.")) return else productdesc = newproductdesc diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index fd5a9e1dd86..cc0a34447e0 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -27,12 +27,12 @@ return user.incapacitated() || !((loc == user) || (isturf(loc) && Adjacent(user))) // sorry, no more TK playing. /obj/item/instrument/suicide_act(mob/user) - user.visible_message("[user] begins to play 'Gloomy Sunday'! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to play 'Gloomy Sunday'! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) /obj/item/instrument/attack_self(mob/user) if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return TRUE interact(user) @@ -257,7 +257,7 @@ /obj/item/instrument/harmonica/proc/handle_speech(datum/source, list/speech_args) SIGNAL_HANDLER if(song.playing && ismob(loc)) - to_chat(loc, "You stop playing the harmonica to talk...") + to_chat(loc, span_warning("You stop playing the harmonica to talk...")) song.playing = FALSE /obj/item/instrument/harmonica/equipped(mob/M, slot) diff --git a/code/modules/instruments/songs/_song.dm b/code/modules/instruments/songs/_song.dm index d7766e9263c..33e6cb31c33 100644 --- a/code/modules/instruments/songs/_song.dm +++ b/code/modules/instruments/songs/_song.dm @@ -205,11 +205,11 @@ if(playing) return if(!using_instrument?.ready()) - to_chat(user, "An error has occured with [src]. Please reset the instrument.") + to_chat(user, span_warning("An error has occured with [src]. Please reset the instrument.")) return compile_chords() if(!length(compiled_chords)) - to_chat(user, "Song is empty.") + to_chat(user, span_warning("Song is empty.")) return playing = TRUE updateDialog(user_playing) diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm index c7c5e449ecb..c2ff449c614 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -6,7 +6,7 @@ . += "
    " . += "Current instrument: " if(!using_instrument) - . += "No instrument loaded!
    " + . += "[span_danger("No instrument loaded!")]
    " else . += "[using_instrument.name]
    " . += "Playback Settings:
    " @@ -38,14 +38,14 @@ if(lines.len > 0) dat += "

    Playback

    " if(!playing) - dat += "Play Stop

    " + dat += "Play Stop

    " dat += "Repeat Song: " - dat += repeat > 0 ? "--" : "--" + dat += repeat > 0 ? "--" : "--" dat += " [repeat] times " - dat += repeat < max_repeats ? "++" : "++" + dat += repeat < max_repeats ? "++" : "++" dat += "
    " else - dat += "Play Stop
    " + dat += "Play Stop
    " dat += "Repeats left: [repeat]
    " if(!editing) dat += "
    Show Editor
    " diff --git a/code/modules/interview/interview.dm b/code/modules/interview/interview.dm index 8790abb039d..5f318200589 100644 --- a/code/modules/interview/interview.dm +++ b/code/modules/interview/interview.dm @@ -60,11 +60,11 @@ GLOB.interviews.approved_ckeys |= owner_ckey GLOB.interviews.close_interview(src) log_admin_private("[key_name(approved_by)] has approved interview #[id] for [owner_ckey][!owner ? "(DC)": ""].") - message_admins("[key_name(approved_by)] has approved [link_self()] for [owner_ckey][!owner ? "(DC)": ""].") + message_admins(span_adminnotice("[key_name(approved_by)] has approved [link_self()] for [owner_ckey][!owner ? "(DC)": ""].")) if (owner) SEND_SOUND(owner, sound('sound/effects/adminhelp.ogg')) to_chat(owner, "-- Interview Update --" \ - + "\nYour interview was approved, you will now be reconnected in 5 seconds.", confidential = TRUE) + + "\n[span_adminsay("Your interview was approved, you will now be reconnected in 5 seconds.")]", confidential = TRUE) addtimer(CALLBACK(src, .proc/reconnect_owner), 50) /** @@ -79,7 +79,7 @@ GLOB.interviews.close_interview(src) GLOB.interviews.cooldown_ckeys |= owner_ckey log_admin_private("[key_name(denied_by)] has denied interview #[id] for [owner_ckey][!owner ? "(DC)": ""].") - message_admins("[key_name(denied_by)] has denied [link_self()] for [owner_ckey][!owner ? "(DC)": ""].") + message_admins(span_adminnotice("[key_name(denied_by)] has denied [link_self()] for [owner_ckey][!owner ? "(DC)": ""].")) addtimer(CALLBACK(GLOB.interviews, /datum/interview_manager.proc/release_from_cooldown, owner_ckey), 180) if (owner) SEND_SOUND(owner, sound('sound/effects/adminhelp.ogg')) diff --git a/code/modules/interview/interview_manager.dm b/code/modules/interview/interview_manager.dm index f5a557a854d..4832e51f341 100644 --- a/code/modules/interview/interview_manager.dm +++ b/code/modules/interview/interview_manager.dm @@ -104,12 +104,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) log_admin_private("Interview for [ckey] has been enqueued for review. Current position in queue: [to_queue.pos_in_queue]") var/admins_present = send2tgs_adminless_only("panic-bunker-interview", "Interview for [ckey] enqueued for review. Current position in queue: [to_queue.pos_in_queue]") if (admins_present <= 0 && to_queue.owner) - to_chat(to_queue.owner, "No active admins are online, your interview's submission was sent through TGS to admins who are available. This may use IRC or Discord.") + to_chat(to_queue.owner, span_notice("No active admins are online, your interview's submission was sent through TGS to admins who are available. This may use IRC or Discord.")) for(var/client/X in GLOB.admins) if(X.prefs.toggles & SOUND_ADMINHELP) SEND_SOUND(X, sound('sound/effects/adminhelp.ogg')) window_flash(X, ignorepref = TRUE) - to_chat(X, "[to_queue.link_self()] for [ckey] enqueued for review. Current position in queue: [to_queue.pos_in_queue]", confidential = TRUE) + to_chat(X, span_adminhelp("[to_queue.link_self()] for [ckey] enqueued for review. Current position in queue: [to_queue.pos_in_queue]"), confidential = TRUE) /** * Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied. diff --git a/code/modules/jobs/job_report.dm b/code/modules/jobs/job_report.dm index 22061f3154e..016e34f525a 100644 --- a/code/modules/jobs/job_report.dm +++ b/code/modules/jobs/job_report.dm @@ -65,7 +65,7 @@ if(!check_rights(R_ADMIN)) message_admins("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin rights.") log_admin("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin rights.") - to_chat(usr, "ERROR: Insufficient admin rights.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Insufficient admin rights."), confidential = TRUE) return TRUE var/datum/admins/viewer_admin_datum = GLOB.admin_datums[usr.ckey] @@ -73,11 +73,11 @@ if(!viewer_admin_datum) message_admins("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin datum for their ckey.") log_admin("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin datum for their ckey.") - to_chat(usr, "ERROR: Insufficient admin rights.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Insufficient admin rights."), confidential = TRUE) return TRUE if(QDELETED(owner)) - to_chat(usr, "ERROR: Client not found.", confidential = TRUE) + to_chat(usr, span_danger("ERROR: Client not found."), confidential = TRUE) return TRUE viewer_admin_datum.toggle_exempt_status(owner) diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index 71786b203ab..8f82f57a338 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -44,4 +44,4 @@ var/obj/item/card/id/W = H.wear_id if(H.age < AGE_MINOR) W.registered_age = AGE_MINOR - to_chat(H, "You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!") + to_chat(H, span_notice("You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!")) diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index befef24b9c1..1fb33215bfc 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -41,7 +41,7 @@ B.icon_state = GLOB.bible_icon_state if(GLOB.bible_inhand_icon_state) B.inhand_icon_state = GLOB.bible_inhand_icon_state - to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [GLOB.deity]. Defer to the Chaplain.") + to_chat(H, span_boldnotice("There is already an established religion onboard the station. You are an acolyte of [GLOB.deity]. Defer to the Chaplain.")) H.equip_to_slot_or_del(B, ITEM_SLOT_BACKPACK) var/nrt = GLOB.holy_weapon_type || /obj/item/nullrod var/obj/item/nullrod/N = new nrt(H) diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index fa54570a473..f78712eee02 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -86,7 +86,7 @@ user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_box(null)) else return - to_chat(user, "The book disappears into thin air.") + to_chat(user, span_warning("The book disappears into thin air.")) qdel(src) /** diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm index 5b724f07902..38164487d49 100644 --- a/code/modules/keybindings/bindings_client.dm +++ b/code/modules/keybindings/bindings_client.dm @@ -30,7 +30,7 @@ ///Check if the key is short enough to even be a real key if(LAZYLEN(_key) > MAX_KEYPRESS_COMMANDLENGTH) - to_chat(src, "Invalid KeyDown detected! You have been disconnected from the server automatically.") + to_chat(src, span_userdanger("Invalid KeyDown detected! You have been disconnected from the server automatically.")) log_admin("Client [ckey] just attempted to send an invalid keypress. Keymessage was over [MAX_KEYPRESS_COMMANDLENGTH] characters, autokicking due to likely abuse.") message_admins("Client [ckey] just attempted to send an invalid keypress. Keymessage was over [MAX_KEYPRESS_COMMANDLENGTH] characters, autokicking due to likely abuse.") qdel(src) diff --git a/code/modules/language/language_manuals.dm b/code/modules/language/language_manuals.dm index 070b382e7e5..43227c76cd8 100644 --- a/code/modules/language/language_manuals.dm +++ b/code/modules/language/language_manuals.dm @@ -13,10 +13,10 @@ return if(user.has_language(language)) - to_chat(user, "You start skimming through [src], but you already know [initial(language.name)].") + to_chat(user, span_boldwarning("You start skimming through [src], but you already know [initial(language.name)].")) return - to_chat(user, "You start skimming through [src], and [flavour_text].") + to_chat(user, span_boldannounce("You start skimming through [src], and [flavour_text].")) user.grant_language(language, TRUE, TRUE, LANGUAGE_MIND) use_charge(user) @@ -31,11 +31,11 @@ playsound(loc, "punch", 25, TRUE, -1) if(M.stat == DEAD) - M.visible_message("[user] smacks [M]'s lifeless corpse with [src].", "[user] smacks your lifeless corpse with [src].", "You hear smacking.") + M.visible_message(span_danger("[user] smacks [M]'s lifeless corpse with [src]."), span_userdanger("[user] smacks your lifeless corpse with [src]."), span_hear("You hear smacking.")) else if(M.has_language(language)) - M.visible_message("[user] beats [M] over the head with [src]!", "[user] beats you over the head with [src]!", "You hear smacking.") + M.visible_message(span_danger("[user] beats [M] over the head with [src]!"), span_userdanger("[user] beats you over the head with [src]!"), span_hear("You hear smacking.")) else - M.visible_message("[user] teaches [M] by beating [M.p_them()] over the head with [src]!", "As [user] hits you with [src], [flavour_text].", "You hear smacking.") + M.visible_message(span_notice("[user] teaches [M] by beating [M.p_them()] over the head with [src]!"), span_boldnotice("As [user] hits you with [src], [flavour_text]."), span_hear("You hear smacking.")) M.grant_language(language, TRUE, TRUE, LANGUAGE_MIND) use_charge(user) @@ -43,7 +43,7 @@ charges-- if(!charges) var/turf/T = get_turf(src) - T.visible_message("The cover and contents of [src] start shifting and changing!") + T.visible_message(span_warning("The cover and contents of [src] start shifting and changing!")) qdel(src) var/obj/item/book/manual/random/book = new(T) @@ -99,7 +99,7 @@ /obj/item/language_manual/dronespeak_manual/attack(mob/living/M, mob/living/user) // If they are not drone or silicon, we don't want them to learn this language. if(!(isdrone(M) || issilicon(M))) - M.visible_message("[user] beats [M] over the head with [src]!", "[user] beats you over the head with [src]!", "You hear smacking.") + M.visible_message(span_danger("[user] beats [M] over the head with [src]!"), span_userdanger("[user] beats you over the head with [src]!"), span_hear("You hear smacking.")) return return ..() diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 7229f78445c..0fd275a3f32 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -36,16 +36,16 @@ /obj/structure/bookcase/examine(mob/user) . = ..() if(!anchored) - . += "The bolts on the bottom are unsecured." + . += span_notice("The bolts on the bottom are unsecured.") else - . += "It's secured in place with bolts." + . += span_notice("It's secured in place with bolts.") switch(state) if(BOOKCASE_UNANCHORED) - . += "There's a small crack visible on the back panel." + . += span_notice("There's a small crack visible on the back panel.") if(BOOKCASE_ANCHORED) - . += "There's space inside for a wooden shelf." + . += span_notice("There's space inside for a wooden shelf.") if(BOOKCASE_FINISHED) - . += "There's a small crack visible on the shelf." + . += span_notice("There's a small crack visible on the shelf.") /obj/structure/bookcase/Initialize(mapload) . = ..() @@ -77,11 +77,11 @@ if(BOOKCASE_UNANCHORED) if(I.tool_behaviour == TOOL_WRENCH) if(I.use_tool(src, user, 20, volume=50)) - to_chat(user, "You wrench the frame into place.") + to_chat(user, span_notice("You wrench the frame into place.")) set_anchored(TRUE) else if(I.tool_behaviour == TOOL_CROWBAR) if(I.use_tool(src, user, 20, volume=50)) - to_chat(user, "You pry the frame apart.") + to_chat(user, span_notice("You pry the frame apart.")) deconstruct(TRUE) if(BOOKCASE_ANCHORED) @@ -89,12 +89,12 @@ var/obj/item/stack/sheet/mineral/wood/W = I if(W.get_amount() >= 2) W.use(2) - to_chat(user, "You add a shelf.") + to_chat(user, span_notice("You add a shelf.")) state = BOOKCASE_FINISHED update_appearance() else if(I.tool_behaviour == TOOL_WRENCH) I.play_tool_sound(src, 100) - to_chat(user, "You unwrench the frame.") + to_chat(user, span_notice("You unwrench the frame.")) set_anchored(FALSE) if(BOOKCASE_FINISHED) @@ -107,11 +107,11 @@ 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].") + to_chat(user, span_notice("You empty \the [I] into \the [src].")) update_appearance() else if(istype(I, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on the side of [src]!") + to_chat(user, span_notice("You scribble illegibly on the side of [src]!")) return var/newname = stripped_input(user, "What would you like to title this bookshelf?") if(!user.canUseTopic(src, BE_CLOSE)) @@ -122,10 +122,10 @@ name = "bookcase ([sanitize(newname)])" else if(I.tool_behaviour == TOOL_CROWBAR) if(contents.len) - to_chat(user, "You need to remove the books first!") + to_chat(user, span_warning("You need to remove the books first!")) else I.play_tool_sound(src, 100) - to_chat(user, "You pry the shelf out.") + to_chat(user, span_notice("You pry the shelf out.")) new /obj/item/stack/sheet/mineral/wood(drop_location(), 2) state = BOOKCASE_ANCHORED update_appearance() @@ -226,7 +226,7 @@ /obj/item/book/attack_self(mob/user) if(!user.can_read(src)) return - user.visible_message("[user] opens a book titled \"[title]\" and begins reading intently.") + user.visible_message(span_notice("[user] opens a book titled \"[title]\" and begins reading intently.")) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "book_nerd", /datum/mood_event/book_nerd) on_read(user) @@ -235,20 +235,20 @@ user << browse("Penned by [author].
    " + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]") onclose(user, "book") else - to_chat(user, "This book is completely blank!") + to_chat(user, span_notice("This book is completely blank!")) /obj/item/book/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/pen)) if(user.is_blind()) - to_chat(user, "As you are trying to write on the book, you suddenly feel very stupid!") + to_chat(user, span_warning("As you are trying to write on the book, you suddenly feel very stupid!")) return if(unique) - to_chat(user, "These pages don't seem to take the ink well! Looks like you can't modify it.") + to_chat(user, span_warning("These pages don't seem to take the ink well! Looks like you can't modify it.")) return var/literate = user.is_literate() if(!literate) - to_chat(user, "You scribble illegibly on the cover of [src]!") + to_chat(user, span_notice("You scribble illegibly on the cover of [src]!")) return var/choice = tgui_input_list(usr, "What would you like to change?",,list("Title", "Contents", "Author", "Cancel")) if(!user.canUseTopic(src, BE_CLOSE, literate)) @@ -259,10 +259,10 @@ if(!user.canUseTopic(src, BE_CLOSE, literate)) return if (length_char(newtitle) > 30) - to_chat(user, "That title won't fit on the cover!") + to_chat(user, span_warning("That title won't fit on the cover!")) return if(!newtitle) - to_chat(user, "That title is invalid.") + to_chat(user, span_warning("That title is invalid.")) return else name = newtitle @@ -272,7 +272,7 @@ if(!user.canUseTopic(src, BE_CLOSE, literate)) return if(!content) - to_chat(user, "The content is invalid.") + to_chat(user, span_warning("The content is invalid.")) return else dat += content @@ -281,7 +281,7 @@ if(!user.canUseTopic(src, BE_CLOSE, literate)) return if(!newauthor) - to_chat(user, "The name is invalid.") + to_chat(user, span_warning("The name is invalid.")) return else author = newauthor @@ -291,37 +291,37 @@ else if(istype(I, /obj/item/barcodescanner)) var/obj/item/barcodescanner/scanner = I if(!scanner.computer) - to_chat(user, "[I]'s screen flashes: 'No associated computer found!'") + to_chat(user, span_alert("[I]'s screen flashes: 'No associated computer found!'")) else switch(scanner.mode) if(0) scanner.book = src - to_chat(user, "[I]'s screen flashes: 'Book stored in buffer.'") + to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer.'")) if(1) scanner.book = src scanner.computer.buffer_book = name - to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'") + to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'")) if(2) scanner.book = src for(var/datum/borrowbook/b in scanner.computer.checkouts) if(b.bookname == name) scanner.computer.checkouts.Remove(b) - to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'") + to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'")) return - to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'") + to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'")) if(3) scanner.book = src for(var/obj/item/book in scanner.computer.inventory) if(book == src) - to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'") + to_chat(user, span_alert("[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'")) return scanner.computer.inventory.Add(src) - to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'") + to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'")) else if((istype(I, /obj/item/kitchen/knife) || I.tool_behaviour == TOOL_WIRECUTTER) && !(flags_1 & HOLOGRAM_1)) - to_chat(user, "You begin to carve out [title]...") + to_chat(user, span_notice("You begin to carve out [title]...")) if(do_after(user, 30, target = src)) - to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.") + to_chat(user, span_notice("You carve out the pages from [title]! You didn't want to read it anyway.")) var/obj/item/storage/book/B = new B.name = src.name B.title = src.title diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 5cc077e0247..29433505b06 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -333,15 +333,15 @@ /obj/machinery/computer/bookmanagement/proc/print_forbidden_lore(mob/user) new /obj/item/melee/cultblade/dagger(get_turf(src)) - to_chat(user, "Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a sinister dagger sitting on the desk. You don't even remember where it came from...") - user.visible_message("[user] stares at the blank screen for a few moments, [user.p_their()] expression frozen in fear. When [user.p_they()] finally awaken[user.p_s()] from it, [user.p_they()] look[user.p_s()] a lot older.", 2) + to_chat(user, span_warning("Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a sinister dagger sitting on the desk. You don't even remember where it came from...")) + user.visible_message(span_warning("[user] stares at the blank screen for a few moments, [user.p_their()] expression frozen in fear. When [user.p_they()] finally awaken[user.p_s()] from it, [user.p_they()] look[user.p_s()] a lot older."), 2) /obj/machinery/computer/bookmanagement/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/barcodescanner)) var/obj/item/barcodescanner/scanner = W scanner.computer = src - to_chat(user, "[scanner]'s associated machine has been set to [src].") - audible_message("[src] lets out a low, short blip.") + to_chat(user, span_notice("[scanner]'s associated machine has been set to [src].")) + audible_message(span_hear("[src] lets out a low, short blip.")) else return ..() @@ -485,7 +485,7 @@ B.author = author B.dat = content B.icon_state = "book[rand(1,8)]" - visible_message("[src]'s printer hums as it produces a completely bound book. How did it do that?") + visible_message(span_notice("[src]'s printer hums as it produces a completely bound book. How did it do that?")) break qdel(query_library_print) if(href_list["printbible"]) @@ -588,18 +588,18 @@ if(machine_stat) return if(busy) - to_chat(user, "The book binder is busy. Please wait for completion of previous operation.") + to_chat(user, span_warning("The book binder is busy. Please wait for completion of previous operation.")) return if(!user.transferItemToLoc(P, src)) return - user.visible_message("[user] loads some paper into [src].", "You load some paper into [src].") - audible_message("[src] begins to hum as it warms up its printing drums.") + user.visible_message(span_notice("[user] loads some paper into [src]."), span_notice("You load some paper into [src].")) + audible_message(span_hear("[src] begins to hum as it warms up its printing drums.")) busy = TRUE sleep(rand(200,400)) busy = FALSE if(P) if(!machine_stat) - visible_message("[src] whirs as it prints and binds a new book.") + visible_message(span_notice("[src] whirs as it prints and binds a new book.")) var/obj/item/book/B = new(src.loc) B.dat = P.info B.name = "Print Job #" + "[rand(100, 999)]" diff --git a/code/modules/library/skill_learning/skill_station.dm b/code/modules/library/skill_learning/skill_station.dm index eb2b646d587..e4f2cf7200a 100644 --- a/code/modules/library/skill_learning/skill_station.dm +++ b/code/modules/library/skill_learning/skill_station.dm @@ -85,7 +85,7 @@ /obj/machinery/skill_station/attackby(obj/item/I, mob/living/user, params) if(istype(I,/obj/item/skillchip)) if(inserted_skillchip) - to_chat(user,"There's already a skillchip inside.") + to_chat(user,span_notice("There's already a skillchip inside.")) return if(!user.transferItemToLoc(I, src)) return @@ -125,9 +125,9 @@ var/mob/living/carbon/carbon_occupant = occupant var/implant_msg = carbon_occupant.implant_skillchip(inserted_skillchip, FALSE) if(implant_msg) - to_chat(carbon_occupant,"Operation failed! [implant_msg]") + to_chat(carbon_occupant,span_notice("Operation failed! [implant_msg]")) else - to_chat(carbon_occupant,"Operation complete!") + to_chat(carbon_occupant,span_notice("Operation complete!")) inserted_skillchip = null update_appearance() @@ -138,7 +138,7 @@ return if(to_be_removed.is_on_cooldown()) - to_chat(occupant, "DANGER! Operation cannot be completed, removal is unsafe.") + to_chat(occupant, span_notice("DANGER! Operation cannot be completed, removal is unsafe.")) CRASH("Unusual error - [usr] attempted to start removal of [to_be_removed] when the interface state should not have allowed it.") working = TRUE @@ -154,15 +154,15 @@ var/mob/living/carbon/carbon_occupant = occupant if(to_be_removed.is_on_cooldown()) - to_chat(carbon_occupant,"Safety mechanisms activated! Skillchip cannot be safely removed.") + to_chat(carbon_occupant,span_notice("Safety mechanisms activated! Skillchip cannot be safely removed.")) return if(!istype(carbon_occupant)) - to_chat(carbon_occupant,"Occupant does not appear to be a carbon-based lifeform!") + to_chat(carbon_occupant,span_notice("Occupant does not appear to be a carbon-based lifeform!")) return if(!carbon_occupant.remove_skillchip(to_be_removed)) - to_chat(carbon_occupant,"Failed to remove skillchip!") + to_chat(carbon_occupant,span_notice("Failed to remove skillchip!")) return if(to_be_removed.removable) @@ -170,29 +170,29 @@ else qdel(to_be_removed) - to_chat(carbon_occupant, "Operation complete!") + to_chat(carbon_occupant, span_notice("Operation complete!")) /obj/machinery/skill_station/proc/toggle_chip_active(obj/item/skillchip/to_be_toggled) var/mob/living/carbon/carbon_occupant = occupant if(to_be_toggled.is_on_cooldown()) - to_chat(carbon_occupant,"Safety mechanisms activated! Skillchip cannot be safely modified.") + to_chat(carbon_occupant,span_notice("Safety mechanisms activated! Skillchip cannot be safely modified.")) return if(!istype(carbon_occupant)) - to_chat(carbon_occupant,"Occupant does not appear to be a carbon-based lifeform!") + to_chat(carbon_occupant,span_notice("Occupant does not appear to be a carbon-based lifeform!")) return if(to_be_toggled.is_active()) var/active_msg = to_be_toggled.try_deactivate_skillchip(FALSE, FALSE) if(active_msg) - to_chat(carbon_occupant,"Failed to deactivate skillchip! [active_msg]") + to_chat(carbon_occupant,span_notice("Failed to deactivate skillchip! [active_msg]")) return // This code will fire when to_be_toggled.active is FALSE var/active_msg = to_be_toggled.try_activate_skillchip(FALSE, FALSE) if(active_msg) - to_chat(carbon_occupant,"Failed to activate skillchip! [active_msg]") + to_chat(carbon_occupant,span_notice("Failed to activate skillchip! [active_msg]")) /obj/machinery/skill_station/ui_data(mob/user) . = ..() @@ -285,7 +285,7 @@ stack_trace("[usr] tried to toggle skillchip activation when [src] was in an invalid state.") return TRUE if(inserted_skillchip) - to_chat(occupant,"You eject the skillchip.") + to_chat(occupant,span_notice("You eject the skillchip.")) var/mob/living/carbon/human/H = occupant H.put_in_hands(inserted_skillchip) inserted_skillchip = null diff --git a/code/modules/library/soapstone.dm b/code/modules/library/soapstone.dm index b0803a16494..7eeef43fa5d 100644 --- a/code/modules/library/soapstone.dm +++ b/code/modules/library/soapstone.dm @@ -27,18 +27,18 @@ var/obj/structure/chisel_message/existing_message = locate() in T if(!remaining_uses && !existing_message) - to_chat(user, "[src] is too worn out to use.") + to_chat(user, span_warning("[src] is too worn out to use.")) return if(!good_chisel_message_location(T)) - to_chat(user, "It's not appropriate to engrave on [T].") + to_chat(user, span_warning("It's not appropriate to engrave on [T].")) return if(existing_message) - user.visible_message("[user] starts erasing [existing_message].", "You start erasing [existing_message].", "You hear a chipping sound.") + user.visible_message(span_notice("[user] starts erasing [existing_message]."), span_notice("You start erasing [existing_message]."), span_hear("You hear a chipping sound.")) playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1) if(do_after(user, tool_speed, target = existing_message)) - user.visible_message("[user] erases [existing_message].", "You erase [existing_message][existing_message.creator_key == user.ckey ? ", refunding a use" : ""].") + user.visible_message(span_notice("[user] erases [existing_message]."), span_notice("You erase [existing_message][existing_message.creator_key == user.ckey ? ", refunding a use" : ""].")) existing_message.persists = FALSE qdel(existing_message) playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1) @@ -48,17 +48,17 @@ var/message = stripped_input(user, "What would you like to engrave?", "Leave a message") if(!message) - to_chat(user, "You decide not to engrave anything.") + to_chat(user, span_notice("You decide not to engrave anything.")) return if(!target.Adjacent(user) && locate(/obj/structure/chisel_message) in T) - to_chat(user, "Someone wrote here before you chose! Find another spot.") + to_chat(user, span_warning("Someone wrote here before you chose! Find another spot.")) return playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1) - user.visible_message("[user] starts engraving a message into [T]...", "You start engraving a message into [T]...", "You hear a chipping sound.") + user.visible_message(span_notice("[user] starts engraving a message into [T]..."), span_notice("You start engraving a message into [T]..."), span_hear("You hear a chipping sound.")) if(can_use() && do_after(user, tool_speed, target = T) && can_use()) //This looks messy but it's actually really clever! if(!locate(/obj/structure/chisel_message) in T) - user.visible_message("[user] leaves a message for future spacemen!", "You engrave a message into [T]!", "You hear a chipping sound.") + user.visible_message(span_notice("[user] leaves a message for future spacemen!"), span_notice("You engrave a message into [T]!"), span_hear("You hear a chipping sound.")) playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1) var/obj/structure/chisel_message/M = new(T) M.register(user, message) diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm index 5eca28ad66e..d21c8476812 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -175,7 +175,7 @@ judgement_lynch_period /= 2 night_phase_period /= 2 if(turn == 1) - send_message("The selected map is [current_map.name]!
    [current_map.description]
    ") + send_message(span_notice("The selected map is [current_map.name]!
    [current_map.description]")) send_message("Day [turn] started! There is no voting on the first day. Say hello to everybody!") next_phase_timer = addtimer(CALLBACK(src,.proc/check_trial, FALSE),first_day_phase_period,TIMER_STOPPABLE) //no voting period = no votes = instant night else @@ -244,19 +244,19 @@ /datum/mafia_controller/proc/lynch() for(var/i in judgement_innocent_votes) var/datum/mafia_role/role = i - send_message("[role.body.real_name] voted innocent.") + send_message(span_green("[role.body.real_name] voted innocent.")) for(var/ii in judgement_abstain_votes) var/datum/mafia_role/role = ii - send_message("[role.body.real_name] abstained.") + send_message(span_comradio("[role.body.real_name] abstained.")) for(var/iii in judgement_guilty_votes) var/datum/mafia_role/role = iii - send_message("[role.body.real_name] voted guilty.") + send_message(span_red("[role.body.real_name] voted guilty.")) if(judgement_guilty_votes.len > judgement_innocent_votes.len) //strictly need majority guilty to lynch - send_message("Guilty wins majority, [on_trial.body.real_name] has been lynched.") + send_message(span_red("Guilty wins majority, [on_trial.body.real_name] has been lynched.")) on_trial.kill(src,lynch = TRUE) addtimer(CALLBACK(src, .proc/send_home, on_trial),judgement_lynch_period) else - send_message("Innocent wins majority, [on_trial.body.real_name] has been spared.") + send_message(span_green("Innocent wins majority, [on_trial.body.real_name] has been spared.")) on_trial.body.forceMove(get_turf(on_trial.assigned_landmark)) on_trial = null //day votes are already cleared, so this will skip the trial and check victory/lockdown/whatever else @@ -453,11 +453,11 @@ if(victim) var/datum/mafia_role/killer = get_random_voter("Mafia") if(!victim.can_action(src, killer, "changeling murder")) - send_message("[killer.body.real_name] was unable to attack [victim.body.real_name] tonight!",MAFIA_TEAM_MAFIA) + send_message(span_danger("[killer.body.real_name] was unable to attack [victim.body.real_name] tonight!"),MAFIA_TEAM_MAFIA) else - send_message("[killer.body.real_name] has attacked [victim.body.real_name]!",MAFIA_TEAM_MAFIA) + send_message(span_danger("[killer.body.real_name] has attacked [victim.body.real_name]!"),MAFIA_TEAM_MAFIA) if(victim.kill(src,killer,lynch=FALSE)) - to_chat(victim.body, "You have been killed by a Changeling!") + to_chat(victim.body, span_userdanger("You have been killed by a Changeling!")) reset_votes("Mafia") SEND_SIGNAL(src,COMSIG_MAFIA_NIGHT_KILL_PHASE) SEND_SIGNAL(src,COMSIG_MAFIA_NIGHT_END) @@ -484,9 +484,9 @@ else votes[vote_type][voter] = target if(old_vote && old_vote == target) - send_message("[voter.body.real_name] retracts their vote for [target.body.real_name]!", team = teams) + send_message(span_notice("[voter.body.real_name] retracts their vote for [target.body.real_name]!"), team = teams) else - send_message("[voter.body.real_name] voted for [target.body.real_name]!",team = teams) + send_message(span_notice("[voter.body.real_name] voted for [target.body.real_name]!"),team = teams) if(!teams) target.body.update_appearance() //Update the vote display if it's a public vote var/datum/mafia_role/old = old_vote @@ -723,25 +723,25 @@ switch(action) if("mf_signup") if(!SSticker.HasRoundStarted()) - to_chat(usr, "Wait for the round to start.") + to_chat(usr, span_warning("Wait for the round to start.")) return if(GLOB.mafia_signup[C.ckey]) GLOB.mafia_signup -= C.ckey - to_chat(usr, "You unregister from Mafia.") + to_chat(usr, span_notice("You unregister from Mafia.")) return TRUE else GLOB.mafia_signup[C.ckey] = C - to_chat(usr, "You sign up for Mafia.") + to_chat(usr, span_notice("You sign up for Mafia.")) if(phase == MAFIA_PHASE_SETUP) check_signups() try_autostart() return TRUE if("mf_spectate") if(C.ckey in spectators) - to_chat(usr, "You will no longer get messages from the game.") + to_chat(usr, span_notice("You will no longer get messages from the game.")) spectators -= C.ckey else - to_chat(usr, "You will now get messages from the game.") + to_chat(usr, span_notice("You will now get messages from the game.")) spectators += C.ckey return TRUE if(user_role && user_role.game_status == MAFIA_DEAD) @@ -924,8 +924,8 @@ //small message about not getting into this game for clarity on why they didn't get in for(var/unpicked in possible_keys) var/client/unpicked_client = GLOB.directory[unpicked] - to_chat(unpicked_client, "Sorry, the starting mafia game has too many players and you were not picked.") - to_chat(unpicked_client, "You're still signed up, getting messages from the current round, and have another chance to join when the one starting now finishes.") + to_chat(unpicked_client, span_danger("Sorry, the starting mafia game has too many players and you were not picked.")) + to_chat(unpicked_client, span_warning("You're still signed up, getting messages from the current round, and have another chance to join when the one starting now finishes.")) if(!setup.len) //don't actually have one yet, so generate a max player random setup. it's good to do this here instead of above so it doesn't generate one every time a game could possibly start. setup = generate_random_setup() diff --git a/code/modules/mafia/roles.dm b/code/modules/mafia/roles.dm index 115d223ebc6..8ba1bc33ce3 100644 --- a/code/modules/mafia/roles.dm +++ b/code/modules/mafia/roles.dm @@ -47,13 +47,13 @@ */ /datum/mafia_role/proc/can_action(datum/mafia_controller/game, datum/mafia_role/visitor, action) if(role_flags & ROLE_ROLEBLOCKED) - to_chat(visitor,"Your [action] was blocked!") + to_chat(visitor,span_danger("Your [action] was blocked!")) return FALSE if(game_status != MAFIA_ALIVE) //They're already dead - to_chat(visitor,"[body.real_name] perished before you could visit!") + to_chat(visitor,span_danger("[body.real_name] perished before you could visit!")) return FALSE if(SEND_SIGNAL(src,COMSIG_MAFIA_ON_VISIT,game,visitor) & MAFIA_VISIT_INTERRUPTED) //visited a warden. something that prevents you by visiting that person - to_chat(visitor,"Your [action] was interrupted!") + to_chat(visitor,span_danger("Your [action] was interrupted!")) return FALSE return TRUE @@ -79,15 +79,15 @@ /datum/mafia_role/proc/greet() SEND_SOUND(body, 'sound/ambience/ambifailure.ogg') - to_chat(body,"You are the [name].") - to_chat(body,"[desc]") + to_chat(body,span_danger("You are the [name].")) + to_chat(body,span_danger("[desc]")) switch(team) if(MAFIA_TEAM_MAFIA) - to_chat(body,"You and your co-conspirators win if you outnumber crewmembers.") + to_chat(body,span_danger("You and your co-conspirators win if you outnumber crewmembers.")) if(MAFIA_TEAM_TOWN) - to_chat(body,"You are a crewmember. Find out and lynch the changelings!") + to_chat(body,span_danger("You are a crewmember. Find out and lynch the changelings!")) if(MAFIA_TEAM_SOLO) - to_chat(body,"You are not aligned to town or mafia. Accomplish your own objectives!") + to_chat(body,span_danger("You are not aligned to town or mafia. Accomplish your own objectives!")) to_chat(body, "Be sure to read the wiki page to learn more, if you have no idea what's going on.") /datum/mafia_role/proc/reveal_role(datum/mafia_controller/game, verbose = FALSE) @@ -138,9 +138,9 @@ team_desc = "Nobody" team_span = "comradio" the = FALSE - result += "The [name] is aligned with [the ? "the " : ""][team_desc]" + result += span_notice("The [span_bold("[name]")] is aligned with [the ? "the " : ""][team_desc]") result += "\"[desc]\"" - result += "[name] wins when they [win_condition]" + result += span_notice("[name] wins when they [win_condition]") to_chat(clueless, result.Join("
    ")) /datum/mafia_role/detective @@ -169,9 +169,9 @@ /datum/mafia_role/detective/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target) if(!target || target.game_status != MAFIA_ALIVE) - to_chat(body,"You can only investigate alive people.") + to_chat(body,span_warning("You can only investigate alive people.")) return - to_chat(body,"You will investigate [target.body.real_name] tonight.") + to_chat(body,span_warning("You will investigate [target.body.real_name] tonight.")) current_investigation = target /datum/mafia_role/detective/proc/investigate(datum/mafia_controller/game) @@ -185,7 +185,7 @@ if(!target.can_action(game, src, "investigation")) return if((target.role_flags & ROLE_UNDETECTABLE)) - to_chat(body,"Your investigations reveal that [target.body.real_name] is a true member of the station.") + to_chat(body,span_warning("Your investigations reveal that [target.body.real_name] is a true member of the station.")) add_note("N[game.turn] - [target.body.real_name] - Town") else var/team_text @@ -200,7 +200,7 @@ if(MAFIA_TEAM_SOLO) team_text = "Solo" fluff = "a rogue, with their own objectives..." - to_chat(body,"Your investigations reveal that [target.body.real_name] is [fluff]") + to_chat(body,span_warning("Your investigations reveal that [target.body.real_name] is [fluff]")) add_note("N[game.turn] - [target.body.real_name] - [team_text]") /datum/mafia_role/psychologist @@ -228,7 +228,7 @@ /datum/mafia_role/psychologist/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() - to_chat(body,"You will reveal [target.body.real_name] tonight.") + to_chat(body,span_warning("You will reveal [target.body.real_name] tonight.")) current_target = target /datum/mafia_role/psychologist/proc/therapy_reveal(datum/mafia_controller/game) @@ -241,7 +241,7 @@ if(!target.can_action(game, src, "role reveal")) return add_note("N[game.turn] - [current_target.body.real_name] - Revealed true identity") - to_chat(body,"You have revealed the true nature of the [current_target]!") + to_chat(body,span_warning("You have revealed the true nature of the [current_target]!")) target.reveal_role(game, verbose = TRUE) can_use = FALSE @@ -268,7 +268,7 @@ return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_DEAD && target != src && !(target.role_flags & ROLE_REVEALED) /datum/mafia_role/chaplain/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target) - to_chat(body,"You will commune with the spirit of [target.body.real_name] tonight.") + to_chat(body,span_warning("You will commune with the spirit of [target.body.real_name] tonight.")) current_target = target /datum/mafia_role/chaplain/proc/commune(datum/mafia_controller/game) @@ -281,7 +281,7 @@ if(!target.can_action(game, src, "communion")) return if(target) - to_chat(body,"You invoke spirit of [target.body.real_name] and learn their role was [target.name].") + to_chat(body,span_warning("You invoke spirit of [target.body.real_name] and learn their role was [target.name].")) add_note("N[game.turn] - [target.body.real_name] - [target.name]") /datum/mafia_role/md @@ -311,9 +311,9 @@ /datum/mafia_role/md/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target) if(!target || target.game_status != MAFIA_ALIVE) - to_chat(body,"You can only protect alive people.") + to_chat(body,span_warning("You can only protect alive people.")) return - to_chat(body,"You will protect [target.body.real_name] tonight.") + to_chat(body,span_warning("You will protect [target.body.real_name] tonight.")) current_protected = target /datum/mafia_role/md/proc/protect(datum/mafia_controller/game) @@ -333,10 +333,10 @@ SIGNAL_HANDLER if((current_protected.role_flags & ROLE_VULNERABLE)) - to_chat(body,"The person you protected could not be saved.") + to_chat(body,span_warning("The person you protected could not be saved.")) return - to_chat(body,"The person you protected tonight was attacked!") - to_chat(current_protected.body,"You were attacked last night, but someone nursed you back to life!") + to_chat(body,span_warning("The person you protected tonight was attacked!")) + to_chat(current_protected.body,span_greentext("You were attacked last night, but someone nursed you back to life!")) return MAFIA_PREVENT_KILL /datum/mafia_role/md/proc/end_protection(datum/mafia_controller/game) @@ -374,9 +374,9 @@ /datum/mafia_role/officer/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target) if(!target || target.game_status != MAFIA_ALIVE) - to_chat(body,"You can only defend alive people.") + to_chat(body,span_warning("You can only defend alive people.")) return - to_chat(body,"You will defend [target.body.real_name] tonight.") + to_chat(body,span_warning("You will defend [target.body.real_name] tonight.")) current_defended = target /datum/mafia_role/officer/proc/defend(datum/mafia_controller/game) @@ -396,12 +396,12 @@ SIGNAL_HANDLER if((current_defended.role_flags & ROLE_VULNERABLE)) - to_chat(body,"The person you defended could not be saved. You could not attack the killer.") + to_chat(body,span_warning("The person you defended could not be saved. You could not attack the killer.")) return - to_chat(body,"The person you defended tonight was attacked!") - to_chat(current_defended.body,"You were attacked last night, but security fought off the attacker!") + to_chat(body,span_userdanger("The person you defended tonight was attacked!")) + to_chat(current_defended.body,span_userdanger("You were attacked last night, but security fought off the attacker!")) if(attacker.kill(game,src,FALSE)) //you attack the attacker - to_chat(attacker.body, "You have been ambushed by Security!") + to_chat(attacker.body, span_userdanger("You have been ambushed by Security!")) kill(game,attacker,FALSE) //the attacker attacks you, they were able to attack the target so they can attack you. return MAFIA_PREVENT_KILL @@ -459,10 +459,10 @@ . = ..() if(target == current_target) current_target = null - to_chat(body,"You have decided against blocking anyone tonight.") + to_chat(body,span_warning("You have decided against blocking anyone tonight.")) else current_target = target - to_chat(body,"You will block [target.body.real_name] tonight.") + to_chat(body,span_warning("You will block [target.body.real_name] tonight.")) /datum/mafia_role/lawyer/proc/release(datum/mafia_controller/game) SIGNAL_HANDLER @@ -521,8 +521,8 @@ /datum/mafia_role/hos/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target) if(execute_target == target) - to_chat(body,"You have decided against executing tonight.") - to_chat(body,"You have decided to execute [target.body.real_name] tonight.") + to_chat(body,span_warning("You have decided against executing tonight.")) + to_chat(body,span_warning("You have decided to execute [target.body.real_name] tonight.")) execute_target = target /datum/mafia_role/hos/proc/execute(datum/mafia_controller/game) @@ -535,17 +535,17 @@ if(!target.can_action(game, src, "execution")) //roleblocking a warden moment return if(!target.kill(game,src,FALSE))//protection - to_chat(body,"Your attempt at executing [target.body.real_name] was prevented, or [target.body.real_name] is immune!") + to_chat(body,span_danger("Your attempt at executing [target.body.real_name] was prevented, or [target.body.real_name] is immune!")) else - to_chat(target.body, "You have been executed by the Head of Security!") + to_chat(target.body, span_userdanger("You have been executed by the Head of Security!")) target.reveal_role(game, verbose = TRUE) if(target.team == MAFIA_TEAM_TOWN) - to_chat(body,"You have killed an innocent crewmember. You will die tomorrow night.") + to_chat(body,span_userdanger("You have killed an innocent crewmember. You will die tomorrow night.")) RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,.proc/internal_affairs) role_flags |= ROLE_VULNERABLE /datum/mafia_role/hos/proc/internal_affairs(datum/mafia_controller/game) - to_chat(body,"You have been killed by Nanotrasen Internal Affairs!") + to_chat(body,span_userdanger("You have been killed by Nanotrasen Internal Affairs!")) reveal_role(game, verbose = TRUE) kill(game,src,FALSE) //you technically kill yourself but that shouldn't matter @@ -578,22 +578,22 @@ /datum/mafia_role/warden/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() if(!charges) - to_chat(body,"You've already locked down this game!") + to_chat(body,span_danger("You've already locked down this game!")) return if(game.phase == MAFIA_PHASE_NIGHT) - to_chat(body,"You don't have time to lockdown, night has already arrived.") + to_chat(body,span_danger("You don't have time to lockdown, night has already arrived.")) return if(protection_status == WARDEN_WILL_LOCKDOWN) - to_chat(body,"You decide to not lockdown tonight.") + to_chat(body,span_danger("You decide to not lockdown tonight.")) else - to_chat(body,"You decide to lockdown, killing any visitors.") + to_chat(body,span_danger("You decide to lockdown, killing any visitors.")) protection_status = !protection_status /datum/mafia_role/warden/proc/night_start(datum/mafia_controller/game) SIGNAL_HANDLER if(protection_status == WARDEN_WILL_LOCKDOWN) - to_chat(body,"Any and all visitors are going to eat buckshot tonight.") + to_chat(body,span_danger("Any and all visitors are going to eat buckshot tonight.")) RegisterSignal(src,COMSIG_MAFIA_ON_VISIT,.proc/self_defense) /datum/mafia_role/warden/proc/night_end(datum/mafia_controller/game) @@ -602,14 +602,14 @@ if(protection_status == WARDEN_WILL_LOCKDOWN) charges-- UnregisterSignal(src,COMSIG_MAFIA_ON_KILL) - to_chat(body,"You are no longer protected. You have used up your power.") + to_chat(body,span_danger("You are no longer protected. You have used up your power.")) protection_status = WARDEN_NOT_LOCKDOWN /datum/mafia_role/warden/proc/self_defense(datum/source,datum/mafia_controller/game,datum/mafia_role/attacker,lynch) SIGNAL_HANDLER - to_chat(body,"You have shot a visitor!") - to_chat(attacker,"You have visited the warden!") + to_chat(body,span_userdanger("You have shot a visitor!")) + to_chat(attacker,span_userdanger("You have visited the warden!")) attacker.kill(game, src, lynch = FALSE) return MAFIA_VISIT_INTERRUPTED @@ -663,7 +663,7 @@ return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_ALIVE && target != src /datum/mafia_role/mafia/thoughtfeeder/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target) - to_chat(body,"You will feast on the memories of [target.body.real_name] tonight.") + to_chat(body,span_warning("You will feast on the memories of [target.body.real_name] tonight.")) current_investigation = target /datum/mafia_role/mafia/thoughtfeeder/proc/investigate(datum/mafia_controller/game) @@ -675,10 +675,10 @@ add_note("N[game.turn] - [target.body.real_name] - Unable to investigate") return if((target.role_flags & ROLE_UNDETECTABLE)) - to_chat(body,"[target.body.real_name]'s memories reveal that they are the Assistant.") + to_chat(body,span_warning("[target.body.real_name]'s memories reveal that they are the Assistant.")) add_note("N[game.turn] - [target.body.real_name] - Assistant") else - to_chat(body,"[target.body.real_name]'s memories reveal that they are the [target.name].") + to_chat(body,span_warning("[target.body.real_name]'s memories reveal that they are the [target.name].")) add_note("N[game.turn] - [target.body.real_name] - [target.name]") ///SOLO ROLES/// they range from anomalous factors to deranged killers that try to win alone. @@ -714,7 +714,7 @@ SIGNAL_HANDLER if(game.phase == MAFIA_PHASE_NIGHT && !lynch) - to_chat(body,"You were attacked, but they'll have to try harder than that to put you down.") + to_chat(body,span_userdanger("You were attacked, but they'll have to try harder than that to put you down.")) return MAFIA_PREVENT_KILL /datum/mafia_role/traitor/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target) @@ -727,7 +727,7 @@ /datum/mafia_role/traitor/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() current_victim = target - to_chat(body,"You will attempt to kill [target.body.real_name] tonight.") + to_chat(body,span_warning("You will attempt to kill [target.body.real_name] tonight.")) /datum/mafia_role/traitor/proc/try_to_kill(datum/mafia_controller/game) SIGNAL_HANDLER @@ -740,9 +740,9 @@ return if(game_status == MAFIA_ALIVE) if(!target.kill(game,src,FALSE)) - to_chat(body,"Your attempt at killing [target.body.real_name] was prevented!") + to_chat(body,span_danger("Your attempt at killing [target.body.real_name] was prevented!")) else - to_chat(target.body, "You have been killed by a Traitor!") + to_chat(target.body, span_userdanger("You have been killed by a Traitor!")) /datum/mafia_role/nightmare name = "Nightmare" @@ -790,13 +790,13 @@ /datum/mafia_role/nightmare/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() if(target == flicker_target) - to_chat(body,"You will do nothing tonight.") + to_chat(body,span_warning("You will do nothing tonight.")) flicker_target = null flicker_target = target if(action == "Flicker") - to_chat(body,"You will attempt to flicker [target.body.real_name]'s room tonight.") + to_chat(body,span_warning("You will attempt to flicker [target.body.real_name]'s room tonight.")) else - to_chat(body,"You will hunt everyone in a flickering room down tonight.") + to_chat(body,span_danger("You will hunt everyone in a flickering room down tonight.")) /datum/mafia_role/nightmare/proc/flickering_immunity(datum/source,datum/mafia_controller/game,datum/mafia_role/attacker,lynch) SIGNAL_HANDLER @@ -804,7 +804,7 @@ return //no chance man, that's a town lynch if(attacker in flickering) - to_chat(body,"You were attacked by someone in a flickering room. You have danced in the shadows, evading them.") + to_chat(body,span_userdanger("You were attacked by someone in a flickering room. You have danced in the shadows, evading them.")) return MAFIA_PREVENT_KILL /datum/mafia_role/nightmare/proc/flicker_or_hunt(datum/mafia_controller/game) @@ -818,13 +818,13 @@ return if(target != src) //flicker instead of hunt - to_chat(target.body, "The lights begin to flicker and dim. You're in danger.") + to_chat(target.body, span_userdanger("The lights begin to flicker and dim. You're in danger.")) flickering += target return for(var/r in flickering) var/datum/mafia_role/role = r if(role && role.game_status == MAFIA_ALIVE) - to_chat(role.body, "A shadowy figure appears out of the darkness!") + to_chat(role.body, span_userdanger("A shadowy figure appears out of the darkness!")) role.kill(game,src,FALSE) flickering -= role @@ -858,22 +858,22 @@ /datum/mafia_role/fugitive/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() if(!charges) - to_chat(body,"You're out of supplies and cannot protect yourself anymore.") + to_chat(body,span_danger("You're out of supplies and cannot protect yourself anymore.")) return if(game.phase == MAFIA_PHASE_NIGHT) - to_chat(body,"You don't have time to prepare, night has already arrived.") + to_chat(body,span_danger("You don't have time to prepare, night has already arrived.")) return if(protection_status == FUGITIVE_WILL_PRESERVE) - to_chat(body,"You decide to not prepare tonight.") + to_chat(body,span_danger("You decide to not prepare tonight.")) else - to_chat(body,"You decide to prepare for a horrible night.") + to_chat(body,span_danger("You decide to prepare for a horrible night.")) protection_status = !protection_status /datum/mafia_role/fugitive/proc/night_start(datum/mafia_controller/game) SIGNAL_HANDLER if(protection_status == FUGITIVE_WILL_PRESERVE) - to_chat(body,"Your preparations are complete. Nothing could kill you tonight!") + to_chat(body,span_danger("Your preparations are complete. Nothing could kill you tonight!")) RegisterSignal(src,COMSIG_MAFIA_ON_KILL,.proc/prevent_death) /datum/mafia_role/fugitive/proc/night_end(datum/mafia_controller/game) @@ -882,13 +882,13 @@ if(protection_status == FUGITIVE_WILL_PRESERVE) charges-- UnregisterSignal(src,COMSIG_MAFIA_ON_KILL) - to_chat(body,"You are no longer protected. You have [charges] use[charges == 1 ? "" : "s"] left of your power.") + to_chat(body,span_danger("You are no longer protected. You have [charges] use[charges == 1 ? "" : "s"] left of your power.")) protection_status = FUGITIVE_NOT_PRESERVING /datum/mafia_role/fugitive/proc/prevent_death(datum/source,datum/mafia_controller/game,datum/mafia_role/attacker,lynch) SIGNAL_HANDLER - to_chat(body,"You were attacked! Luckily, you were ready for this!") + to_chat(body,span_userdanger("You were attacked! Luckily, you were ready for this!")) return MAFIA_PREVENT_KILL /datum/mafia_role/fugitive/proc/survived(datum/mafia_controller/game) @@ -932,7 +932,7 @@ if(!obsession) obsession = pick(all_roles_shuffle) //okay no town just pick anyone here //if you still don't have an obsession you're playing a single player game like i can't help your dumb ass - to_chat(body, "Your obsession is [obsession.body.real_name]! Get them lynched to win!") + to_chat(body, span_userdanger("Your obsession is [obsession.body.real_name]! Get them lynched to win!")) add_note("N[game.turn] - I vowed to watch my obsession, [obsession.body.real_name], hang!") //it'll always be N1 but whatever RegisterSignal(obsession,COMSIG_MAFIA_ON_KILL,.proc/check_victory) UnregisterSignal(game,COMSIG_MAFIA_SUNDOWN) @@ -948,7 +948,7 @@ game.award_role(winner_award, src) reveal_role(game, FALSE) else - to_chat(body, "You have failed your objective to lynch [obsession.body.real_name]!") + to_chat(body, span_userdanger("You have failed your objective to lynch [obsession.body.real_name]!")) /datum/mafia_role/clown name = "Clown" diff --git a/code/modules/meteors/meteors.dm b/code/modules/meteors/meteors.dm index 8950d77b435..d9ecfbbe361 100644 --- a/code/modules/meteors/meteors.dm +++ b/code/modules/meteors/meteors.dm @@ -146,7 +146,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event continue if(isliving(thing)) var/mob/living/living_thing = thing - living_thing.visible_message("[src] slams into [living_thing].", "[src] slams into you!.") + living_thing.visible_message(span_warning("[src] slams into [living_thing]."), span_userdanger("[src] slams into you!.")) switch(hitpwr) if(EXPLODE_DEVASTATE) SSexplosions.high_mov_atom += thing diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index 9a5d02e18fd..e558bf03f63 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -28,7 +28,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/structure/closet/crate/secure/loot/attack_hand(mob/user, list/modifiers) if(locked) - to_chat(user, "The crate is locked with a Deca-code lock.") + to_chat(user, span_notice("The crate is locked with a Deca-code lock.")) var/input = input(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") as text|null if(user.canUseTopic(src, BE_CLOSE)) var/list/sanitised = list() @@ -43,7 +43,7 @@ if(sanitised[i] == sanitised[j]) sanitycheck = FALSE //if a digit is repeated, reject the input if(input == code) - to_chat(user, "The crate unlocks!") + to_chat(user, span_notice("The crate unlocks!")) locked = FALSE cut_overlays() add_overlay("securecrateg") @@ -51,9 +51,9 @@ if(!spawned_loot) spawn_loot() else if(!input || !sanitycheck || length(sanitised) != codelen) - to_chat(user, "You leave the crate alone.") + to_chat(user, span_notice("You leave the crate alone.")) else - to_chat(user, "A red light flashes.") + to_chat(user, span_warning("A red light flashes.")) lastattempt = input attempts-- if(attempts == 0) @@ -69,11 +69,11 @@ /obj/structure/closet/crate/secure/loot/attackby(obj/item/W, mob/user) if(locked) if(W.tool_behaviour == TOOL_MULTITOOL) - to_chat(user, "DECA-CODE LOCK REPORT:") + to_chat(user, span_notice("DECA-CODE LOCK REPORT:")) if(attempts == 1) - to_chat(user, "* Anti-Tamper Bomb will activate on next failed access attempt.") + to_chat(user, span_warning("* Anti-Tamper Bomb will activate on next failed access attempt.")) else - to_chat(user, "* Anti-Tamper Bomb will activate after [attempts] failed access attempts.") + to_chat(user, span_notice("* Anti-Tamper Bomb will activate after [attempts] failed access attempts.")) if(lastattempt != null) var/bulls = 0 //right position, right number var/cows = 0 //wrong position but in the puzzle @@ -97,7 +97,7 @@ lastattempt_it += length(lastattempt_char) code_it += length(code_char) - to_chat(user, "Last code attempt, [lastattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.") + to_chat(user, span_notice("Last code attempt, [lastattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")) return return ..() diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index bb11e236253..c7adb9851e7 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -130,7 +130,7 @@ */ /obj/machinery/computer/auxiliary_base/proc/launch_check(mob/user) if(!is_station_level(z) && shuttleId == "colony_drop") - to_chat(user, "You can't move the base again!") + to_chat(user, span_warning("You can't move the base again!")) return FALSE return TRUE @@ -139,7 +139,7 @@ if(.) return if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_danger("Access denied.")) return switch(action) @@ -148,7 +148,7 @@ return var/shuttle_error = SSshuttle.moveShuttle(shuttleId, params["shuttle_id"], 1) if(launch_warning) - say("Launch sequence activated! Prepare for drop!!") + say(span_danger("Launch sequence activated! Prepare for drop!!")) playsound(loc, 'sound/machines/warning-buzzer.ogg', 70, FALSE) launch_warning = FALSE blind_drop_ready = FALSE @@ -168,10 +168,10 @@ var/turf/LZ = pick(all_mining_turfs) //Pick a random mining Z-level turf if(!ismineralturf(LZ) && !istype(LZ, /turf/open/floor/plating/asteroid)) //Find a suitable mining turf. Reduces chance of landing in a bad area - to_chat(usr, "Landing zone scan failed. Please try again.") + to_chat(usr, span_warning("Landing zone scan failed. Please try again.")) return if(set_landing_zone(LZ, usr) != ZONE_SET) - to_chat(usr, "Landing zone unsuitable. Please recalculate.") + to_chat(usr, span_warning("Landing zone unsuitable. Please recalculate.")) return blind_drop_ready = FALSE return TRUE @@ -201,7 +201,7 @@ /obj/machinery/computer/auxiliary_base/proc/set_landing_zone(turf/T, mob/user, no_restrictions) var/obj/docking_port/mobile/auxiliary_base/base_dock = locate(/obj/docking_port/mobile/auxiliary_base) in SSshuttle.mobile if(!base_dock) //Not all maps have an Aux base. This object is useless in that case. - to_chat(user, "This station is not equipped with an auxiliary base. Please contact your Nanotrasen contractor.") + to_chat(user, span_warning("This station is not equipped with an auxiliary base. Please contact your Nanotrasen contractor.")) return if(!no_restrictions) var/static/list/disallowed_turf_types = typecacheof(list( @@ -245,7 +245,7 @@ //Serves as a nice mechanic to people get ready for the launch. minor_announce("Auxiliary base landing zone coordinates locked in for [A]. Launch command now available!") - to_chat(user, "Landing zone set.") + to_chat(user, span_notice("Landing zone set.")) return ZONE_SET @@ -265,7 +265,7 @@ if(setting) return - to_chat(user, "You begin setting the landing zone parameters...") + to_chat(user, span_notice("You begin setting the landing zone parameters...")) setting = TRUE if(!do_after(user, 50, target = user)) //You get a few seconds to cancel if you do not want to drop there. setting = FALSE @@ -280,20 +280,20 @@ AB = A break if(!AB) - to_chat(user, "No auxiliary base console detected.") + to_chat(user, span_warning("No auxiliary base console detected.")) return switch(AB.set_landing_zone(T, user, no_restrictions)) if(ZONE_SET) qdel(src) if(BAD_ZLEVEL) - to_chat(user, "This uplink can only be used in a designed mining zone.") + to_chat(user, span_warning("This uplink can only be used in a designed mining zone.")) if(BAD_AREA) - to_chat(user, "Unable to acquire a targeting lock. Find an area clear of structures or entirely within one.") + to_chat(user, span_warning("Unable to acquire a targeting lock. Find an area clear of structures or entirely within one.")) if(BAD_COORDS) - to_chat(user, "Location is too close to the edge of the station's scanning range. Move several paces away and try again.") + to_chat(user, span_warning("Location is too close to the edge of the station's scanning range. Move several paces away and try again.")) if(BAD_TURF) - to_chat(user, "The landing zone contains turfs unsuitable for a base. Make sure you've removed all walls and dangerous terrain from the landing zone.") + to_chat(user, span_warning("The landing zone contains turfs unsuitable for a base. Make sure you've removed all walls and dangerous terrain from the landing zone.")) /obj/item/assault_pod/mining/unrestricted name = "omni-locational landing field designator" @@ -344,11 +344,11 @@ if(.) return if(anchored) - to_chat(user, "Landing zone already set.") + to_chat(user, span_warning("Landing zone already set.")) return if(anti_spam_cd) - to_chat(user, "[src] is currently recalibrating. Please wait.") + to_chat(user, span_warning("[src] is currently recalibrating. Please wait.")) return anti_spam_cd = 1 @@ -357,7 +357,7 @@ var/turf/landing_spot = get_turf(src) if(!is_mining_level(landing_spot.z)) - to_chat(user, "This device is only to be used in a mining zone.") + to_chat(user, span_warning("This device is only to be used in a mining zone.")) return var/obj/machinery/computer/auxiliary_base/aux_base_console for(var/obj/machinery/computer/auxiliary_base/ABC in GLOB.machines) @@ -365,7 +365,7 @@ aux_base_console = ABC break if(!aux_base_console) //Needs to be near the base to serve as its dock and configure it to control the mining shuttle. - to_chat(user, "The auxiliary base's console must be within [console_range] meters in order to interface.") + to_chat(user, span_warning("The auxiliary base's console must be within [console_range] meters in order to interface.")) return //Mining shuttles may not be created equal, so we find the map's shuttle dock and size accordingly. @@ -388,7 +388,7 @@ break if(!Mport) - to_chat(user, "This station is not equipped with an appropriate mining shuttle. Please contact Nanotrasen Support.") + to_chat(user, span_warning("This station is not equipped with an appropriate mining shuttle. Please contact Nanotrasen Support.")) return var/obj/docking_port/mobile/mining_shuttle @@ -402,7 +402,7 @@ break if(!mining_shuttle) //Not having a mining shuttle is a map issue - to_chat(user, "No mining shuttle signal detected. Please contact Nanotrasen Support.") + to_chat(user, span_warning("No mining shuttle signal detected. Please contact Nanotrasen Support.")) SSshuttle.stationary.Remove(Mport) qdel(Mport) return @@ -410,24 +410,24 @@ for(var/i in 1 to landing_turfs.len) //You land NEAR the base, not IN it. var/turf/L = landing_turfs[i] if(!L) //This happens at map edges - to_chat(user, "Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base.") + to_chat(user, span_warning("Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base.")) SSshuttle.stationary.Remove(Mport) qdel(Mport) return if(istype(get_area(L), /area/shuttle/auxiliary_base)) - to_chat(user, "The mining shuttle must not land within the mining base itself.") + to_chat(user, span_warning("The mining shuttle must not land within the mining base itself.")) SSshuttle.stationary.Remove(Mport) qdel(Mport) return if(mining_shuttle.canDock(Mport) != SHUTTLE_CAN_DOCK) - to_chat(user, "Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base.") + to_chat(user, span_warning("Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base.")) SSshuttle.stationary.Remove(Mport) qdel(Mport) return aux_base_console.set_mining_mode() //Lets the colony park the shuttle there, now that it has a dock. - to_chat(user, "Mining shuttle calibration successful! Shuttle interface available at base console.") + to_chat(user, span_notice("Mining shuttle calibration successful! Shuttle interface available at base console.")) set_anchored(TRUE) //Locks in place to mark the landing zone. playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) log_shuttle("[key_name(usr)] has registered the mining shuttle beacon at [COORD(landing_spot)].") diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index ebd390f91d4..0622dae4c18 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -75,9 +75,9 @@ if(istype(C) && DT_PROB(1, delta_time)) //cursed by bubblegum if(DT_PROB(7.5, delta_time)) new /datum/hallucination/oh_yeah(C) - to_chat(C, "[pick("I AM IMMORTAL.","I SHALL TAKE BACK WHAT'S MINE.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","DEATH CANNOT HOLD ME.")]") + to_chat(C, span_colossus("[pick("I AM IMMORTAL.","I SHALL TAKE BACK WHAT'S MINE.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","DEATH CANNOT HOLD ME.")]")) else - to_chat(C, "[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]") + to_chat(C, span_warning("[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]")) /obj/item/clothing/head/helmet/space/hostile_environment name = "H.E.C.K. helmet" diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index fd324ea1d59..79bc371c550 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -57,22 +57,22 @@ /obj/item/kinetic_crusher/examine(mob/living/user) . = ..() - . += "Mark a large creature with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage." - . += "Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage]." + . += span_notice("Mark a large creature with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage.") + . += span_notice("Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage].") for(var/t in trophies) var/obj/item/crusher_trophy/T = t - . += "It has \a [T] attached, which causes [T.effect_desc()]." + . += span_notice("It has \a [T] attached, which causes [T.effect_desc()].") /obj/item/kinetic_crusher/attackby(obj/item/I, mob/living/user) if(I.tool_behaviour == TOOL_CROWBAR) if(LAZYLEN(trophies)) - to_chat(user, "You remove [src]'s trophies.") + to_chat(user, span_notice("You remove [src]'s trophies.")) I.play_tool_sound(src) for(var/t in trophies) var/obj/item/crusher_trophy/T = t T.remove_from(src, user) else - to_chat(user, "There are no trophies on [src].") + to_chat(user, span_warning("There are no trophies on [src].")) else if(istype(I, /obj/item/crusher_trophy)) var/obj/item/crusher_trophy/T = I T.add_to(src, user) @@ -81,7 +81,7 @@ /obj/item/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) if(!wielded) - to_chat(user, "[src] is too heavy to use with one hand! You fumble and drop everything.") + to_chat(user, span_warning("[src] is too heavy to use with one hand! You fumble and drop everything.")) user.drop_all_held_items() return var/datum/status_effect/crusher_damage/C = target.has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING) @@ -212,7 +212,7 @@ /obj/item/crusher_trophy/examine(mob/living/user) . = ..() - . += "Causes [effect_desc()] when attached to a kinetic crusher." + . += span_notice("Causes [effect_desc()] when attached to a kinetic crusher.") /obj/item/crusher_trophy/proc/effect_desc() return "errors" @@ -227,12 +227,12 @@ for(var/t in H.trophies) var/obj/item/crusher_trophy/T = t if(istype(T, denied_type) || istype(src, T.denied_type)) - to_chat(user, "You can't seem to attach [src] to [H]. Maybe remove a few trophies?") + to_chat(user, span_warning("You can't seem to attach [src] to [H]. Maybe remove a few trophies?")) return FALSE if(!user.transferItemToLoc(src, H)) return H.trophies += src - to_chat(user, "You attach [src] to [H].") + to_chat(user, span_notice("You attach [src] to [H].")) return TRUE /obj/item/crusher_trophy/proc/remove_from(obj/item/kinetic_crusher/H, mob/living/user) diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm index 7e02a012ac4..ba1991263fb 100644 --- a/code/modules/mining/equipment/lazarus_injector.dm +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -23,7 +23,7 @@ if(isanimal(target)) var/mob/living/simple_animal/M = target if(M.sentience_type != revive_type) - to_chat(user, "[src] does not work on this sort of creature.") + to_chat(user, span_info("[src] does not work on this sort of creature.")) return if(M.stat == DEAD) M.faction = list("neutral") @@ -39,16 +39,16 @@ else H.attack_same = 0 loaded = 0 - user.visible_message("[user] injects [M] with [src], reviving it.") + user.visible_message(span_notice("[user] injects [M] with [src], reviving it.")) SSblackbox.record_feedback("tally", "lazarus_injector", 1, M.type) playsound(src,'sound/effects/refill.ogg',50,TRUE) icon_state = "lazarus_empty" return else - to_chat(user, "[src] is only effective on the dead.") + to_chat(user, span_info("[src] is only effective on the dead.")) return else - to_chat(user, "[src] is only effective on lesser beings.") + to_chat(user, span_info("[src] is only effective on lesser beings.")) return /obj/item/lazarus_injector/emp_act() @@ -61,6 +61,6 @@ /obj/item/lazarus_injector/examine(mob/user) . = ..() if(!loaded) - . += "[src] is empty." + . += span_info("[src] is empty.") if(malfunctioning) - . += "The display on [src] seems to be flickering." + . += span_info("The display on [src] seems to be flickering.") diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index a9f3235c29c..d49744c438a 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -48,13 +48,13 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/item/stack/marker_beacon/attack_self(mob/user) if(!isturf(user.loc)) - to_chat(user, "You need more space to place a [singular_name] here.") + to_chat(user, span_warning("You need more space to place a [singular_name] here.")) return if(locate(/obj/structure/marker_beacon) in user.loc) - to_chat(user, "There is already a [singular_name] here.") + to_chat(user, span_warning("There is already a [singular_name] here.")) return if(use(1)) - to_chat(user, "You activate and anchor [amount ? "a":"the"] [singular_name] in place.") + to_chat(user, span_notice("You activate and anchor [amount ? "a":"the"] [singular_name] in place.")) playsound(user, 'sound/machines/click.ogg', 50, TRUE) var/obj/structure/marker_beacon/M = new(user.loc, picked_color) transfer_fingerprints_to(M) @@ -99,7 +99,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/structure/marker_beacon/examine(mob/user) . = ..() - . += "Alt-click to select a color. Current color is [picked_color]." + . += span_notice("Alt-click to select a color. Current color is [picked_color].") /obj/structure/marker_beacon/update_appearance(updates) while(!picked_color || !GLOB.marker_beacon_colors[picked_color]) @@ -116,7 +116,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( . = ..() if(.) return - to_chat(user, "You start picking [src] up...") + to_chat(user, span_notice("You start picking [src] up...")) if(do_after(user, remove_speed, target = src)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color @@ -129,7 +129,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/structure/marker_beacon/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/stack/marker_beacon)) var/obj/item/stack/marker_beacon/M = I - to_chat(user, "You start picking [src] up...") + to_chat(user, span_notice("You start picking [src] up...")) if(do_after(user, remove_speed, target = src) && M.amount + 1 <= M.max_amount) M.add(1) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) @@ -138,7 +138,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( if(istype(I, /obj/item/light_eater)) var/obj/effect/decal/cleanable/ash/A = new /obj/effect/decal/cleanable/ash(drop_location()) A.desc += "\nLooks like this used to be \a [src] some time ago." - visible_message("[src] is disintegrated by [I]!") + visible_message(span_danger("[src] is disintegrated by [I]!")) playsound(src, 'sound/items/welder.ogg', 50, TRUE) qdel(src) return diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index 7a74f3a3c54..c564b647cab 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -20,10 +20,10 @@ attack_verb_simple = list("hit", "pierce", "slice", "attack") /obj/item/pickaxe/suicide_act(mob/living/user) - user.visible_message("[user] begins digging into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins digging into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")) if(use_tool(user, user, 30, volume=50)) return BRUTELOSS - user.visible_message("[user] couldn't do it!") + user.visible_message(span_suicide("[user] couldn't do it!")) return SHAME /obj/item/pickaxe/rusted @@ -144,10 +144,10 @@ AddComponent(/datum/component/butchering, 150, 40) //it's sharp, so it works, but barely. /obj/item/shovel/suicide_act(mob/living/user) - user.visible_message("[user] begins digging their own grave! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins digging their own grave! It looks like [user.p_theyre()] trying to commit suicide!")) if(use_tool(user, user, 30, volume=50)) return BRUTELOSS - user.visible_message("[user] couldn't do it!") + user.visible_message(span_suicide("[user] couldn't do it!")) return SHAME /obj/item/shovel/spade diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index bb5eb745f61..70785e41c2c 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -12,11 +12,11 @@ return var/obj/item/organ/regenerative_core/C = M if(!istype(C, /obj/item/organ/regenerative_core)) - to_chat(user, "The stabilizer only works on certain types of monster organs, generally regenerative in nature.") + to_chat(user, span_warning("The stabilizer only works on certain types of monster organs, generally regenerative in nature.")) return C.preserved() - to_chat(user, "You inject the [M] with the stabilizer. It will no longer go inert.") + to_chat(user, span_notice("You inject the [M] with the stabilizer. It will no longer go inert.")) qdel(src) /************************Hivelord core*******************/ @@ -59,7 +59,7 @@ /obj/item/organ/regenerative_core/ui_action_click() if(inert) - to_chat(owner, "[src] breaks down as it tries to activate.") + to_chat(owner, span_notice("[src] breaks down as it tries to activate.")) else owner.revive(full_heal = TRUE, admin_revive = FALSE) qdel(src) @@ -74,17 +74,17 @@ if(ishuman(target)) var/mob/living/carbon/human/H = target if(inert) - to_chat(user, "[src] has decayed and can no longer be used to heal.") + to_chat(user, span_notice("[src] has decayed and can no longer be used to heal.")) return else if(H.stat == DEAD) - to_chat(user, "[src] is useless on the dead.") + to_chat(user, span_notice("[src] is useless on the dead.")) return if(H != user) - H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!") + H.visible_message(span_notice("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) else - to_chat(user, "You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?") + to_chat(user, span_notice("You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) //Now THIS is a miner buff (fixed - nerf) @@ -103,11 +103,11 @@ . = ..() if(!preserved && !inert) preserved(TRUE) - owner.visible_message("[src] stabilizes as it's inserted.") + owner.visible_message(span_notice("[src] stabilizes as it's inserted.")) /obj/item/organ/regenerative_core/Remove(mob/living/carbon/M, special = 0) if(!inert && !special) - owner.visible_message("[src] rapidly decays as it's removed.") + owner.visible_message(span_notice("[src] rapidly decays as it's removed.")) go_inert() return ..() diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm index ebfa199fc6a..bf97faf7d59 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -24,10 +24,10 @@ /obj/item/resonator/attack_self(mob/user) if(mode == RESONATOR_MODE_AUTO) - to_chat(user, "You set the resonator's fields to detonate only after you hit one with it.") + to_chat(user, span_info("You set the resonator's fields to detonate only after you hit one with it.")) mode = RESONATOR_MODE_MANUAL else - to_chat(user, "You set the resonator's fields to automatically detonate after 2 seconds.") + to_chat(user, span_info("You set the resonator's fields to automatically detonate after 2 seconds.")) mode = RESONATOR_MODE_AUTO /obj/item/resonator/proc/CreateResonance(target, mob/user) @@ -113,7 +113,7 @@ for(var/mob/living/L in T) if(creator) log_combat(creator, L, "used a resonator field on", "resonator") - to_chat(L, "[src] ruptured with you in it!") + to_chat(L, span_userdanger("[src] ruptured with you in it!")) L.apply_damage(resonance_damage, BRUTE) L.add_movespeed_modifier(/datum/movespeed_modifier/resonance) addtimer(CALLBACK(L, /mob/proc/remove_movespeed_modifier, /datum/movespeed_modifier/resonance), 10 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) @@ -142,13 +142,13 @@ /obj/item/resonator/upgraded/attack_self(mob/user) if(mode == RESONATOR_MODE_AUTO) - to_chat(user, "You set the resonator's fields to detonate only after you hit one with it.") + to_chat(user, span_info("You set the resonator's fields to detonate only after you hit one with it.")) mode = RESONATOR_MODE_MANUAL else if(mode == RESONATOR_MODE_MANUAL) - to_chat(user, "You set the resonator's fields to work as matrix traps.") + to_chat(user, span_info("You set the resonator's fields to work as matrix traps.")) mode = RESONATOR_MODE_MATRIX else - to_chat(user, "You set the resonator's fields to automatically detonate after 2 seconds.") + to_chat(user, span_info("You set the resonator's fields to automatically detonate after 2 seconds.")) mode = RESONATOR_MODE_AUTO #undef RESONATOR_MODE_AUTO diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index b81a3477d58..93ad499d6c4 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -41,18 +41,18 @@ //Can't grab when capsule is New() because templates aren't loaded then get_template() if(!used) - loc.visible_message("\The [src] begins to shake. Stand back!") + loc.visible_message(span_warning("\The [src] begins to shake. Stand back!")) used = TRUE sleep(50) var/turf/deploy_location = get_turf(src) var/status = template.check_deploy(deploy_location) switch(status) if(SHELTER_DEPLOY_BAD_AREA) - src.loc.visible_message("\The [src] will not function in this area.") + src.loc.visible_message(span_warning("\The [src] will not function in this area.")) if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS, SHELTER_DEPLOY_OUTSIDE_MAP) var/width = template.width var/height = template.height - src.loc.visible_message("\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!") + src.loc.visible_message(span_warning("\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!")) if(status != SHELTER_DEPLOY_ALLOWED) used = FALSE return @@ -168,8 +168,8 @@ if(flags_1 & NODECONSTRUCT_1) return TRUE - user.visible_message("[user] disassembles [src].", - "You start to disassemble [src]...", "You hear clanking and banging noises.") + user.visible_message(span_warning("[user] disassembles [src]."), + span_notice("You start to disassemble [src]..."), span_hear("You hear clanking and banging noises.")) if(I.use_tool(src, user, 20, volume=50)) new /obj/item/gps(loc) qdel(src) @@ -242,8 +242,8 @@ if(flags_1 & NODECONSTRUCT_1) return TRUE - user.visible_message("[user] disassembles [src].", - "You start to disassemble [src]...", "You hear clanking and banging noises.") + user.visible_message(span_warning("[user] disassembles [src]."), + span_notice("You start to disassemble [src]..."), span_hear("You hear clanking and banging noises.")) if(I.use_tool(src, user, 20, volume=50)) deconstruct() return TRUE diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index 2cc0df0978f..66be7ab1550 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -15,14 +15,14 @@ slot_flags = ITEM_SLOT_BELT /obj/item/wormhole_jaunter/attack_self(mob/user) - user.visible_message("[user.name] activates the [src.name]!") + user.visible_message(span_notice("[user.name] activates the [src.name]!")) SSblackbox.record_feedback("tally", "jaunter", 1, "User") // user activated activate(user, TRUE) /obj/item/wormhole_jaunter/proc/turf_check(mob/user) var/turf/device_turf = get_turf(user) if(!device_turf || is_centcom_level(device_turf.z) || is_reserved_level(device_turf.z)) - to_chat(user, "You're having difficulties getting the [src.name] to work.") + to_chat(user, span_notice("You're having difficulties getting the [src.name] to work.")) return FALSE return TRUE @@ -42,7 +42,7 @@ var/list/L = get_destinations(user) if(!L.len) - to_chat(user, "The [src.name] found no beacons in the world to anchor a wormhole to.") + to_chat(user, span_notice("The [src.name] found no beacons in the world to anchor a wormhole to.")) return var/chosen_beacon = pick(L) var/obj/effect/portal/jaunt_tunnel/J = new (get_turf(src), 100, null, FALSE, get_turf(chosen_beacon)) @@ -66,17 +66,17 @@ triggered = TRUE if(triggered) - M.visible_message("[src] overloads and activates!") + M.visible_message(span_warning("[src] overloads and activates!")) SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation activate(M) /obj/item/wormhole_jaunter/proc/chasm_react(mob/user) if(user.get_item_by_slot(ITEM_SLOT_BELT) == src) - to_chat(user, "Your [name] activates, saving you from the chasm!") + to_chat(user, span_notice("Your [name] activates, saving you from the chasm!")) SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation activate(user, FALSE) else - to_chat(user, "[src] is not attached to your belt, preventing it from saving you from the chasm. RIP.") + to_chat(user, span_userdanger("[src] is not attached to your belt, preventing it from saving you from the chasm. RIP.")) //jaunter tunnel /obj/effect/portal/jaunt_tunnel diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index eb464cc0ad7..6ac06558243 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -25,7 +25,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) possible_beacons += EP if(!possible_beacons.len) - to_chat(user, "There are no extraction beacons in existence!") + to_chat(user, span_warning("There are no extraction beacons in existence!")) return else @@ -36,21 +36,21 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) if(!A) return beacon = A - to_chat(user, "You link the extraction pack to the beacon system.") + to_chat(user, span_notice("You link the extraction pack to the beacon system.")) /obj/item/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params) . = ..() if(!beacon) - to_chat(user, "[src] is not linked to a beacon, and cannot be used!") + to_chat(user, span_warning("[src] is not linked to a beacon, and cannot be used!")) return if(!(beacon in GLOB.total_extraction_beacons)) beacon = null - to_chat(user, "The connected beacon has been destroyed!") + to_chat(user, span_warning("The connected beacon has been destroyed!")) return if(!can_use_indoors) var/area/area = get_area(A) if(!area.outdoors) - to_chat(user, "[src] can only be used on things that are outdoors!") + to_chat(user, span_warning("[src] can only be used on things that are outdoors!")) return if(!flag) return @@ -58,15 +58,15 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) return else if(!safe_for_living_creatures && check_for_living_mobs(A)) - to_chat(user, "[src] is not safe for use with living creatures, they wouldn't survive the trip back!") + to_chat(user, span_warning("[src] is not safe for use with living creatures, they wouldn't survive the trip back!")) return if(!isturf(A.loc)) // no extracting stuff inside other stuff return if(A.anchored || (A.move_resist > max_force_fulton)) return - to_chat(user, "You start attaching the pack to [A]...") + to_chat(user, span_notice("You start attaching the pack to [A]...")) if(do_after(user,50,target=A)) - to_chat(user, "You attach the pack to [A] and activate it.") + to_chat(user, span_notice("You attach the pack to [A] and activate it.")) if(loc == user && istype(user.back, /obj/item/storage/backpack)) var/obj/item/storage/backpack/B = user.back SEND_SIGNAL(B, COMSIG_TRY_STORAGE_INSERT, src, user, FALSE, FALSE) diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm index cc304e4505c..000be6251d1 100644 --- a/code/modules/mining/laborcamp/laborshuttle.dm +++ b/code/modules/mining/laborcamp/laborshuttle.dm @@ -19,10 +19,10 @@ return FALSE var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp") if(!M) - to_chat(user, "Cannot locate shuttle!") + to_chat(user, span_warning("Cannot locate shuttle!")) return FALSE var/obj/docking_port/stationary/S = M.get_docked() if(S?.name == "laborcamp_away") - to_chat(user, "Shuttle is already at the outpost!") + to_chat(user, span_warning("Shuttle is already at the outpost!")) return FALSE return TRUE diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 26a12b0db49..b5627921e20 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -100,26 +100,26 @@ GLOBAL_LIST(labor_sheet_values) var/obj/item/card/id/advanced/prisoner/P = I P.points += stacking_machine.points stacking_machine.points = 0 - to_chat(M, "Points transferred.") + to_chat(M, span_notice("Points transferred.")) return TRUE else - to_chat(M, "No valid id for point transfer detected.") + to_chat(M, span_alert("No valid id for point transfer detected.")) if("move_shuttle") if(!alone_in_area(get_area(src), M)) - to_chat(M, "Prisoners are only allowed to be released while alone.") + to_chat(M, span_alert("Prisoners are only allowed to be released while alone.")) return switch(SSshuttle.moveShuttle("laborcamp", "laborcamp_home", TRUE)) if(1) - to_chat(M, "Shuttle not found.") + to_chat(M, span_alert("Shuttle not found.")) if(2) - to_chat(M, "Shuttle already at station.") + to_chat(M, span_alert("Shuttle already at station.")) if(3) - to_chat(M, "No permission to dock could be granted.") + to_chat(M, span_alert("No permission to dock could be granted.")) else if(!(obj_flags & EMAGGED)) Radio.set_frequency(FREQ_SECURITY) Radio.talk_into(src, "A prisoner has returned to the station. Minerals and Prisoner ID card ready for retrieval.", FREQ_SECURITY) - to_chat(M, "Shuttle received message and will be sent shortly.") + to_chat(M, span_notice("Shuttle received message and will be sent shortly.")) return TRUE /obj/machinery/mineral/labor_claim_console/proc/locate_stacking_machine() @@ -130,7 +130,7 @@ GLOBAL_LIST(labor_sheet_values) /obj/machinery/mineral/labor_claim_console/emag_act(mob/user) if(!(obj_flags & EMAGGED)) obj_flags |= EMAGGED - to_chat(user, "PZZTTPFFFT") + to_chat(user, span_warning("PZZTTPFFFT")) /**********************Prisoner Collection Unit**************************/ @@ -167,11 +167,11 @@ GLOBAL_LIST(labor_sheet_values) if(istype(I, /obj/item/card/id)) if(istype(I, /obj/item/card/id/advanced/prisoner)) var/obj/item/card/id/advanced/prisoner/prisoner_id = I - to_chat(user, "ID: [prisoner_id.registered_name]") - to_chat(user, "Points Collected:[prisoner_id.points]") - to_chat(user, "Point Quota: [prisoner_id.goal]") - to_chat(user, "Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release.") + to_chat(user, span_notice("ID: [prisoner_id.registered_name]")) + to_chat(user, span_notice("Points Collected:[prisoner_id.points]")) + to_chat(user, span_notice("Point Quota: [prisoner_id.goal]")) + to_chat(user, span_notice("Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release.")) else - to_chat(user, "Error: Invalid ID") + to_chat(user, span_warning("Error: Invalid ID")) else return ..() diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index baa110b8e0e..c161c87bcbf 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -41,7 +41,7 @@ msg = harvest_message_low else if(rand_harvested == harvest_amount_high) msg = harvest_message_high - to_chat(user, "[msg]") + to_chat(user, span_notice("[msg]")) for(var/i in 1 to rand_harvested) new harvest(get_turf(src)) @@ -60,7 +60,7 @@ /obj/structure/flora/ash/attackby(obj/item/W, mob/user, params) if(!harvested && needs_sharp_harvest && W.get_sharpness()) - user.visible_message("[user] starts to harvest from [src] with [W].","You begin to harvest from [src] with [W].") + user.visible_message(span_notice("[user] starts to harvest from [src] with [W]."),span_notice("You begin to harvest from [src] with [W].")) if(do_after(user, harvest_time, target = src)) harvest(user) else @@ -71,7 +71,7 @@ if(.) return if(!harvested && !needs_sharp_harvest) - user.visible_message("[user] starts to harvest from [src].","You begin to harvest from [src].") + user.visible_message(span_notice("[user] starts to harvest from [src]."),span_notice("You begin to harvest from [src].")) if(do_after(user, harvest_time, target = src)) harvest(user) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 6aa3404dffe..7edc0b11cb8 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -79,7 +79,7 @@ new /obj/item/clothing/neck/necklace/memento_mori(src) spawned_loot = TRUE qdel(item) - to_chat(user, "You disable the magic lock, revealing the loot.") + to_chat(user, span_notice("You disable the magic lock, revealing the loot.")) return TRUE /obj/structure/closet/crate/necropolis/tendril/can_open(mob/living/user, force = FALSE) @@ -165,15 +165,15 @@ if(activated) return if(!iscarbon(user)) - to_chat(user, "The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath.") + to_chat(user, span_warning("The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath.")) return var/mob/living/carbon/itemUser = user usedHand = itemUser.get_held_index_of_item(src) if(itemUser.has_status_effect(STATUS_EFFECT_HIPPOCRATIC_OATH)) - to_chat(user, "You can't possibly handle the responsibility of more than one rod!") + to_chat(user, span_warning("You can't possibly handle the responsibility of more than one rod!")) return - var/failText = "The snake seems unsatisfied with your incomplete oath and returns to its previous place on the rod, returning to its dormant, wooden state. You must stand still while completing your oath!" - to_chat(itemUser, "The wooden snake that was carved into the rod seems to suddenly come alive and begins to slither down your arm! The compulsion to help others grows abnormally strong...") + var/failText = span_warning("The snake seems unsatisfied with your incomplete oath and returns to its previous place on the rod, returning to its dormant, wooden state. You must stand still while completing your oath!") + to_chat(itemUser, span_notice("The wooden snake that was carved into the rod seems to suddenly come alive and begins to slither down your arm! The compulsion to help others grows abnormally strong...")) if(do_after(itemUser, 40, target = itemUser)) itemUser.say("I swear to fulfill, to the best of my ability and judgment, this covenant:", forced = "hippocratic oath") else @@ -194,7 +194,7 @@ else to_chat(itemUser, failText) return - to_chat(itemUser, "The snake, satisfied with your oath, attaches itself and the rod to your forearm with an inseparable grip. Your thoughts seem to only revolve around the core idea of helping others, and harm is nothing more than a distant, wicked memory...") + to_chat(itemUser, span_notice("The snake, satisfied with your oath, attaches itself and the rod to your forearm with an inseparable grip. Your thoughts seem to only revolve around the core idea of helping others, and harm is nothing more than a distant, wicked memory...")) var/datum/status_effect/hippocratic_oath/effect = itemUser.apply_status_effect(STATUS_EFFECT_HIPPOCRATIC_OATH) effect.hand = usedHand activated() @@ -232,9 +232,9 @@ return ..() /obj/item/clothing/neck/necklace/memento_mori/proc/memento(mob/living/carbon/human/user) - to_chat(user, "You feel your life being drained by the pendant...") + to_chat(user, span_warning("You feel your life being drained by the pendant...")) if(do_after(user, 40, target = user)) - to_chat(user, "Your lifeforce is now linked to the pendant! You feel like removing it would kill you, and yet you instinctively know that until then, you won't die.") + to_chat(user, span_notice("Your lifeforce is now linked to the pendant! You feel like removing it would kill you, and yet you instinctively know that until then, you won't die.")) ADD_TRAIT(user, TRAIT_NODEATH, CLOTHING_TRAIT) ADD_TRAIT(user, TRAIT_NOHARDCRIT, CLOTHING_TRAIT) ADD_TRAIT(user, TRAIT_NOCRITDAMAGE, CLOTHING_TRAIT) @@ -247,7 +247,7 @@ return var/mob/living/carbon/human/H = active_owner //to avoid infinite looping when dust unequips the pendant active_owner = null - to_chat(H, "You feel your life rapidly slipping away from you!") + to_chat(H, span_userdanger("You feel your life rapidly slipping away from you!")) H.dust(TRUE, TRUE) /datum/action/item_action/hands_free/memento_mori @@ -275,18 +275,18 @@ /obj/item/wisp_lantern/attack_self(mob/user) if(!wisp) - to_chat(user, "The wisp has gone missing!") + to_chat(user, span_warning("The wisp has gone missing!")) icon_state = "lantern" return if(wisp.loc == src) - to_chat(user, "You release the wisp. It begins to bob around your head.") + to_chat(user, span_notice("You release the wisp. It begins to bob around your head.")) icon_state = "lantern" wisp.orbit(user, 20) SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") else - to_chat(user, "You return the wisp to the lantern.") + to_chat(user, span_notice("You return the wisp to the lantern.")) icon_state = "lantern-blue" wisp.forceMove(src) SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") @@ -300,7 +300,7 @@ if(wisp.loc == src) qdel(wisp) else - wisp.visible_message("[wisp] has a sad feeling for a moment, then it passes.") + wisp.visible_message(span_notice("[wisp] has a sad feeling for a moment, then it passes.")) return ..() /obj/effect/wisp @@ -321,13 +321,13 @@ RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) var/mob/being = thing being.update_sight() - to_chat(thing, "The wisp enhances your vision.") + to_chat(thing, span_notice("The wisp enhances your vision.")) /obj/effect/wisp/stop_orbit(datum/component/orbiter/orbits) . = ..() if(ismob(orbits.parent)) UnregisterSignal(orbits.parent, COMSIG_MOB_UPDATE_SIGHT) - to_chat(orbits.parent, "Your vision returns to normal.") + to_chat(orbits.parent, span_notice("Your vision returns to normal.")) /obj/effect/wisp/proc/update_user_sight(mob/user) SIGNAL_HANDLER @@ -355,7 +355,7 @@ var/turf/current_location = get_turf(user) var/area/current_area = current_location.loc if(!linked || (current_area.area_flags & NOTELEPORT)) - to_chat(user, "[src] fizzles uselessly.") + to_chat(user, span_warning("[src] fizzles uselessly.")) return if(teleporting) return @@ -419,7 +419,7 @@ force = 18 /obj/item/gun/magic/hook/shoot_with_empty_chamber(mob/living/user) - to_chat(user, "[src] isn't ready to fire yet!") + to_chat(user, span_warning("[src] isn't ready to fire yet!")) /obj/item/ammo_casing/magic/hook name = "hook" @@ -454,7 +454,7 @@ var/atom/movable/A = target if(A.anchored) return - A.visible_message("[A] is snagged by [firer]'s hook!") + A.visible_message(span_danger("[A] is snagged by [firer]'s hook!")) new /datum/forced_movement(A, get_turf(firer), 5, TRUE) if (isliving(target)) var/mob/living/fresh_meat = target @@ -502,7 +502,7 @@ cooldown = world.time + 600 new /obj/effect/immortality_talisman(get_turf(user), user) else - to_chat(user, "[src] is not ready yet!") + to_chat(user, span_warning("[src] is not ready yet!")) /obj/effect/immortality_talisman name = "hole in reality" @@ -518,7 +518,7 @@ vanish(new_user) /obj/effect/immortality_talisman/proc/vanish(mob/user) - user.visible_message("[user] [vanish_description], leaving a hole in [user.p_their()] place!") + user.visible_message(span_danger("[user] [vanish_description], leaving a hole in [user.p_their()] place!")) desc = "It's shaped an awful lot like [user.name]." setDir(user.dir) @@ -536,7 +536,7 @@ user.notransform = FALSE user.forceMove(get_turf(src)) - user.visible_message("[user] pops back into reality!") + user.visible_message(span_danger("[user] pops back into reality!")) can_destroy = TRUE qdel(src) @@ -598,7 +598,7 @@ /obj/item/book_of_babel/attack_self(mob/user) if(!user.can_read(src)) return FALSE - to_chat(user, "You flip through the pages of the book, quickly and conveniently learning every language in existence. Somewhat less conveniently, the aging book crumbles to dust in the process. Whoops.") + to_chat(user, span_notice("You flip through the pages of the book, quickly and conveniently learning every language in existence. Somewhat less conveniently, the aging book crumbles to dust in the process. Whoops.")) user.grant_all_languages() new /obj/effect/decal/cleanable/ash(get_turf(user)) qdel(src) @@ -631,10 +631,10 @@ var/holycheck = ishumanbasic(exposed_carbon) if(reac_volume < 5 || !(holycheck || islizard(exposed_carbon) || (ismoth(exposed_carbon) && exposed_carbon.dna.features["moth_wings"] != "Burnt Off"))) // implying xenohumans are holy //as with all things, if((methods & INGEST) && show_message) - to_chat(exposed_carbon, "You feel nothing but a terrible aftertaste.") + to_chat(exposed_carbon, span_notice("You feel nothing but a terrible aftertaste.")) return if(exposed_carbon.dna.species.has_innate_wings) - to_chat(exposed_carbon, "A terrible pain travels down your back as your wings change shape!") + to_chat(exposed_carbon, span_userdanger("A terrible pain travels down your back as your wings change shape!")) if(!exposed_carbon.dna.features["original_moth_wings"]) //Stores their wings for later possible reconstruction exposed_carbon.dna.features["original_moth_wings"] = exposed_carbon.dna.features["moth_wings"] exposed_carbon.dna.features["moth_wings"] = "None" @@ -642,10 +642,10 @@ exposed_carbon.dna.features["original_moth_antennae"] = exposed_carbon.dna.features["moth_antennae"] exposed_carbon.dna.features["moth_antennae"] = "Regal" else - to_chat(exposed_carbon, "A terrible pain travels down your back as wings burst out!") + to_chat(exposed_carbon, span_userdanger("A terrible pain travels down your back as wings burst out!")) exposed_carbon.dna.species.GiveSpeciesFlight(exposed_carbon) if(holycheck) - to_chat(exposed_carbon, "You feel blessed!") + to_chat(exposed_carbon, span_notice("You feel blessed!")) ADD_TRAIT(exposed_carbon, TRAIT_HOLY, SPECIES_TRAIT) playsound(exposed_carbon.loc, 'sound/items/poster_ripped.ogg', 50, TRUE, -1) exposed_carbon.adjustBruteLoss(20) @@ -662,7 +662,7 @@ var/turf/T = get_turf(src) var/ladder_x = T.x var/ladder_y = T.y - to_chat(user, "You unfold the ladder. It extends much farther than you were expecting.") + to_chat(user, span_notice("You unfold the ladder. It extends much farther than you were expecting.")) var/last_ladder = null for(var/i in 1 to world.maxz) if(is_centcom_level(i) || is_reserved_level(i) || is_away_level(i)) @@ -757,7 +757,7 @@ "Transforming it immediately after an attack causes the next attack to come out faster." /obj/item/melee/transforming/cleaving_saw/suicide_act(mob/user) - user.visible_message("[user] is [active ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is [active ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!")) transform_cooldown = 0 transform_weapon(user, TRUE) return BRUTELOSS @@ -773,14 +773,14 @@ /obj/item/melee/transforming/cleaving_saw/transform_messages(mob/living/user, supress_message_text) if(!supress_message_text) if(active) - to_chat(user, "You open [src]. It will now cleave enemies in a wide arc and deal additional damage to fauna.") + to_chat(user, span_notice("You open [src]. It will now cleave enemies in a wide arc and deal additional damage to fauna.")) else - to_chat(user, "You close [src]. It will now attack rapidly and cause fauna to bleed.") + to_chat(user, span_notice("You close [src]. It will now attack rapidly and cause fauna to bleed.")) playsound(user, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000)) /obj/item/melee/transforming/cleaving_saw/clumsy_transform_effect(mob/living/user) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "You accidentally cut yourself with [src], like a doofus!") + to_chat(user, span_warning("You accidentally cut yourself with [src], like a doofus!")) user.take_bodypart_damage(10) /obj/item/melee/transforming/cleaving_saw/melee_attack_chain(mob/user, atom/target, params) @@ -875,9 +875,9 @@ /obj/item/melee/ghost_sword/attack_self(mob/user) if(summon_cooldown > world.time) - to_chat(user, "You just recently called out for aid. You don't want to annoy the spirits!") + to_chat(user, span_warning("You just recently called out for aid. You don't want to annoy the spirits!")) return - to_chat(user, "You call out for aid, attempting to summon spirits to your side.") + to_chat(user, span_notice("You call out for aid, attempting to summon spirits to your side.")) notify_ghosts("[user] is raising [user.p_their()] [src], calling for your help!", enter_link="(Click to help)", @@ -923,13 +923,13 @@ var/ghost_counter = ghost_check() force = clamp((ghost_counter * 4), 0, 75) - user.visible_message("[user] strikes with the force of [ghost_counter] vengeful spirits!") + user.visible_message(span_danger("[user] strikes with the force of [ghost_counter] vengeful spirits!")) ..() /obj/item/melee/ghost_sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/ghost_counter = ghost_check() final_block_chance += clamp((ghost_counter * 5), 0, 75) - owner.visible_message("[owner] is protected by a ring of [ghost_counter] ghosts!") + owner.visible_message(span_danger("[owner] is protected by a ring of [ghost_counter] ghosts!")) return ..() //Blood @@ -949,20 +949,20 @@ switch(random) if(1) - to_chat(user, "Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.") + to_chat(user, span_danger("Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.")) H.dna.features = list("mcolor" = "A02720", "tail_lizard" = "Dark Tiger", "tail_human" = "None", "snout" = "Sharp", "horns" = "Curled", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "Long", "body_markings" = "Dark Tiger Body", "legs" = "Digitigrade Legs") H.eye_color = "fee5a3" H.set_species(/datum/species/lizard) if(2) - to_chat(user, "Your flesh begins to melt! Miraculously, you seem fine otherwise.") + to_chat(user, span_danger("Your flesh begins to melt! Miraculously, you seem fine otherwise.")) H.set_species(/datum/species/skeleton) if(3) - to_chat(user, "Power courses through you! You can now shift your form at will.") + to_chat(user, span_danger("Power courses through you! You can now shift your form at will.")) if(user.mind) var/obj/effect/proc_holder/spell/targeted/shapeshift/dragon/D = new user.mind.AddSpell(D) if(4) - to_chat(user, "You feel like you could walk straight through lava now.") + to_chat(user, span_danger("You feel like you could walk straight through lava now.")) LAZYOR(H.weather_immunities, "lava") playsound(user.loc,'sound/items/drink.ogg', rand(10,50), TRUE) @@ -1028,12 +1028,12 @@ var/obj/effect/temp_visual/lavastaff/L = new /obj/effect/temp_visual/lavastaff(T) L.alpha = 0 animate(L, alpha = 255, time = create_delay) - user.visible_message("[user] points [src] at [T]!") + user.visible_message(span_danger("[user] points [src] at [T]!")) timer = world.time + create_delay + 1 if(do_after(user, create_delay, target = T)) var/old_name = T.name if(T.TerraformTurf(turf_type, flags = CHANGETURF_INHERIT_AIR)) - user.visible_message("[user] turns \the [old_name] into [transform_string]!") + user.visible_message(span_danger("[user] turns \the [old_name] into [transform_string]!")) message_admins("[ADMIN_LOOKUPFLW(user)] fired the lava staff at [ADMIN_VERBOSEJMP(T)]") log_game("[key_name(user)] fired the lava staff at [AREACOORD(T)].") timer = world.time + create_cooldown @@ -1044,7 +1044,7 @@ else var/old_name = T.name if(T.TerraformTurf(reset_turf_type, flags = CHANGETURF_INHERIT_AIR)) - user.visible_message("[user] turns \the [old_name] into [reset_string]!") + user.visible_message(span_danger("[user] turns \the [old_name] into [reset_string]!")) timer = world.time + reset_cooldown playsound(T,'sound/magic/fireball.ogg', 200, TRUE) @@ -1082,9 +1082,9 @@ /obj/item/mayhem/attack_self(mob/user) for(var/mob/living/carbon/human/H in range(7,user)) H.apply_status_effect(STATUS_EFFECT_MAYHEM) - to_chat(user, "You shatter the bottle!") + to_chat(user, span_notice("You shatter the bottle!")) playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE) - message_admins("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!") + message_admins(span_adminnotice("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!")) user.log_message("activated a bottle of mayhem", LOG_ATTACK) qdel(src) @@ -1124,7 +1124,7 @@ /datum/action/innate/dash/hierophant/Teleport(mob/user, atom/target) var/dist = get_dist(user, target) if(dist > HIEROPHANT_BLINK_RANGE) - to_chat(user, "Blink destination out of range.") + to_chat(user, span_hierophant_warning("Blink destination out of range.")) return . = ..() @@ -1146,7 +1146,7 @@ if(recharge_sound) playsound(dashing_item, recharge_sound, 50, TRUE) - to_chat(owner, "[src] now has [current_charges]/[max_charges] charges.") + to_chat(owner, span_notice("[src] now has [current_charges]/[max_charges] charges.")) /obj/item/hierophant_club name = "hierophant club" @@ -1192,14 +1192,14 @@ /obj/item/hierophant_club/examine(mob/user) . = ..() - . += "The[beacon ? " beacon is not currently":"re is a beacon"] attached." + . += span_hierophant_warning("The[beacon ? " beacon is not currently":"re is a beacon"] attached.") /obj/item/hierophant_club/suicide_act(mob/living/user) say("Xverwpsgexmrk...", forced = "hierophant club suicide") - user.visible_message("[user] holds [src] into the air! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] holds [src] into the air! It looks like [user.p_theyre()] trying to commit suicide!")) new/obj/effect/temp_visual/hierophant/telegraph(get_turf(user)) playsound(user,'sound/machines/airlockopen.ogg', 75, TRUE) - user.visible_message("[user] fades out, leaving [user.p_their()] belongings behind!") + user.visible_message(span_hierophant_warning("[user] fades out, leaving [user.p_their()] belongings behind!")) for(var/obj/item/I in user) if(I != src) user.dropItemToGround(I) @@ -1210,7 +1210,7 @@ /obj/item/hierophant_club/attack_self(mob/user) blink_activated = !blink_activated - to_chat(user, "You [blink_activated ? "enable" : "disable"] the blink function on [src].") + to_chat(user, span_notice("You [blink_activated ? "enable" : "disable"] the blink function on [src].")) /obj/item/hierophant_club/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() @@ -1226,37 +1226,37 @@ /obj/item/hierophant_club/ui_action_click(mob/user, action) if(!user.is_holding(src)) //you need to hold the staff to teleport - to_chat(user, "You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!") + to_chat(user, span_warning("You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!")) return if(!beacon || QDELETED(beacon)) if(isturf(user.loc)) - user.visible_message("[user] starts fiddling with [src]'s pommel...", \ - "You start detaching the hierophant beacon...") + user.visible_message(span_hierophant_warning("[user] starts fiddling with [src]'s pommel..."), \ + span_notice("You start detaching the hierophant beacon...")) if(do_after(user, 50, target = user) && !beacon) var/turf/T = get_turf(user) playsound(T,'sound/magic/blind.ogg', 200, TRUE, -4) new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, user) beacon = new/obj/effect/hierophant(T) user.update_action_buttons_icon() - user.visible_message("[user] places a strange machine beneath [user.p_their()] feet!", \ - "You detach the hierophant beacon, allowing you to teleport yourself and any allies to it at any time!\n\ - You can remove the beacon to place it again by striking it with the club.") + user.visible_message(span_hierophant_warning("[user] places a strange machine beneath [user.p_their()] feet!"), \ + "[span_hierophant("You detach the hierophant beacon, allowing you to teleport yourself and any allies to it at any time!")]\n\ + [span_notice("You can remove the beacon to place it again by striking it with the club.")]") else - to_chat(user, "You need to be on solid ground to detach the beacon!") + to_chat(user, span_warning("You need to be on solid ground to detach the beacon!")) return if(get_dist(user, beacon) <= 2) //beacon too close abort - to_chat(user, "You are too close to the beacon to teleport to it!") + to_chat(user, span_warning("You are too close to the beacon to teleport to it!")) return var/turf/beacon_turf = get_turf(beacon) if(beacon_turf?.is_blocked_turf(TRUE)) - to_chat(user, "The beacon is blocked by something, preventing teleportation!") + to_chat(user, span_warning("The beacon is blocked by something, preventing teleportation!")) return if(!isturf(user.loc)) - to_chat(user, "You don't have enough space to teleport from here!") + to_chat(user, span_warning("You don't have enough space to teleport from here!")) return teleporting = TRUE //start channel user.update_action_buttons_icon() - user.visible_message("[user] starts to glow faintly...") + user.visible_message(span_hierophant_warning("[user] starts to glow faintly...")) beacon.icon_state = "hierophant_tele_on" var/obj/effect/temp_visual/hierophant/telegraph/edge/TE1 = new /obj/effect/temp_visual/hierophant/telegraph/edge(user.loc) var/obj/effect/temp_visual/hierophant/telegraph/edge/TE2 = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon.loc) @@ -1265,7 +1265,7 @@ var/turf/source = get_turf(user) if(T.is_blocked_turf(TRUE)) teleporting = FALSE - to_chat(user, "The beacon is blocked by something, preventing teleportation!") + to_chat(user, span_warning("The beacon is blocked by something, preventing teleportation!")) user.update_action_buttons_icon() beacon.icon_state = "hierophant_tele_off" return @@ -1282,7 +1282,7 @@ return if(T.is_blocked_turf(TRUE)) teleporting = FALSE - to_chat(user, "The beacon is blocked by something, preventing teleportation!") + to_chat(user, span_warning("The beacon is blocked by something, preventing teleportation!")) user.update_action_buttons_icon() beacon.icon_state = "hierophant_tele_off" return @@ -1315,7 +1315,7 @@ sleep(1) if(!M) return - M.visible_message("[M] fades out!") + M.visible_message(span_hierophant_warning("[M] fades out!")) sleep(2) if(!M) return @@ -1327,7 +1327,7 @@ sleep(1) if(!M) return - M.visible_message("[M] fades in!") + M.visible_message(span_hierophant_warning("[M] fades in!")) if(user != M && success) log_combat(user, M, "teleported", null, "from [AREACOORD(source)]") diff --git a/code/modules/mining/lavaland/ruins/gym.dm b/code/modules/mining/lavaland/ruins/gym.dm index ed6eb332cf5..63e113a6a93 100644 --- a/code/modules/mining/lavaland/ruins/gym.dm +++ b/code/modules/mining/lavaland/ruins/gym.dm @@ -35,7 +35,7 @@ if(.) return if(obj_flags & IN_USE) - to_chat(user, "It's already in use - wait a bit!") + to_chat(user, span_warning("It's already in use - wait a bit!")) return else obj_flags |= IN_USE diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 2f0f4534693..555b74ea82f 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -38,9 +38,9 @@ /obj/machinery/mineral/ore_redemption/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Smelting [ore_multiplier] sheet(s) per piece of ore.
    Reward point generation at [point_upgrade*100]%.
    " + . += span_notice("The status display reads: Smelting [ore_multiplier] sheet(s) per piece of ore.
    Reward point generation at [point_upgrade*100]%.") if(panel_open) - . += "Alt-click to rotate the input and output direction." + . += span_notice("Alt-click to rotate the input and output direction.") /obj/machinery/mineral/ore_redemption/proc/smelt_ore(obj/item/stack/ore/O) if(QDELETED(O)) @@ -180,7 +180,7 @@ var/obj/item/stack/ore/O = W if(istype(O)) if(O.refined_type == null) - to_chat(user, "[O] has already been refined!") + to_chat(user, span_warning("[O] has already been refined!")) return return ..() @@ -192,7 +192,7 @@ if(panel_open) input_dir = turn(input_dir, -90) output_dir = turn(output_dir, -90) - to_chat(user, "You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].") + to_chat(user, span_notice("You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].")) unregister_input_turf() // someone just rotated the input and output directions, unregister the old turf register_input_turf() // register the new one return TRUE @@ -257,17 +257,17 @@ I.mining_points += points points = 0 else - to_chat(usr, "No valid ID detected.") + to_chat(usr, span_warning("No valid ID detected.")) else - to_chat(usr, "No points to claim.") + to_chat(usr, span_warning("No points to claim.")) return TRUE if("Release") if(!mat_container) return if(materials.on_hold()) - to_chat(usr, "Mineral access is on hold, please contact the quartermaster.") + to_chat(usr, span_warning("Mineral access is on hold, please contact the quartermaster.")) else if(!allowed(usr)) //Check the ID inside, otherwise check the user - to_chat(usr, "Required access not found.") + to_chat(usr, span_warning("Required access not found.")) else var/datum/material/mat = locate(params["id"]) @@ -301,7 +301,7 @@ return inserted_disk = disk else - to_chat(usr, "Not a valid Design Disk!") + to_chat(usr, span_warning("Not a valid Design Disk!")) return TRUE if("diskEject") if(inserted_disk) @@ -317,7 +317,7 @@ if(!mat_container) return if(materials.on_hold()) - to_chat(usr, "Mineral access is on hold, please contact the quartermaster.") + to_chat(usr, span_warning("Mineral access is on hold, please contact the quartermaster.")) return var/alloy_id = params["id"] var/datum/design/alloy = stored_research.isDesignResearchedID(alloy_id) @@ -342,7 +342,7 @@ output = new alloy.build_path(src) unload_mineral(output) else - to_chat(usr, "Required access not found.") + to_chat(usr, span_warning("Required access not found.")) return TRUE /obj/machinery/mineral/ore_redemption/ex_act(severity, target) diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index 4e318f0cce0..63864b5e9a2 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -55,11 +55,11 @@ GLOBAL_LIST_EMPTY(silo_access_logs) if(I.item_flags & ABSTRACT) return if(!istype(I) || (I.flags_1 & HOLOGRAM_1) || (I.item_flags & NO_MAT_REDEMPTION)) - to_chat(user, "[M] won't accept [I]!") + to_chat(user, span_warning("[M] won't accept [I]!")) return var/item_mats = materials.get_item_material_amount(I, breakdown_flags) if(!item_mats) - to_chat(user, "[I] does not contain sufficient materials to be accepted by [M].") + to_chat(user, span_warning("[I] does not contain sufficient materials to be accepted by [M].")) return // assumes unlimited space... var/amount = I.amount @@ -183,7 +183,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) /obj/machinery/ore_silo/multitool_act(mob/living/user, obj/item/multitool/I) . = ..() if (istype(I)) - to_chat(user, "You log [src] in the multitool's buffer.") + to_chat(user, span_notice("You log [src] in the multitool's buffer.")) I.buffer = src return TRUE @@ -203,7 +203,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) /obj/machinery/ore_silo/examine(mob/user) . = ..() - . += "[src] can be linked to techfabs, circuit printers and protolathes with a multitool." + . += span_notice("[src] can be linked to techfabs, circuit printers and protolathes with a multitool.") /datum/ore_silo_log var/name // for VV diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index df7aca54119..4808dfee8f3 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -29,7 +29,7 @@ return var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You store linkage information in [I]'s buffer.") + to_chat(user, span_notice("You store linkage information in [I]'s buffer.")) return TRUE /obj/machinery/mineral/stacking_unit_console/ui_interact(mob/user, datum/tgui/ui) @@ -115,7 +115,7 @@ if(istype(M.buffer, /obj/machinery/mineral/stacking_unit_console)) console = M.buffer console.machine = src - to_chat(user, "You link [src] to the console in [M]'s buffer.") + to_chat(user, span_notice("You link [src] to the console in [M]'s buffer.")) return TRUE /obj/machinery/mineral/stacking_machine/proc/process_sheet(obj/item/stack/sheet/inp) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index d47a978556d..ce002e20c04 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -139,20 +139,20 @@ var/mob/living/L = usr I = L.get_idcard(TRUE) if(!istype(I)) - to_chat(usr, "Error: An ID is required!") + to_chat(usr, span_alert("Error: An ID is required!")) flick(icon_deny, src) return var/datum/data/mining_equipment/prize = locate(params["ref"]) in prize_list if(!prize || !(prize in prize_list)) - to_chat(usr, "Error: Invalid choice!") + to_chat(usr, span_alert("Error: Invalid choice!")) flick(icon_deny, src) return if(prize.cost > I.mining_points) - to_chat(usr, "Error: Insufficient points for [prize.equipment_name] on [I]!") + to_chat(usr, span_alert("Error: Insufficient points for [prize.equipment_name] on [I]!")) flick(icon_deny, src) return I.mining_points -= prize.cost - to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") + to_chat(usr, span_notice("[src] clanks to life briefly before vending [prize.equipment_name]!")) new prize.equipment_path(loc) SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]")) . = TRUE @@ -247,15 +247,15 @@ if(points) var/obj/item/card/id/C = I C.mining_points += points - to_chat(user, "You transfer [points] points to [C].") + to_chat(user, span_info("You transfer [points] points to [C].")) points = 0 else - to_chat(user, "There's no points left on [src].") + to_chat(user, span_alert("There's no points left on [src].")) ..() /obj/item/card/mining_point_card/examine(mob/user) ..() - to_chat(user, "There's [points] point\s on the card.") + to_chat(user, span_alert("There's [points] point\s on the card.")) /obj/item/storage/backpack/duffelbag/mining_conscript name = "mining conscription kit" diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index afa89bec700..0a2cc85b563 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -80,7 +80,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/machinery/computer/shuttle/mining/attack_hand(mob/user, list/modifiers) if(is_station_level(user.z) && user.mind && IS_HEAD_REVOLUTIONARY(user) && !(user.mind in dumb_rev_heads)) - to_chat(user, "You get a feeling that leaving the station might be a REALLY dumb idea...") + to_chat(user, span_warning("You get a feeling that leaving the station might be a REALLY dumb idea...")) dumb_rev_heads += user.mind return . = ..() diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index ce1114df22d..fa518b4b62b 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -79,34 +79,34 @@ var/t_s = p_s() if(health < maxHealth) if(health >= maxHealth * 0.5) - . += "[t_He] look[t_s] slightly dented." + . += span_warning("[t_He] look[t_s] slightly dented.") else - . += "[t_He] look[t_s] severely dented!" + . += span_boldwarning("[t_He] look[t_s] severely dented!") . += {"Using a mining scanner on [t_him] will instruct [t_him] to drop stored ore. [max(0, LAZYLEN(contents) - 1)] Stored Ore\n Field repairs can be done with a welder."} if(stored_gun?.max_mod_capacity) . += "[stored_gun.get_remaining_mod_capacity()]% mod capacity remaining." for(var/obj/item/borg/upgrade/modkit/modkit as anything in stored_gun.modkits) - . += "There is \a [modkit] installed, using [modkit.cost]% capacity." + . += span_notice("There is \a [modkit] installed, using [modkit.cost]% capacity.") /mob/living/simple_animal/hostile/mining_drone/welder_act(mob/living/user, obj/item/welder) ..() . = TRUE if(mode == MINEDRONE_ATTACK) - to_chat(user, "[src] can't be repaired while in attack mode!") + to_chat(user, span_warning("[src] can't be repaired while in attack mode!")) return if(maxHealth == health) - to_chat(user, "[src] is at full integrity.") + to_chat(user, span_info("[src] is at full integrity.")) return if(welder.use_tool(src, user, 0, volume=40)) adjustBruteLoss(-15) - to_chat(user, "You repair some of the armor on [src].") + to_chat(user, span_info("You repair some of the armor on [src].")) /mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/item_used, mob/user, params) if(istype(item_used, /obj/item/mining_scanner) || istype(item_used, /obj/item/t_scanner/adv_mining_scanner)) - to_chat(user, "You instruct [src] to drop any collected ore.") + to_chat(user, span_info("You instruct [src] to drop any collected ore.")) DropOre() return if(item_used.tool_behaviour == TOOL_CROWBAR || istype(item_used, /obj/item/borg/upgrade/modkit)) @@ -130,9 +130,9 @@ toggle_mode() switch(mode) if(MINEDRONE_COLLECT) - to_chat(user, "[src] has been set to search and store loose ore.") + to_chat(user, span_info("[src] has been set to search and store loose ore.")) if(MINEDRONE_ATTACK) - to_chat(user, "[src] has been set to attack hostile wildlife.") + to_chat(user, span_info("[src] has been set to attack hostile wildlife.")) return /mob/living/simple_animal/hostile/mining_drone/CanAllowThrough(atom/movable/object) @@ -154,7 +154,7 @@ minimum_distance = 1 retreat_distance = null icon_state = "mining_drone" - to_chat(src, "You are set to collect mode. You can now collect loose ore.") + to_chat(src, span_info("You are set to collect mode. You can now collect loose ore.")) /mob/living/simple_animal/hostile/mining_drone/proc/SetOffenseBehavior() mode = MINEDRONE_ATTACK @@ -165,7 +165,7 @@ retreat_distance = 2 minimum_distance = 1 icon_state = "mining_drone_offense" - to_chat(src, "You are set to attack mode. You can now attack from range.") + to_chat(src, span_info("You are set to attack mode. You can now attack from range.")) /mob/living/simple_animal/hostile/mining_drone/AttackingTarget() if(istype(target, /obj/item/stack/ore) && mode == MINEDRONE_COLLECT) @@ -187,10 +187,10 @@ /mob/living/simple_animal/hostile/mining_drone/proc/DropOre(message = 1) if(!contents.len) if(message) - to_chat(src, "You attempt to dump your stored ore, but you have none!") + to_chat(src, span_warning("You attempt to dump your stored ore, but you have none!")) return if(message) - to_chat(src, "You dump your stored ore.") + to_chat(src, span_notice("You dump your stored ore.")) for(var/obj/item/stack/ore/O in contents) O.forceMove(drop_location()) @@ -214,7 +214,7 @@ user.sync_lighting_plane_alpha() - to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].") + to_chat(user, span_notice("You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].")) /mob/living/simple_animal/hostile/mining_drone/proc/toggle_mode() @@ -239,7 +239,7 @@ /datum/action/innate/minedrone/toggle_light/Activate() var/mob/living/simple_animal/hostile/mining_drone/user = owner user.set_light_on(!user.light_on) - to_chat(user, "You toggle your light [user.light_on ? "on" : "off"].") + to_chat(user, span_notice("You toggle your light [user.light_on ? "on" : "off"].")) /datum/action/innate/minedrone/toggle_mode @@ -277,7 +277,7 @@ /obj/item/mine_bot_upgrade/proc/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/minebot, mob/user) if(minebot.melee_damage_upper != initial(minebot.melee_damage_upper)) - to_chat(user, "[minebot] already has a combat upgrade installed!") + to_chat(user, span_warning("[minebot] already has a combat upgrade installed!")) return minebot.melee_damage_lower += 7 minebot.melee_damage_upper += 7 @@ -291,7 +291,7 @@ /obj/item/mine_bot_upgrade/health/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/minebot, mob/user) if(minebot.maxHealth != initial(minebot.maxHealth)) - to_chat(user, "[minebot] already has reinforced armor!") + to_chat(user, span_warning("[minebot] already has reinforced armor!")) return minebot.maxHealth += 45 minebot.updatehealth() diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index b111e12f2f3..34fb1021883 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -122,12 +122,12 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ return var/mob/living/carbon/human/C = hit_atom if(C.is_eyes_covered()) - C.visible_message("[C]'s eye protection blocks the sand!", "Your eye protection blocks the sand!") + C.visible_message(span_danger("[C]'s eye protection blocks the sand!"), span_warning("Your eye protection blocks the sand!")) return C.adjust_blurriness(6) C.adjustStaminaLoss(15)//the pain from your eyes burning does stamina damage C.add_confusion(5) - to_chat(C, "\The [src] gets into your eyes! The pain, it burns!") + to_chat(C, span_userdanger("\The [src] gets into your eyes! The pain, it burns!")) qdel(src) /obj/item/stack/ore/glass/ex_act(severity, target) @@ -156,7 +156,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ merge_type = /obj/item/stack/ore/plasma /obj/item/stack/ore/plasma/welder_act(mob/living/user, obj/item/I) - to_chat(user, "You can't hit a high enough temperature to smelt [src] properly!") + to_chat(user, span_warning("You can't hit a high enough temperature to smelt [src] properly!")) return TRUE /obj/item/stack/ore/silver @@ -255,7 +255,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/gibtonite/attackby(obj/item/I, mob/user, params) if(!wires && istype(I, /obj/item/assembly/igniter)) - user.visible_message("[user] attaches [I] to [src].", "You attach [I] to [src].") + user.visible_message(span_notice("[user] attaches [I] to [src]."), span_notice("You attach [I] to [src].")) wires = new /datum/wires/explosive/gibtonite(src) attacher = key_name(user) qdel(I) @@ -275,7 +275,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ primed = FALSE if(det_timer) deltimer(det_timer) - user.visible_message("The chain reaction stopped! ...The ore's quality looks diminished.", "You stopped the chain reaction. ...The ore's quality looks diminished.") + user.visible_message(span_notice("The chain reaction stopped! ...The ore's quality looks diminished."), span_notice("You stopped the chain reaction. ...The ore's quality looks diminished.")) icon_state = "Gibtonite ore" quality = GIBTONITE_QUALITY_LOW return @@ -313,7 +313,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ log_game(bomb_message) GLOB.bombers += bomb_message else - user.visible_message("[user] strikes \the [src], causing a chain reaction!", "You strike \the [src], causing a chain reaction.") + user.visible_message(span_warning("[user] strikes \the [src], causing a chain reaction!"), span_danger("You strike \the [src], causing a chain reaction.")) log_bomber(user, "has primed a", src, "for detonation", notify_admins) det_timer = addtimer(CALLBACK(src, .proc/detonate, notify_admins), det_time, TIMER_STOPPABLE) @@ -378,9 +378,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ return value /obj/item/coin/suicide_act(mob/living/user) - user.visible_message("[user] contemplates suicide with \the [src]!") + user.visible_message(span_suicide("[user] contemplates suicide with \the [src]!")) if (!attack_self(user)) - user.visible_message("[user] couldn't flip \the [src]!") + user.visible_message(span_suicide("[user] couldn't flip \the [src]!")) return SHAME addtimer(CALLBACK(src, .proc/manual_suicide, user), 10)//10 = time takes for flip animation return MANUAL_SUICIDE_NONLETHAL @@ -388,31 +388,31 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/coin/proc/manual_suicide(mob/living/user) var/index = sideslist.Find(coinflip) if (index==2)//tails - user.visible_message("\the [src] lands on [coinflip]! [user] promptly falls over, dead!") + user.visible_message(span_suicide("\the [src] lands on [coinflip]! [user] promptly falls over, dead!")) user.adjustOxyLoss(200) user.death(0) user.set_suicide(TRUE) user.suicide_log() else - user.visible_message("\the [src] lands on [coinflip]! [user] keeps on living!") + user.visible_message(span_suicide("\the [src] lands on [coinflip]! [user] keeps on living!")) /obj/item/coin/examine(mob/user) . = ..() - . += "It's worth [value] credit\s." + . += span_info("It's worth [value] credit\s.") /obj/item/coin/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/CC = W if(string_attached) - to_chat(user, "There already is a string attached to this coin!") + to_chat(user, span_warning("There already is a string attached to this coin!")) return if (CC.use(1)) add_overlay("coin_string_overlay") string_attached = 1 - to_chat(user, "You attach a string to the coin.") + to_chat(user, span_notice("You attach a string to the coin.")) else - to_chat(user, "You need one length of cable to attach a string to the coin!") + to_chat(user, span_warning("You need one length of cable to attach a string to the coin!")) return else ..() @@ -425,13 +425,13 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ new /obj/item/stack/cable_coil(drop_location(), 1) overlays = list() string_attached = null - to_chat(user, "You detach the string from the coin.") + to_chat(user, span_notice("You detach the string from the coin.")) return TRUE /obj/item/coin/attack_self(mob/user) if(cooldown < world.time) if(string_attached) //does the coin have a wire attached - to_chat(user, "The coin won't flip very well with something attached!" ) + to_chat(user, span_warning("The coin won't flip very well with something attached!") ) return FALSE//do not flip the coin cooldown = world.time + 15 flick("coin_[coinflip]_flip", src) @@ -441,9 +441,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/oldloc = loc sleep(15) if(loc == oldloc && user && !user.incapacitated()) - user.visible_message("[user] flips [src]. It lands on [coinflip].", \ - "You flip [src]. It lands on [coinflip].", \ - "You hear the clattering of loose change.") + user.visible_message(span_notice("[user] flips [src]. It lands on [coinflip]."), \ + span_notice("You flip [src]. It lands on [coinflip]."), \ + span_hear("You hear the clattering of loose change.")) return TRUE//did the coin flip? useful for suicide_act /obj/item/coin/gold @@ -500,7 +500,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/coin/gold/debug/attack_self(mob/user) if(cooldown < world.time) if(string_attached) //does the coin have a wire attached - to_chat(user, "The coin won't flip very well with something attached!" ) + to_chat(user, span_warning("The coin won't flip very well with something attached!") ) return FALSE//do not flip the coin cooldown = world.time + 15 flick("coin_[coinflip]_flip", src) @@ -510,9 +510,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/oldloc = loc sleep(15) if(loc == oldloc && user && !user.incapacitated()) - user.visible_message("[user] flips [src]. It lands on [coinflip].", \ - "You flip [src]. It lands on [coinflip].", \ - "You hear the clattering of loose change.") + user.visible_message(span_notice("[user] flips [src]. It lands on [coinflip]."), \ + span_notice("You flip [src]. It lands on [coinflip]."), \ + span_hear("You hear the clattering of loose change.")) SSeconomy.fire() to_chat(user,"[SSeconomy.inflation_value()] is the inflation value.") return TRUE//did the coin flip? useful for suicide_act diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index f18e694c3f9..591af53e750 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -14,7 +14,7 @@ user.transferItemToLoc(W, src) else if(SEND_SIGNAL(W, COMSIG_CONTAINS_STORAGE)) SEND_SIGNAL(W, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/stack/ore, src) - to_chat(user, "You empty the ore in [W] into \the [src].") + to_chat(user, span_notice("You empty the ore in [W] into \the [src].")) else return ..() @@ -24,9 +24,9 @@ /obj/structure/ore_box/crowbar_act(mob/living/user, obj/item/I) if(I.use_tool(src, user, 50, volume=50)) - user.visible_message("[user] pries \the [src] apart.", - "You pry apart \the [src].", - "You hear splitting wood.") + user.visible_message(span_notice("[user] pries \the [src] apart."), + span_notice("You pry apart \the [src]."), + span_hear("You hear splitting wood.")) deconstruct(TRUE, user) return TRUE @@ -89,7 +89,7 @@ switch(action) if("removeall") dump_box_contents() - to_chat(usr, "You open the release hatch on the box..") + to_chat(usr, span_notice("You open the release hatch on the box..")) /obj/structure/ore_box/deconstruct(disassembled = TRUE, mob/user) var/obj/item/stack/sheet/mineral/wood/WD = new (loc, 4) diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index bacde431225..4dd04b24e4d 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -63,7 +63,7 @@ INITIALIZE_IMMEDIATE(/mob/dead) switch(csa.len) if(0) remove_verb(src, /mob/dead/proc/server_hop) - to_chat(src, "Server Hop has been disabled.") + to_chat(src, span_notice("Server Hop has been disabled.")) if(1) pick = csa[1] else @@ -78,7 +78,7 @@ INITIALIZE_IMMEDIATE(/mob/dead) return var/client/C = client - to_chat(C, "Sending you to [pick].") + to_chat(C, span_notice("Sending you to [pick].")) new /atom/movable/screen/splash(C) notransform = TRUE diff --git a/code/modules/mob/dead/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm index e0a8f66bebd..c8ef6146f6b 100644 --- a/code/modules/mob/dead/new_player/login.dm +++ b/code/modules/mob/dead/new_player/login.dm @@ -18,11 +18,11 @@ to_chat(src, "
    [motd]
    ", handle_whitespace=FALSE) if(GLOB.admin_notice) - to_chat(src, "Admin Notice:\n \t [GLOB.admin_notice]") + to_chat(src, span_notice("Admin Notice:\n \t [GLOB.admin_notice]")) var/spc = CONFIG_GET(number/soft_popcap) if(spc && living_player_count() >= spc) - to_chat(src, "Server Notice:\n \t [CONFIG_GET(string/soft_popcap_message)]") + to_chat(src, span_notice("Server Notice:\n \t [CONFIG_GET(string/soft_popcap_message)]")) sight |= SEE_TURFS diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 77c7a1801cc..a0f3a10d651 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -152,7 +152,7 @@ if(href_list["late_join"]) if(!SSticker?.IsRoundInProgress()) - to_chat(usr, "The round is either not ready, or has already finished...") + to_chat(usr, span_boldwarning("The round is either not ready, or has already finished...")) return if(href_list["late_join"] == "override") @@ -160,16 +160,16 @@ return if(SSticker.queued_players.len || (relevant_cap && living_player_count() >= relevant_cap && !(ckey(key) in GLOB.admin_datums))) - to_chat(usr, "[CONFIG_GET(string/hard_popcap_message)]") + to_chat(usr, span_danger("[CONFIG_GET(string/hard_popcap_message)]")) var/queue_position = SSticker.queued_players.Find(usr) if(queue_position == 1) - to_chat(usr, "You are next in line to join the game. You will be notified when a slot opens up.") + to_chat(usr, span_notice("You are next in line to join the game. You will be notified when a slot opens up.")) else if(queue_position) - to_chat(usr, "There are [queue_position-1] players in front of you in the queue to join the game.") + to_chat(usr, span_notice("There are [queue_position-1] players in front of you in the queue to join the game.")) else SSticker.queued_players += usr - to_chat(usr, "You have been added to the queue to join the game. Your position in queue is [SSticker.queued_players.len].") + to_chat(usr, span_notice("You have been added to the queue to join the game. Your position in queue is [SSticker.queued_players.len].")) return LateChoices() @@ -178,16 +178,16 @@ if(href_list["SelectedJob"]) if(!SSticker?.IsRoundInProgress()) - to_chat(usr, "The round is either not ready, or has already finished...") + to_chat(usr, span_danger("The round is either not ready, or has already finished...")) return if(!GLOB.enter_allowed) - to_chat(usr, "There is an administrative lock on entering the game!") + to_chat(usr, span_notice("There is an administrative lock on entering the game!")) return if(SSticker.queued_players.len && !(ckey(key) in GLOB.admin_datums)) if((living_player_count() >= relevant_cap) || (src != SSticker.queued_players[1])) - to_chat(usr, "Server is full.") + to_chat(usr, span_warning("Server is full.")) return AttemptLateSpawn(href_list["SelectedJob"]) @@ -228,11 +228,11 @@ observer.started_as_observer = TRUE close_spawn_windows() var/obj/effect/landmark/observer_start/O = locate(/obj/effect/landmark/observer_start) in GLOB.landmarks_list - to_chat(src, "Now teleporting.") + to_chat(src, span_notice("Now teleporting.")) if (O) observer.forceMove(O.loc) else - to_chat(src, "Teleporting failed. Ahelp an admin please") + to_chat(src, span_notice("Teleporting failed. Ahelp an admin please")) stack_trace("There's no freaking observer landmark available on this map or you're making observers before the map is initialised") observer.key = key observer.client = client @@ -521,7 +521,7 @@ has_antags = TRUE if(client.prefs.job_preferences.len == 0) if(!ineligible_for_roles) - to_chat(src, "You have no jobs enabled, along with return to lobby if job is unavailable. This makes you ineligible for any round start role, please update your job preferences.") + to_chat(src, span_danger("You have no jobs enabled, along with return to lobby if job is unavailable. This makes you ineligible for any round start role, please update your job preferences.")) ineligible_for_roles = TRUE ready = PLAYER_NOT_READY if(has_antags) diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm index 63e9ecc705d..6779ec4d0e5 100644 --- a/code/modules/mob/dead/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -21,7 +21,7 @@ if(!poll) return if(!SSdbcore.Connect()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, span_danger("Failed to establish database connection.")) return switch(poll.poll_type) if(POLLTYPE_OPTION) @@ -311,15 +311,15 @@ */ /mob/dead/new_player/proc/vote_on_poll_handler(datum/poll_question/poll, href_list) if(!SSdbcore.Connect()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, span_danger("Failed to establish database connection.")) return if(!poll || !href_list) return if(IsAdminAdvancedProcCall()) log_game("[key_name(usr)] attempted to rig the vote by voting as [key]") message_admins("[key_name_admin(usr)] attempted to rig the vote by voting as [key]") - to_chat(usr, "You don't seem to be [key].") - to_chat(src, "Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this") + to_chat(usr, span_danger("You don't seem to be [key].")) + to_chat(src, span_danger("Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this")) return var/admin_rank if(client.holder) @@ -347,11 +347,11 @@ if(query_validate_poll_vote.NextRow()) vote_id = text2num(query_validate_poll_vote.item[1]) if(vote_id && !poll.allow_revoting) - to_chat(usr, "Poll revoting is disabled and you've already replied to this poll.") + to_chat(usr, span_danger("Poll revoting is disabled and you've already replied to this poll.")) qdel(query_validate_poll_vote) return else - to_chat(usr, "Selected poll is not open.") + to_chat(usr, span_danger("Selected poll is not open.")) qdel(query_validate_poll_vote) return qdel(query_validate_poll_vote) @@ -370,7 +370,7 @@ if(vote_success) if(!vote_id) poll.poll_votes++ - to_chat(usr, "Vote successful.") + to_chat(usr, span_notice("Vote successful.")) /** * Processes vote form data and saves results to the database for an option type poll. @@ -378,13 +378,13 @@ */ /mob/dead/new_player/proc/vote_on_poll_option(datum/poll_question/poll, href_list, admin_rank, sql_poll_id, vote_id) if(!SSdbcore.Connect()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, span_danger("Failed to establish database connection.")) return if(IsAdminAdvancedProcCall()) return var/datum/poll_option/option = locate(href_list["voteoptionref"]) in poll.options if(!option) - to_chat(src, "No option was selected.") + to_chat(src, span_danger("No option was selected.")) return var/datum/db_query/query_vote_option = SSdbcore.NewQuery({" INSERT INTO [format_table_name("poll_vote")] (id, datetime, pollid, optionid, ckey, ip, adminrank) @@ -410,13 +410,13 @@ */ /mob/dead/new_player/proc/vote_on_poll_text(href_list, admin_rank, sql_poll_id, vote_id) if(!SSdbcore.Connect()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, span_danger("Failed to establish database connection.")) return if(IsAdminAdvancedProcCall()) return var/reply_text = href_list["replytext"] if(!reply_text || (length(reply_text) > 2048)) - to_chat(src, "The text you entered was blank or too long. Please correct the text and submit again.") + to_chat(src, span_danger("The text you entered was blank or too long. Please correct the text and submit again.")) return var/datum/db_query/query_vote_text = SSdbcore.NewQuery({" INSERT INTO [format_table_name("poll_textreply")] (id, datetime, pollid, ckey, ip, replytext, adminrank) @@ -442,7 +442,7 @@ */ /mob/dead/new_player/proc/vote_on_poll_rating(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id) if(!SSdbcore.Connect()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, span_danger("Failed to establish database connection.")) return if(IsAdminAdvancedProcCall()) return @@ -485,14 +485,14 @@ */ /mob/dead/new_player/proc/vote_on_poll_multi(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id) if(!SSdbcore.Connect()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, span_danger("Failed to establish database connection.")) return if(IsAdminAdvancedProcCall()) return if(length(href_list) > 2) href_list.Cut(1,3) //first two values aren't options else - to_chat(src, "No options were selected.") + to_chat(src, span_danger("No options were selected.")) var/special_columns = list( "datetime" = "NOW()", @@ -503,7 +503,7 @@ var/vote_count = 0 for(var/h in href_list) if(vote_count == poll.options_allowed) - to_chat(src, "Allowed option count exceeded, only the first [poll.options_allowed] selected options have been saved.") + to_chat(src, span_danger("Allowed option count exceeded, only the first [poll.options_allowed] selected options have been saved.")) break vote_count++ var/datum/poll_option/option = locate(h) in poll.options @@ -532,13 +532,13 @@ */ /mob/dead/new_player/proc/vote_on_poll_irv(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id) if(!SSdbcore.Connect()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, span_danger("Failed to establish database connection.")) return if(IsAdminAdvancedProcCall()) return var/list/votelist = splittext(href_list["IRVdata"], ",") if(!length(votelist)) - to_chat(src, "No ordering data found. Please try again or contact an administrator.") + to_chat(src, span_danger("No ordering data found. Please try again or contact an administrator.")) var/list/special_columns = list( "datetime" = "NOW()", @@ -550,7 +550,7 @@ for(var/o in votelist) var/datum/poll_option/option = locate(o) in option_copy if (!option) - to_chat(src, "invalid votes were trimmed from your ballot, please revote .") + to_chat(src, span_warning("invalid votes were trimmed from your ballot, please revote .")) sql_votes += list(list( "pollid" = sql_poll_id, "optionid" = option.option_id, diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index dc74147c54c..a4d64d5c9a8 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -355,13 +355,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!client) return if(!mind || QDELETED(mind.current)) - to_chat(src, "You have no body.") + to_chat(src, span_warning("You have no body.")) return if(!can_reenter_corpse) - to_chat(src, "You cannot re-enter your body.") + to_chat(src, span_warning("You cannot re-enter your body.")) return if(mind.current.key && mind.current.key[1] != "@") //makes sure we don't accidentally kick any clients - to_chat(usr, "Another consciousness is in your body...It is resisting you.") + to_chat(usr, span_warning("Another consciousness is in your body...It is resisting you.")) return client.view_size.setDefault(getScreenSize(client.prefs.widescreenpref))//Let's reset so people can't become allseeing gods SStgui.on_transfer(src, mind.current) // Transfer NanoUIs. @@ -375,7 +375,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!client) return if(!can_reenter_corpse) - to_chat(usr, "You're already stuck out of your body!") + to_chat(usr, span_warning("You're already stuck out of your body!")) return FALSE var/response = tgui_alert(usr, "Are you sure you want to prevent (almost) all means of resuscitation? This cannot be undone. ","Are you sure you want to stay dead?",list("DNR","Save Me")) @@ -389,14 +389,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp // Disassociates observer mind from the body mind mind = null - to_chat(src, "You can no longer be brought back into your body.") + to_chat(src, span_boldnotice("You can no longer be brought back into your body.")) return TRUE /mob/dead/observer/proc/notify_cloning(message, sound, atom/source, flashwindow = TRUE) if(flashwindow) window_flash(client) if(message) - to_chat(src, "[message]") + to_chat(src, span_ghostalert("[message]")) if(source) var/atom/movable/screen/alert/A = throw_alert("[REF(source)]_notify_cloning", /atom/movable/screen/alert/notify_cloning) if(A) @@ -410,7 +410,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp A.add_overlay(source) source.layer = old_layer source.plane = old_plane - to_chat(src, "(Click to re-enter)") + to_chat(src, span_ghostalert("(Click to re-enter)")) if(sound) SEND_SOUND(src, sound(sound)) @@ -419,7 +419,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set name = "Teleport" set desc= "Teleport to a location" if(!isobserver(usr)) - to_chat(usr, "Not when you're not dead!") + to_chat(usr, span_warning("Not when you're not dead!")) return var/list/filtered = list() for(var/V in GLOB.sortedAreas) @@ -436,7 +436,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp L+=T if(!L || !L.len) - to_chat(usr, "No area available.") + to_chat(usr, span_warning("No area available.")) return usr.abstract_move(pick(L)) @@ -513,7 +513,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp A.abstract_move(T) A.update_parallax_contents() else - to_chat(A, "This mob is not located in the game world.") + to_chat(A, span_danger("This mob is not located in the game world.")) /mob/dead/observer/verb/change_view_range() set category = "Ghost" @@ -556,11 +556,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/memory() set hidden = TRUE - to_chat(src, "You are dead! You have no mind to store memory!") + to_chat(src, span_danger("You are dead! You have no mind to store memory!")) /mob/dead/observer/add_memory() set hidden = TRUE - to_chat(src, "You are dead! You have no mind to store memory!") + to_chat(src, span_danger("You are dead! You have no mind to store memory!")) /mob/dead/observer/verb/toggle_ghostsee() set name = "Toggle Ghost Vision" @@ -568,7 +568,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" ghostvision = !(ghostvision) update_sight() - to_chat(usr, "You [(ghostvision?"now":"no longer")] have ghost vision.") + to_chat(usr, span_boldnotice("You [(ghostvision?"now":"no longer")] have ghost vision.")) /mob/dead/observer/verb/toggle_darkness() set name = "Toggle Darkness" @@ -643,14 +643,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return FALSE if(ismegafauna(target)) - to_chat(src, "This creature is too powerful for you to possess!") + to_chat(src, span_warning("This creature is too powerful for you to possess!")) return FALSE if(can_reenter_corpse && mind?.current) if(tgui_alert(usr, "Your soul is still tied to your former life as [mind.current.name], if you go forward there is no going back to that life. Are you sure you wish to continue?", "Move On", list("Yes", "No")) == "No") return FALSE if(target.key) - to_chat(src, "Someone has taken this body while you were choosing!") + to_chat(src, span_warning("Someone has taken this body while you were choosing!")) return FALSE target.key = key @@ -663,7 +663,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/pointed(atom/A as mob|obj|turf in view(client.view, src)) if(!..()) return FALSE - usr.visible_message("[src] points to [A].") + usr.visible_message(span_deadsay("[src] points to [A].")) return TRUE /mob/dead/observer/verb/view_manifest() @@ -733,11 +733,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(data_huds_on) //remove old huds remove_data_huds() - to_chat(src, "Data HUDs disabled.") + to_chat(src, span_notice("Data HUDs disabled.")) data_huds_on = 0 else show_data_huds() - to_chat(src, "Data HUDs enabled.") + to_chat(src, span_notice("Data HUDs enabled.")) data_huds_on = 1 /mob/dead/observer/verb/toggle_health_scan() @@ -746,10 +746,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" if(health_scan) //remove old huds - to_chat(src, "Health scan disabled.") + to_chat(src, span_notice("Health scan disabled.")) health_scan = FALSE else - to_chat(src, "Health scan enabled.") + to_chat(src, span_notice("Health scan enabled.")) health_scan = TRUE /mob/dead/observer/verb/toggle_chem_scan() @@ -758,10 +758,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" if(chem_scan) //remove old huds - to_chat(src, "Chem scan disabled.") + to_chat(src, span_notice("Chem scan disabled.")) chem_scan = FALSE else - to_chat(src, "Chem scan enabled.") + to_chat(src, span_notice("Chem scan enabled.")) chem_scan = TRUE /mob/dead/observer/verb/toggle_gas_scan() @@ -770,10 +770,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" if(gas_scan) - to_chat(src, "Gas scan disabled.") + to_chat(src, span_notice("Gas scan disabled.")) gas_scan = FALSE else - to_chat(src, "Gas scan enabled.") + to_chat(src, span_notice("Gas scan enabled.")) gas_scan = TRUE /mob/dead/observer/verb/restore_ghost_appearance() @@ -882,7 +882,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(isobserver(src)) SSpai.recruitWindow(src) else - to_chat(usr, "Can't become a pAI candidate while not dead!") + to_chat(usr, span_warning("Can't become a pAI candidate while not dead!")) /mob/dead/observer/verb/mafia_game_signup() set category = "Ghost" @@ -895,7 +895,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!client) return if(!isobserver(src)) - to_chat(usr, "You must be a ghost to join mafia!") + to_chat(usr, span_warning("You must be a ghost to join mafia!")) return var/datum/mafia_controller/game = GLOB.mafia_game //this needs to change if you want multiple mafia games up at once. if(!game) @@ -914,8 +914,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/examine_more(mob/user) if(!isAdminObserver(user)) return ..() - . = list("You examine [src] closer, and note the following...") - . += list("\t>[ADMIN_FULLMONTY(src)]") + . = list(span_notice("You examine [src] closer, and note the following...")) + . += list("\t>[span_admin("[ADMIN_FULLMONTY(src)]")]") /mob/dead/observer/proc/set_invisibility(value) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 59167b77d9b..778487a547e 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -18,7 +18,7 @@ if(!length(key_emotes)) if(intentional && !force_silence) - to_chat(src, "'[act]' emote does not exist. Say *help for a list.") + to_chat(src, span_notice("'[act]' emote does not exist. Say *help for a list.")) return FALSE var/silenced = FALSE for(var/datum/emote/P in key_emotes) @@ -29,7 +29,7 @@ SEND_SIGNAL(src, COMSIG_MOB_EMOTE, P, act, m_type, message, intentional) return TRUE if(intentional && !silenced && !force_silence) - to_chat(src, "Unusable emote '[act]'. Say *help for a list.") + to_chat(src, span_notice("Unusable emote '[act]'. Say *help for a list.")) return FALSE /datum/emote/help @@ -77,15 +77,15 @@ if(prob(20)) flippy_mcgee.Knockdown(1 SECONDS) flippy_mcgee.visible_message( - "[flippy_mcgee] attempts to do a flip and falls over, what a doofus!", - "You attempt to do a flip while still off balance from the last flip and fall down!" + span_notice("[flippy_mcgee] attempts to do a flip and falls over, what a doofus!"), + span_notice("You attempt to do a flip while still off balance from the last flip and fall down!") ) if(prob(50)) flippy_mcgee.adjustBruteLoss(1) else flippy_mcgee.visible_message( - "[flippy_mcgee] stumbles a bit after their flip.", - "You stumble a bit from still being off balance from your last flip." + span_notice("[flippy_mcgee] stumbles a bit after their flip."), + span_notice("You stumble a bit from still being off balance from your last flip.") ) /datum/emote/spin @@ -113,7 +113,7 @@ user.vomit(BEYBLADE_PUKE_NUTRIENT_LOSS, distance = 0) return if(prob(BEYBLADE_DIZZINESS_PROBABILITY)) - to_chat(user, "You feel woozy from spinning.") + to_chat(user, span_warning("You feel woozy from spinning.")) user.Dizzy(BEYBLADE_DIZZINESS_VALUE) if(current_confusion < BEYBLADE_CONFUSION_LIMIT) user.add_confusion(BEYBLADE_CONFUSION_INCREMENT) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 773808dc93a..6d9067a72ff 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -219,13 +219,13 @@ if (merge_stacks) if (istype(active_stack) && active_stack.can_merge(I_stack)) if (I_stack.merge(active_stack)) - to_chat(usr, "Your [active_stack.name] stack now contains [active_stack.get_amount()] [active_stack.singular_name]\s.") + to_chat(usr, span_notice("Your [active_stack.name] stack now contains [active_stack.get_amount()] [active_stack.singular_name]\s.")) return TRUE else var/obj/item/stack/inactive_stack = get_inactive_held_item() if (istype(inactive_stack) && inactive_stack.can_merge(I_stack)) if (I_stack.merge(inactive_stack)) - to_chat(usr, "Your [inactive_stack.name] stack now contains [inactive_stack.get_amount()] [inactive_stack.singular_name]\s.") + to_chat(usr, span_notice("Your [inactive_stack.name] stack now contains [inactive_stack.get_amount()] [inactive_stack.singular_name]\s.")) return TRUE if(put_in_active_hand(I, forced)) @@ -415,7 +415,7 @@ if(SEND_SIGNAL(I, COMSIG_TRY_STORAGE_INSERT, src, M)) return TRUE - to_chat(M, "You are unable to equip that!") + to_chat(M, span_warning("You are unable to equip that!")) return FALSE @@ -425,7 +425,7 @@ var/obj/item/I = get_active_held_item() if(!I) - to_chat(src, "You are not holding anything to equip!") + to_chat(src, span_warning("You are not holding anything to equip!")) return if (temporarilyRemoveItemFromInventory(I) && !QDELETED(I)) if(I.equip_to_best_slot(src)) diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 16308e68a1f..dcb978da98e 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -36,25 +36,25 @@ switch(blood_volume) if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL) if(DT_PROB(7.5, delta_time)) - to_chat(src, "Blood starts to tear your skin apart. You're going to burst!") + to_chat(src, span_userdanger("Blood starts to tear your skin apart. You're going to burst!")) inflate_gib() if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS) if(DT_PROB(5, delta_time)) - to_chat(src, "You feel terribly bloated.") + to_chat(src, span_warning("You feel terribly bloated.")) if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE) if(DT_PROB(2.5, delta_time)) - to_chat(src, "You feel [word].") + to_chat(src, span_warning("You feel [word].")) adjustOxyLoss(round(0.005 * (BLOOD_VOLUME_NORMAL - blood_volume) * delta_time, 1)) if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) adjustOxyLoss(round(0.01 * (BLOOD_VOLUME_NORMAL - blood_volume) * delta_time, 1)) if(DT_PROB(2.5, delta_time)) blur_eyes(6) - to_chat(src, "You feel very [word].") + to_chat(src, span_warning("You feel very [word].")) if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) adjustOxyLoss(2.5 * delta_time) if(DT_PROB(7.5, delta_time)) Unconscious(rand(20,60)) - to_chat(src, "You feel extremely [word].") + to_chat(src, span_warning("You feel extremely [word].")) if(-INFINITY to BLOOD_VOLUME_SURVIVE) if(!HAS_TRAIT(src, TRAIT_NODEATH)) death() @@ -157,7 +157,7 @@ if(BLOOD_FLOW_DECREASING) // this only matters if none of the wounds fit the above two cases, included here for completeness continue - to_chat(src, "[bleeding_severity][rate_of_change]") + to_chat(src, span_warning("[bleeding_severity][rate_of_change]")) COOLDOWN_START(src, bleeding_message_cd, next_cooldown) /mob/living/carbon/human/bleed_warn(bleed_amt = 0, forced = FALSE) diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index 8a5bf292c23..1a3ebc70d68 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -5,7 +5,7 @@ //TODO make it toggleable to either forcedrop the items, or deny //entry when holding them // literally only an option for carbons though - to_chat(C, "You may not hold items while blood crawling!") + to_chat(C, span_warning("You may not hold items while blood crawling!")) return FALSE var/obj/item/bloodcrawl/B1 = new(C) var/obj/item/bloodcrawl/B2 = new(C) @@ -23,7 +23,7 @@ /mob/living/proc/bloodpool_sink(obj/effect/decal/cleanable/B) var/turf/mobloc = get_turf(loc) - visible_message("[src] sinks into the pool of blood!") + visible_message(span_warning("[src] sinks into the pool of blood!")) playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 50, TRUE, -1) // Extinguish, unbuckle, stop being pulled, set our location into the // dummy object @@ -51,25 +51,25 @@ var/kidnapped = FALSE if(victim.stat == CONSCIOUS) - visible_message("[victim] kicks free of the blood pool just before entering it!", null, "You hear splashing and struggling.") + visible_message(span_warning("[victim] kicks free of the blood pool just before entering it!"), null, span_notice("You hear splashing and struggling.")) else if(victim.reagents?.has_reagent(/datum/reagent/consumable/ethanol/demonsblood, needs_metabolizing = TRUE)) - visible_message("Something prevents [victim] from entering the pool!", "A strange force is blocking [victim] from entering!", "You hear a splash and a thud.") + visible_message(span_warning("Something prevents [victim] from entering the pool!"), span_warning("A strange force is blocking [victim] from entering!"), span_notice("You hear a splash and a thud.")) else victim.forceMove(src) victim.emote("scream") - visible_message("[src] drags [victim] into the pool of blood!", null, "You hear a splash.") + visible_message(span_warning("[src] drags [victim] into the pool of blood!"), null, span_notice("You hear a splash.")) kidnapped = TRUE if(kidnapped) var/success = bloodcrawl_consume(victim) if(!success) - to_chat(src, "You happily devour... nothing? Your meal vanished at some point!") + to_chat(src, span_danger("You happily devour... nothing? Your meal vanished at some point!")) notransform = FALSE return TRUE /mob/living/proc/bloodcrawl_consume(mob/living/victim) - to_chat(src, "You begin to feast on [victim]... You can not move while you are doing this.") + to_chat(src, span_danger("You begin to feast on [victim]... You can not move while you are doing this.")) var/sound if(istype(src, /mob/living/simple_animal/hostile/imp/slaughter)) @@ -86,13 +86,13 @@ return FALSE if(victim.reagents?.has_reagent(/datum/reagent/consumable/ethanol/devilskiss, needs_metabolizing = TRUE)) - to_chat(src, "AAH! THEIR FLESH! IT BURNS!") + to_chat(src, span_warning("AAH! THEIR FLESH! IT BURNS!")) adjustBruteLoss(25) //I can't use adjustHealth() here because bloodcrawl affects /mob/living and adjustHealth() only affects simple mobs var/found_bloodpool = FALSE for(var/obj/effect/decal/cleanable/target in range(1,get_turf(victim))) if(target.can_bloodcrawl_in()) victim.forceMove(get_turf(target)) - victim.visible_message("[target] violently expels [victim]!") + victim.visible_message(span_warning("[target] violently expels [victim]!")) victim.exit_blood_effect(target) found_bloodpool = TRUE break @@ -100,11 +100,11 @@ if(!found_bloodpool) // Fuck it, just eject them, thanks to some split second cleaning victim.forceMove(get_turf(victim)) - victim.visible_message("[victim] appears from nowhere, covered in blood!") + victim.visible_message(span_warning("[victim] appears from nowhere, covered in blood!")) victim.exit_blood_effect() return TRUE - to_chat(src, "You devour [victim]. Your health is fully restored.") + to_chat(src, span_danger("You devour [victim]. Your health is fully restored.")) revive(full_heal = TRUE, admin_revive = FALSE) // No defib possible after laughter @@ -138,9 +138,9 @@ /mob/living/proc/phasein(obj/effect/decal/cleanable/B) if(notransform) - to_chat(src, "Finish eating first!") + to_chat(src, span_warning("Finish eating first!")) return FALSE - B.visible_message("[B] starts to bubble...") + B.visible_message(span_warning("[B] starts to bubble...")) if(!do_after(src, 20, target = B)) return if(!B) @@ -148,7 +148,7 @@ forceMove(B.loc) client.eye = src SEND_SIGNAL(src, COMSIG_LIVING_AFTERPHASEIN, B) - visible_message("[src] rises out of the pool of blood!") + visible_message(span_boldwarning("[src] rises out of the pool of blood!")) exit_blood_effect(B) if(iscarbon(src)) var/mob/living/carbon/C = src diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 9041d67cb8e..d2e501307b4 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -55,10 +55,10 @@ if(istype(O, /obj/item/organ/brain)) //Time to stick a brain in it --NEO var/obj/item/organ/brain/newbrain = O if(brain) - to_chat(user, "There's already a brain in the MMI!") + to_chat(user, span_warning("There's already a brain in the MMI!")) return if(!newbrain.brainmob) - to_chat(user, "You aren't sure where this brain came from, but you're pretty sure it's a useless brain!") + to_chat(user, span_warning("You aren't sure where this brain came from, but you're pretty sure it's a useless brain!")) return if(!user.transferItemToLoc(O, src)) @@ -66,7 +66,7 @@ var/mob/living/brain/B = newbrain.brainmob if(!B.key) B.notify_ghost_cloning("Someone has put your brain in a MMI!", source = src) - user.visible_message("[user] sticks \a [newbrain] into [src].", "[src]'s indicator light turn on as you insert [newbrain].") + user.visible_message(span_notice("[user] sticks \a [newbrain] into [src]."), span_notice("[src]'s indicator light turn on as you insert [newbrain].")) set_brainmob(newbrain.brainmob) newbrain.brainmob = null @@ -76,10 +76,10 @@ if(!fubar_brain && !(newbrain.organ_flags & ORGAN_FAILING)) // the brain organ hasn't been beaten to death, nor was from a suicider. brainmob.set_stat(CONSCIOUS) //we manually revive the brain mob else if(!fubar_brain && newbrain.organ_flags & ORGAN_FAILING) // the brain is damaged, but not from a suicider - to_chat(user, "[src]'s indicator light turns yellow and its brain integrity alarm beeps softly. Perhaps you should check [newbrain] for damage.") + to_chat(user, span_warning("[src]'s indicator light turns yellow and its brain integrity alarm beeps softly. Perhaps you should check [newbrain] for damage.")) playsound(src, 'sound/machines/synth_no.ogg', 5, TRUE) else - to_chat(user, "[src]'s indicator light turns red and its brainwave activity alarm beeps softly. Perhaps you should check [newbrain] again.") + to_chat(user, span_warning("[src]'s indicator light turns red and its brainwave activity alarm beeps softly. Perhaps you should check [newbrain] again.")) playsound(src, 'sound/machines/triple_beep.ogg', 5, TRUE) brainmob.reset_perspective() @@ -105,12 +105,12 @@ /obj/item/mmi/attack_self(mob/user) if(!brain) radio.on = !radio.on - to_chat(user, "You toggle [src]'s radio system [radio.on==1 ? "on" : "off"].") + to_chat(user, span_notice("You toggle [src]'s radio system [radio.on==1 ? "on" : "off"].")) else eject_brain(user) update_appearance() name = initial(name) - to_chat(user, "You unlock and upend [src], spilling the brain onto the floor.") + to_chat(user, span_notice("You unlock and upend [src], spilling the brain onto the floor.")) /obj/item/mmi/proc/eject_brain(mob/user) brainmob.container = null //Reset brainmob mmi var. @@ -202,13 +202,13 @@ set popup_menu = FALSE if(brainmob.stat) - to_chat(brainmob, "Can't do that while incapacitated or dead!") + to_chat(brainmob, span_warning("Can't do that while incapacitated or dead!")) if(!radio.on) - to_chat(brainmob, "Your radio is disabled!") + to_chat(brainmob, span_warning("Your radio is disabled!")) return radio.listening = !radio.listening - to_chat(brainmob, "Radio is [radio.listening ? "now" : "no longer"] receiving broadcast.") + to_chat(brainmob, span_notice("Radio is [radio.listening ? "now" : "no longer"] receiving broadcast.")) /obj/item/mmi/emp_act(severity) . = ..() @@ -234,15 +234,15 @@ /obj/item/mmi/examine(mob/user) . = ..() if(radio) - . += "There is a switch to toggle the radio system [radio.on ? "off" : "on"].[brain ? " It is currently being covered by [brain]." : null]" + . += span_notice("There is a switch to toggle the radio system [radio.on ? "off" : "on"].[brain ? " It is currently being covered by [brain]." : null]") if(brainmob) var/mob/living/brain/B = brainmob if(!B.key || !B.mind || B.stat == DEAD) - . += "\The [src] indicates that the brain is completely unresponsive." + . += span_warning("\The [src] indicates that the brain is completely unresponsive.") else if(!B.client) - . += "\The [src] indicates that the brain is currently inactive; it might change." + . += span_warning("\The [src] indicates that the brain is currently inactive; it might change.") else - . += "\The [src] indicates that the brain is active." + . += span_notice("\The [src] indicates that the brain is active.") /obj/item/mmi/relaymove(mob/living/user, direction) return //so that the MMI won't get a warning about not being able to move if it tries to move @@ -251,27 +251,27 @@ var/mob/living/brain/B = brainmob if(!B) if(user) - to_chat(user, "\The [src] indicates that there is no brain present!") + to_chat(user, span_warning("\The [src] indicates that there is no brain present!")) return FALSE if(!B.key || !B.mind) if(user) - to_chat(user, "\The [src] indicates that their mind is completely unresponsive!") + to_chat(user, span_warning("\The [src] indicates that their mind is completely unresponsive!")) return FALSE if(!B.client) if(user) - to_chat(user, "\The [src] indicates that their mind is currently inactive.") + to_chat(user, span_warning("\The [src] indicates that their mind is currently inactive.")) return FALSE if(B.suiciding || brain?.suicided) if(user) - to_chat(user, "\The [src] indicates that their mind has no will to live!") + to_chat(user, span_warning("\The [src] indicates that their mind has no will to live!")) return FALSE if(B.stat == DEAD) if(user) - to_chat(user, "\The [src] indicates that the brain is dead!") + to_chat(user, span_warning("\The [src] indicates that the brain is dead!")) return FALSE if(brain?.organ_flags & ORGAN_FAILING) if(user) - to_chat(user, "\The [src] indicates that the brain is damaged!") + to_chat(user, span_warning("\The [src] indicates that the brain is damaged!")) return FALSE return TRUE diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index d4f5c4e759a..3b9e5d08a09 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -68,7 +68,7 @@ /obj/item/organ/brain/Remove(mob/living/carbon/C, special = 0, no_id_transfer = FALSE) // Delete skillchips first as parent proc sets owner to null, and skillchips need to know the brain's owner. if(!QDELETED(C) && length(skillchips)) - to_chat(C, "You feel your skillchips enable emergency power saving mode, deactivating as your brain leaves your body...") + to_chat(C, span_notice("You feel your skillchips enable emergency power saving mode, deactivating as your brain leaves your body...")) for(var/chip in skillchips) var/obj/item/skillchip/skillchip = chip // Run the try_ proc with force = TRUE. @@ -105,7 +105,7 @@ LAZYSET(brainmob.status_traits, TRAIT_BADDNA, L.status_traits[TRAIT_BADDNA]) if(L.mind && L.mind.current) L.mind.transfer_to(brainmob) - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a brain.") + to_chat(brainmob, span_notice("You feel slightly disoriented. That's normal when you're just a brain.")) /obj/item/organ/brain/attackby(obj/item/O, mob/user, params) user.changeNext_move(CLICK_CD_MELEE) @@ -116,19 +116,19 @@ if((organ_flags & ORGAN_FAILING) && O.is_drainable() && O.reagents.has_reagent(/datum/reagent/medicine/mannitol)) //attempt to heal the brain . = TRUE //don't do attack animation. if(brainmob?.health <= HEALTH_THRESHOLD_DEAD) //if the brain is fucked anyway, do nothing - to_chat(user, "[src] is far too damaged, there's nothing else we can do for it!") + to_chat(user, span_warning("[src] is far too damaged, there's nothing else we can do for it!")) return if(!O.reagents.has_reagent(/datum/reagent/medicine/mannitol, 10)) - to_chat(user, "There's not enough mannitol in [O] to restore [src]!") + to_chat(user, span_warning("There's not enough mannitol in [O] to restore [src]!")) return - user.visible_message("[user] starts to pour the contents of [O] onto [src].", "You start to slowly pour the contents of [O] onto [src].") + user.visible_message(span_notice("[user] starts to pour the contents of [O] onto [src]."), span_notice("You start to slowly pour the contents of [O] onto [src].")) if(!do_after(user, 6 SECONDS, src)) - to_chat(user, "You failed to pour [O] onto [src]!") + to_chat(user, span_warning("You failed to pour [O] onto [src]!")) return - user.visible_message("[user] pours the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink.", "You pour the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink.") + user.visible_message(span_notice("[user] pours the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink."), span_notice("You pour the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink.")) var/healby = O.reagents.get_reagent_amount(/datum/reagent/medicine/mannitol) setOrganDamage(damage - healby*2) //heals 2 damage per unit of mannitol, and by using "setorgandamage", we clear the failing variable if that was up O.reagents.clear_reagents() @@ -136,7 +136,7 @@ // Cutting out skill chips. if(length(skillchips) && O.get_sharpness() == SHARP_EDGED) - to_chat(user,"You begin to excise skillchips from [src].") + to_chat(user,span_notice("You begin to excise skillchips from [src].")) if(do_after(user, 15 SECONDS, target = src)) for(var/chip in skillchips) var/obj/item/skillchip/skillchip = chip @@ -162,25 +162,25 @@ if(O.force != 0 && !(O.item_flags & NOBLUDGEON)) setOrganDamage(maxHealth) //fails the brain as the brain was attacked, they're pretty fragile. - visible_message("[user] hits [src] with [O]!") - to_chat(user, "You hit [src] with [O]!") + visible_message(span_danger("[user] hits [src] with [O]!")) + to_chat(user, span_danger("You hit [src] with [O]!")) /obj/item/organ/brain/examine(mob/user) . = ..() if(length(skillchips)) - . += "It has a skillchip embedded in it." + . += span_info("It has a skillchip embedded in it.") if(suicided) - . += "It's started turning slightly grey. They must not have been able to handle the stress of it all." + . += span_info("It's started turning slightly grey. They must not have been able to handle the stress of it all.") return if((brainmob && (brainmob.client || brainmob.get_ghost())) || decoy_override) if(organ_flags & ORGAN_FAILING) - . += "It seems to still have a bit of energy within it, but it's rather damaged... You may be able to restore it with some mannitol." + . += span_info("It seems to still have a bit of energy within it, but it's rather damaged... You may be able to restore it with some mannitol.") else if(damage >= BRAIN_DAMAGE_DEATH*0.5) - . += "You can feel the small spark of life still left in this one, but it's got some bruises. You may be able to restore it with some mannitol." + . += span_info("You can feel the small spark of life still left in this one, but it's got some bruises. You may be able to restore it with some mannitol.") else - . += "You can feel the small spark of life still left in this one." + . += span_info("You can feel the small spark of life still left in this one.") else - . += "This one is completely devoid of life." + . += span_info("This one is completely devoid of life.") /obj/item/organ/brain/attack(mob/living/carbon/C, mob/user) if(!istype(C)) @@ -194,7 +194,7 @@ var/target_has_brain = C.getorgan(/obj/item/organ/brain) if(!target_has_brain && C.is_eyes_covered()) - to_chat(user, "You're going to need to remove [C.p_their()] head cover first!") + to_chat(user, span_warning("You're going to need to remove [C.p_their()] head cover first!")) return //since these people will be dead M != usr @@ -206,14 +206,14 @@ if(C == user) msg = "[user] inserts [src] into [user.p_their()] head!" - C.visible_message("[msg]", - "[msg]") + C.visible_message(span_danger("[msg]"), + span_userdanger("[msg]")) if(C != user) - to_chat(C, "[user] inserts [src] into your head.") - to_chat(user, "You insert [src] into [C]'s head.") + to_chat(C, span_notice("[user] inserts [src] into your head.")) + to_chat(user, span_notice("You insert [src] into [C]'s head.")) else - to_chat(user, "You insert [src] into your head." ) + to_chat(user, span_notice("You insert [src] into your head.") ) Insert(C) else @@ -231,7 +231,7 @@ /obj/item/organ/brain/on_life(delta_time, times_fired) if(damage >= BRAIN_DAMAGE_DEATH) //rip - to_chat(owner, "The last spark of life in your brain fizzles out...") + to_chat(owner, span_userdanger("The last spark of life in your brain fizzles out...")) owner.death() /obj/item/organ/brain/check_damage_thresholds(mob/M) @@ -256,11 +256,11 @@ if(owner.stat < UNCONSCIOUS) //conscious or soft-crit var/brain_message if(prev_damage < BRAIN_DAMAGE_MILD && damage >= BRAIN_DAMAGE_MILD) - brain_message = "You feel lightheaded." + brain_message = span_warning("You feel lightheaded.") else if(prev_damage < BRAIN_DAMAGE_SEVERE && damage >= BRAIN_DAMAGE_SEVERE) - brain_message = "You feel less in control of your thoughts." + brain_message = span_warning("You feel less in control of your thoughts.") else if(prev_damage < (BRAIN_DAMAGE_DEATH - 20) && damage >= (BRAIN_DAMAGE_DEATH - 20)) - brain_message = "You can feel your mind flickering on and off..." + brain_message = span_warning("You can feel your mind flickering on and off...") if(.) . += "\n[brain_message]" diff --git a/code/modules/mob/living/brain/death.dm b/code/modules/mob/living/brain/death.dm index 32db2599c0b..8166e9f8446 100644 --- a/code/modules/mob/living/brain/death.dm +++ b/code/modules/mob/living/brain/death.dm @@ -5,8 +5,8 @@ if(!gibbed && container)//If not gibbed but in a container. var/obj/item/mmi = container - mmi.visible_message("[src]'s MMI flatlines!", \ - "You hear something flatline.") + mmi.visible_message(span_warning("[src]'s MMI flatlines!"), \ + span_hear("You hear something flatline.")) mmi.update_appearance() return ..() diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index 2cf04090e0c..e65e66bf413 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -48,9 +48,9 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(!brainmob) set_brainmob(new /mob/living/brain(src)) if(!(GLOB.ghost_role_flags & GHOSTROLE_SILICONS)) - to_chat(user, "Central Command has temporarily outlawed posibrain sentience in this sector...") + to_chat(user, span_warning("Central Command has temporarily outlawed posibrain sentience in this sector...")) if(is_occupied()) - to_chat(user, "This [name] is already active!") + to_chat(user, span_warning("This [name] is already active!")) return if(next_ask > world.time) to_chat(user, recharge_message) @@ -70,7 +70,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) return if(input_seed) - to_chat(user, "You set the personality seed to \"[input_seed]\".") + to_chat(user, span_notice("You set the personality seed to \"[input_seed]\".")) ask_role = input_seed update_appearance() @@ -105,7 +105,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(is_occupied() || is_banned_from(user.ckey, ROLE_POSIBRAIN) || QDELETED(brainmob) || QDELETED(src) || QDELETED(user)) return if(user.suiciding) //if they suicided, they're out forever. - to_chat(user, "[src] fizzles slightly. Sadly it doesn't take those who suicided!") + to_chat(user, span_warning("[src] fizzles slightly. Sadly it doesn't take those who suicided!")) return var/posi_ask = tgui_alert(usr,"Become a [name]? (Warning, You can no longer be revived, and all past lives will be forgotten!)","Are you positive?",list("Yes","No")) if(posi_ask == "No" || QDELETED(src)) @@ -138,7 +138,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(QDELETED(brainmob)) return if(is_occupied()) //Prevents hostile takeover if two ghosts get the prompt or link for the same brain. - to_chat(candidate, "This [name] was taken over before you could get to it! Perhaps it might be available later?") + to_chat(candidate, span_warning("This [name] was taken over before you could get to it! Perhaps it might be available later?")) return FALSE if(candidate.mind && !isobserver(candidate)) candidate.mind.transfer_to(brainmob) @@ -164,12 +164,12 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(!brainmob.client) . += "It appears to be in stand-by mode." //afk if(DEAD) - . += "It appears to be completely inactive." + . += span_deadsay("It appears to be completely inactive.") else . += "[dead_message]" if(ask_role) - . += "Current consciousness seed: \"[ask_role]\"" - . += "Alt-click to set a consciousness seed, specifying what [src] will be used for. This can help generate a personality interested in that role." + . += span_notice("Current consciousness seed: \"[ask_role]\"") + . += span_boldnotice("Alt-click to set a consciousness seed, specifying what [src] will be used for. This can help generate a personality interested in that role.") /obj/item/mmi/posibrain/Initialize() . = ..() diff --git a/code/modules/mob/living/brain/skillchip.dm b/code/modules/mob/living/brain/skillchip.dm index 393edf311eb..4bab004c685 100644 --- a/code/modules/mob/living/brain/skillchip.dm +++ b/code/modules/mob/living/brain/skillchip.dm @@ -151,7 +151,7 @@ chip_tally++ if(chip_tally && !silent) - to_chat(owner, "Unusual brain biology detected during regeneration. Failsafe procedure engaged. [chip_tally] skillchips have been deactivated.") + to_chat(owner, span_warning("Unusual brain biology detected during regeneration. Failsafe procedure engaged. [chip_tally] skillchips have been deactivated.")) /// Disables or re-enables any extra skillchips after skillchip limit changes. /obj/item/organ/brain/proc/update_skillchips() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index cb084bc709e..5fe2c1c8b04 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -117,8 +117,8 @@ Des: Removes all infected images from the alien. return TRUE /mob/living/carbon/alien/proc/alien_evolve(mob/living/carbon/alien/new_xeno) - to_chat(src, "You begin to evolve!") - visible_message("[src] begins to twist and contort!") + to_chat(src, span_noticealien("You begin to evolve!")) + visible_message(span_alertalien("[src] begins to twist and contort!")) new_xeno.setDir(dir) if(numba && unique_name) new_xeno.numba = numba diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index b0984f13b37..427ac0f8980 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -28,18 +28,18 @@ In all, this is a lot like the monkey code. /N AdjustParalyzed(-60) AdjustUnconscious(-60) AdjustSleeping(-100) - visible_message("[user.name] nuzzles [src] trying to wake [p_them()] up!") + visible_message(span_notice("[user.name] nuzzles [src] trying to wake [p_them()] up!")) else if(health > 0) user.do_attack_animation(src, ATTACK_EFFECT_BITE) playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1) - visible_message("[user.name] bites [src]!", \ - "[user.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You bite [src]!") + visible_message(span_danger("[user.name] bites [src]!"), \ + span_userdanger("[user.name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You bite [src]!")) adjustBruteLoss(1) log_combat(user, src, "attacked") updatehealth() else - to_chat(user, "[name] is too injured for that.") + to_chat(user, span_warning("[name] is too injured for that.")) diff --git a/code/modules/mob/living/carbon/alien/alien_say.dm b/code/modules/mob/living/carbon/alien/alien_say.dm index 353fb0efc6c..9a76e3b26fd 100644 --- a/code/modules/mob/living/carbon/alien/alien_say.dm +++ b/code/modules/mob/living/carbon/alien/alien_say.dm @@ -8,7 +8,7 @@ var/hivemind_spans = "alien" if(big_voice) hivemind_spans += " big" - var/rendered = "Hivemind, [shown_name] [message_a]" + var/rendered = "Hivemind, [span_name("[shown_name]")] [message_a]" for(var/mob/S in GLOB.player_list) if(!S.stat && S.hivecheck()) to_chat(S, rendered) 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 e14c1a9852e..580b0e6b726 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -43,15 +43,15 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/proc/cost_check(check_turf = FALSE, mob/living/carbon/user, silent = FALSE) if(user.stat) if(!silent) - to_chat(user, "You must be conscious to do this.") + to_chat(user, span_noticealien("You must be conscious to do this.")) return FALSE if(user.getPlasma() < plasma_cost) if(!silent) - to_chat(user, "Not enough plasma stored.") + to_chat(user, span_noticealien("Not enough plasma stored.")) return FALSE if(check_turf && (!isturf(user.loc) || isspaceturf(user.loc))) if(!silent) - to_chat(user, "Bad place for a garden!") + to_chat(user, span_noticealien("Bad place for a garden!")) return FALSE return TRUE @@ -72,9 +72,9 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/plant/fire(mob/living/carbon/user) if(locate(/obj/structure/alien/weeds/node) in get_turf(user)) - to_chat(user, "There's already a weed node here!") + to_chat(user, span_warning("There's already a weed node here!")) return FALSE - user.visible_message("[user] plants some alien weeds!") + user.visible_message(span_alertalien("[user] plants some alien weeds!")) new/obj/structure/alien/weeds/node(user.loc) return TRUE @@ -92,22 +92,22 @@ Doesn't work on other aliens/AI.*/ if(!M) return FALSE if(M.anti_magic_check(FALSE, FALSE, TRUE, 0)) - to_chat(user, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.") + to_chat(user, span_noticealien("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")) return FALSE var/msg = sanitize(input("Message:", "Alien Whisper") as text|null) if(msg) if(M.anti_magic_check(FALSE, FALSE, TRUE, 0)) - to_chat(user, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.") + to_chat(user, span_notice("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")) return log_directed_talk(user, M, msg, LOG_SAY, tag="alien whisper") - to_chat(M, "You hear a strange, alien voice in your head...[msg]") - to_chat(user, "You said: \"[msg]\" to [M]") + to_chat(M, "[span_noticealien("You hear a strange, alien voice in your head...")][msg]") + to_chat(user, span_noticealien("You said: \"[msg]\" to [M]")) for(var/ded in GLOB.dead_mob_list) if(!isobserver(ded)) continue var/follow_link_user = FOLLOW_LINK(ded, user) var/follow_link_whispee = FOLLOW_LINK(ded, M) - to_chat(ded, "[follow_link_user] [user] Alien Whisper --> [follow_link_whispee] [M] [msg]") + to_chat(ded, "[follow_link_user] [span_name("[user]")] [span_alertalien("Alien Whisper --> ")] [follow_link_whispee] [span_name("[M]")] [span_noticealien("[msg]")]") else return FALSE return TRUE @@ -132,10 +132,10 @@ Doesn't work on other aliens/AI.*/ if (get_dist(user,M) <= 1) M.adjustPlasma(amount) user.adjustPlasma(-amount) - to_chat(M, "[user] has transferred [amount] plasma to you.") - to_chat(user, "You transfer [amount] plasma to [M].") + to_chat(M, span_noticealien("[user] has transferred [amount] plasma to you.")) + to_chat(user, span_noticealien("You transfer [amount] plasma to [M].")) else - to_chat(user, "You need to be closer!") + to_chat(user, span_noticealien("You need to be closer!")) return /obj/effect/proc_holder/alien/acid @@ -153,13 +153,13 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/acid/proc/corrode(atom/target,mob/living/carbon/user = usr) if(target in oview(1,user)) if(target.acid_act(200, 1000)) - user.visible_message("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!") + user.visible_message(span_alertalien("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!")) return TRUE else - to_chat(user, "You cannot dissolve this object.") + to_chat(user, span_noticealien("You cannot dissolve this object.")) return FALSE - to_chat(src, "[target] is too far away.") + to_chat(src, span_noticealien("[target] is too far away.")) return FALSE @@ -191,10 +191,10 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/neurotoxin/fire(mob/living/carbon/user) var/message if(active) - message = "You empty your neurotoxin gland." + message = span_notice("You empty your neurotoxin gland.") remove_ranged_ability(message) else - message = "You prepare your neurotoxin gland. Left-click to fire at a target!" + message = span_notice("You prepare your neurotoxin gland. Left-click to fire at a target!") add_ranged_ability(user, message, TRUE) /obj/effect/proc_holder/alien/neurotoxin/update_icon() @@ -214,7 +214,7 @@ Doesn't work on other aliens/AI.*/ var/mob/living/carbon/user = ranged_ability_user if(user.getPlasma() < p_cost) - to_chat(user, "You need at least [p_cost] plasma to spit.") + to_chat(user, span_warning("You need at least [p_cost] plasma to spit.")) remove_ranged_ability() return FALSE @@ -224,7 +224,7 @@ Doesn't work on other aliens/AI.*/ return FALSE var/modifiers = params2list(params) - user.visible_message("[user] spits neurotoxin!", "You spit neurotoxin.") + user.visible_message(span_danger("[user] spits neurotoxin!"), span_alertalien("You spit neurotoxin.")) var/obj/projectile/neurotoxin/neurotoxin = new /obj/projectile/neurotoxin(user.loc) neurotoxin.preparePixelProjectile(target, user, modifiers) neurotoxin.fire() @@ -264,7 +264,7 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/resin/fire(mob/living/carbon/user) if(locate(/obj/structure/alien/resin) in user.loc) - to_chat(user, "There is already a resin structure there!") + to_chat(user, span_warning("There is already a resin structure there!")) return FALSE if(!check_vent_block(user)) @@ -275,8 +275,8 @@ Doesn't work on other aliens/AI.*/ return FALSE if (!cost_check(check_turf,user)) return FALSE - to_chat(user, "You shape a [choice].") - user.visible_message("[user] vomits up a thick purple substance and begins to shape it.") + to_chat(user, span_notice("You shape a [choice].")) + user.visible_message(span_notice("[user] vomits up a thick purple substance and begins to shape it.")) choice = structures[choice] new choice(user.loc) @@ -294,12 +294,12 @@ Doesn't work on other aliens/AI.*/ user.alpha = 75 //Still easy to see in lit areas with bright tiles, almost invisible on resin. user.sneaking = 1 active = 1 - to_chat(user, "You blend into the shadows...") + to_chat(user, span_noticealien("You blend into the shadows...")) else user.alpha = initial(user.alpha) user.sneaking = 0 active = 0 - to_chat(user, "You reveal yourself!") + to_chat(user, span_noticealien("You reveal yourself!")) /mob/living/carbon/proc/getPlasma() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm index 5b6f36c2f3e..c19e4218bf4 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm @@ -25,19 +25,19 @@ /obj/effect/proc_holder/alien/evolve/fire(mob/living/carbon/alien/humanoid/user) var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode) if(!node) //Players are Murphy's Law. We may not expect there to ever be a living xeno with no hivenode, but they _WILL_ make it happen. - to_chat(user, "Without the hivemind, you can't possibly hold the responsibility of leadership!") + to_chat(user, span_danger("Without the hivemind, you can't possibly hold the responsibility of leadership!")) return FALSE if(node.recent_queen_death) - to_chat(user, "Your thoughts are still too scattered to take up the position of leadership.") + to_chat(user, span_danger("Your thoughts are still too scattered to take up the position of leadership.")) return FALSE if(!isturf(user.loc)) - to_chat(user, "You can't evolve here!") + to_chat(user, span_warning("You can't evolve here!")) return FALSE if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal)) var/mob/living/carbon/alien/humanoid/royal/praetorian/new_xeno = new (user.loc) user.alien_evolve(new_xeno) return TRUE else - to_chat(user, "We already have a living royal!") + to_chat(user, span_warning("We already have a living royal!")) return FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index de9b8968e08..7d5781c27d9 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -17,7 +17,7 @@ leap_icon.icon_state = "leap_[leap_on_click ? "on":"off"]" update_icons() if(message) - to_chat(src, "You will now [leap_on_click ? "leap at":"slash at"] enemies!") + to_chat(src, span_noticealien("You will now [leap_on_click ? "leap at":"slash at"] enemies!")) else return @@ -35,11 +35,11 @@ return if(pounce_cooldown > world.time) - to_chat(src, "You are too fatigued to pounce right now!") + to_chat(src, span_alertalien("You are too fatigued to pounce right now!")) return if(!has_gravity() || !A.has_gravity()) - to_chat(src, "It is unsafe to leap without gravity!") + to_chat(src, span_alertalien("It is unsafe to leap without gravity!")) //It's also extremely buggy visually, so it's balance+bugfix return @@ -74,7 +74,7 @@ if(H.check_shields(src, 0, "the [name]", attack_type = LEAP_ATTACK)) blocked = TRUE if(!blocked) - L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") + L.visible_message(span_danger("[src] pounces on [L]!"), span_userdanger("[src] pounces on you!")) L.Paralyze(100) sleep(2)//Runtime prevention (infinite bump() calls on hulks) step_towards(src,L) @@ -83,6 +83,6 @@ toggle_leap(0) else if(hit_atom.density && !hit_atom.CanPass(src)) - visible_message("[src] smashes into [hit_atom]!", "[src] smashes into [hit_atom]!") + visible_message(span_danger("[src] smashes into [hit_atom]!"), span_alertalien("[src] smashes into [hit_atom]!")) Paralyze(40, ignore_canstun = TRUE) diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm index 86038c84f5d..01787076020 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm @@ -28,15 +28,15 @@ /obj/effect/proc_holder/alien/royal/praetorian/evolve/fire(mob/living/carbon/alien/humanoid/user) var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode) if(!node) //Just in case this particular Praetorian gets violated and kept by the RD as a replacement for Lamarr. - to_chat(user, "Without the hivemind, you would be unfit to rule as queen!") + to_chat(user, span_warning("Without the hivemind, you would be unfit to rule as queen!")) return FALSE if(node.recent_queen_death) - to_chat(user, "You are still too burdened with guilt to evolve into a queen.") + to_chat(user, span_warning("You are still too burdened with guilt to evolve into a queen.")) return FALSE if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal/queen)) var/mob/living/carbon/alien/humanoid/royal/queen/new_xeno = new (user.loc) user.alien_evolve(new_xeno) return TRUE else - to_chat(user, "We already have an alive queen!") + to_chat(user, span_warning("We already have an alive queen!")) return FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 63a4f53eeeb..7b51b8d4ffb 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -42,8 +42,8 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list( /mob/living/carbon/alien/humanoid/resist_grab(moving_resist) if(pulledby.grab_state) - visible_message("[src] breaks free of [pulledby]'s grip!", \ - "You break free of [pulledby]'s grip!") + visible_message(span_danger("[src] breaks free of [pulledby]'s grip!"), \ + span_danger("You break free of [pulledby]'s grip!")) pulledby.stop_pulling() . = 0 diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm index 0e9c2335611..047cba6ff23 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -10,9 +10,9 @@ safe_throw_at(get_edge_target_turf(src, get_dir(user, src)), 2, 1, user) hitverb = "slam" playsound(loc, "punch", 25, TRUE, -1) - visible_message("[user] [hitverb]s [src]!", \ - "[user] [hitverb]s you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You [hitverb] [src]!") + visible_message(span_danger("[user] [hitverb]s [src]!"), \ + span_userdanger("[user] [hitverb]s you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You [hitverb] [src]!")) /mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/user, list/modifiers) if(!..() || !user.combat_mode) @@ -23,29 +23,29 @@ Unconscious(40) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) log_combat(user, src, "pushed") - visible_message("[user] pushes [src] down!", \ - "[user] pushes you down!", "You hear aggressive shuffling followed by a loud thud!", null, user) - to_chat(user, "You push [src] down!") + visible_message(span_danger("[user] pushes [src] down!"), \ + span_userdanger("[user] pushes you down!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), null, user) + to_chat(user, span_danger("You push [src] down!")) return TRUE var/damage = rand(1, 9) if (prob(90)) playsound(loc, "punch", 25, TRUE, -1) - visible_message("[user] punches [src]!", \ - "[user] punches you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You punch [src]!") + visible_message(span_danger("[user] punches [src]!"), \ + span_userdanger("[user] punches you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You punch [src]!")) if ((stat != DEAD) && (damage > 9 || prob(5)))//Regular humans have a very small chance of knocking an alien down. Unconscious(40) - visible_message("[user] knocks [src] down!", \ - "[user] knocks you down!", "You hear a sickening sound of flesh hitting flesh!", null, user) - to_chat(user, "You knock [src] down!") + visible_message(span_danger("[user] knocks [src] down!"), \ + span_userdanger("[user] knocks you down!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, user) + to_chat(user, span_danger("You knock [src] down!")) var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected)) apply_damage(damage, BRUTE, affecting) log_combat(user, src, "attacked") else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message("[user]'s punch misses [src]!", \ - "You avoid [user]'s punch!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your punch misses [src]!") + visible_message(span_danger("[user]'s punch misses [src]!"), \ + span_danger("You avoid [user]'s punch!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your punch misses [src]!")) /mob/living/carbon/alien/humanoid/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index 2db2b2649e0..05a5202036d 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -67,10 +67,10 @@ return FALSE if(locate(/obj/structure/alien/egg) in get_turf(user)) - to_chat(user, "There's already an egg here.") + to_chat(user, span_alertalien("There's already an egg here.")) return FALSE - user.visible_message("[user] lays an egg!") + user.visible_message(span_alertalien("[user] lays an egg!")) new /obj/structure/alien/egg(user.loc) return TRUE @@ -87,20 +87,20 @@ /obj/effect/proc_holder/alien/royal/queen/promote/fire(mob/living/carbon/alien/user) var/obj/item/queenpromote/prom if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/)) - to_chat(user, "You already have a Praetorian!") + to_chat(user, span_noticealien("You already have a Praetorian!")) return else for(prom in user) - to_chat(user, "You discard [prom].") + to_chat(user, span_noticealien("You discard [prom].")) qdel(prom) return prom = new (user.loc) if(!user.put_in_active_hand(prom, 1)) - to_chat(user, "You must empty your hands before preparing the parasite.") + to_chat(user, span_warning("You must empty your hands before preparing the parasite.")) return else //Just in case telling the player only once is not enough! - to_chat(user, "Use the royal parasite on one of your children to promote her to Praetorian!") + to_chat(user, span_noticealien("Use the royal parasite on one of your children to promote her to Praetorian!")) return /obj/item/queenpromote @@ -116,28 +116,28 @@ /obj/item/queenpromote/attack(mob/living/M, mob/living/carbon/alien/humanoid/user) if(!isalienadult(M) || isalienroyal(M)) - to_chat(user, "You may only use this with your adult, non-royal children!") + to_chat(user, span_noticealien("You may only use this with your adult, non-royal children!")) return if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/)) - to_chat(user, "You already have a Praetorian!") + to_chat(user, span_noticealien("You already have a Praetorian!")) return var/mob/living/carbon/alien/humanoid/A = M if(A.stat == CONSCIOUS && A.mind && A.key) if(!user.usePlasma(500)) - to_chat(user, "You must have 500 plasma stored to use this!") + to_chat(user, span_noticealien("You must have 500 plasma stored to use this!")) return - to_chat(A, "The queen has granted you a promotion to Praetorian!") - user.visible_message("[A] begins to expand, twist and contort!") + to_chat(A, span_noticealien("The queen has granted you a promotion to Praetorian!")) + user.visible_message(span_alertalien("[A] begins to expand, twist and contort!")) var/mob/living/carbon/alien/humanoid/royal/praetorian/new_prae = new (A.loc) A.mind.transfer_to(new_prae) qdel(A) qdel(src) return else - to_chat(user, "This child must be alert and responsive to become a Praetorian!") + to_chat(user, span_warning("This child must be alert and responsive to become a Praetorian!")) /obj/item/queenpromote/attack_self(mob/user) - to_chat(user, "You discard [src].") + to_chat(user, span_noticealien("You discard [src].")) qdel(src) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 23baa12e7a2..6a0018a5fff 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -71,11 +71,11 @@ return /mob/living/carbon/alien/larva/stripPanelUnequip(obj/item/what, mob/who) - to_chat(src, "You don't have the dexterity to do this!") + to_chat(src, span_warning("You don't have the dexterity to do this!")) return /mob/living/carbon/alien/larva/stripPanelEquip(obj/item/what, mob/who) - to_chat(src, "You don't have the dexterity to do this!") + to_chat(src, span_warning("You don't have the dexterity to do this!")) return diff --git a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm index 4560b950585..8118f0a320f 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm @@ -6,9 +6,9 @@ if (prob(90)) playsound(loc, "punch", 25, TRUE, -1) log_combat(user, src, "attacked") - visible_message("[user] kicks [src]!", \ - "[user] kicks you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You kick [src]!") + visible_message(span_danger("[user] kicks [src]!"), \ + span_userdanger("[user] kicks you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You kick [src]!")) if ((stat != DEAD) && (damage > 4.9)) Unconscious(rand(100,200)) @@ -16,9 +16,9 @@ apply_damage(damage, BRUTE, affecting) else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message("[user]'s kick misses [src]!", \ - "You avoid [user]'s kick!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your kick misses [src]!") + visible_message(span_danger("[user]'s kick misses [src]!"), \ + span_danger("You avoid [user]'s kick!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your kick misses [src]!")) /mob/living/carbon/alien/larva/attack_hulk(mob/living/carbon/human/user) . = ..() diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm index 33ef5980f00..5e576a7029e 100644 --- a/code/modules/mob/living/carbon/alien/larva/powers.dm +++ b/code/modules/mob/living/carbon/alien/larva/powers.dm @@ -11,12 +11,12 @@ if (user.layer != ABOVE_NORMAL_TURF_LAYER) user.layer = ABOVE_NORMAL_TURF_LAYER - user.visible_message("[user] scurries to the ground!", \ - "You are now hiding.") + user.visible_message(span_name("[user] scurries to the ground!"), \ + span_noticealien("You are now hiding.")) else user.layer = MOB_LAYER - user.visible_message("[user] slowly peeks up from the ground...", \ - "You stop hiding.") + user.visible_message(span_notice("[user] slowly peeks up from the ground..."), \ + span_noticealien("You stop hiding.")) return 1 @@ -33,19 +33,19 @@ var/mob/living/carbon/alien/larva/L = user if(L.handcuffed || L.legcuffed) // Cuffing larvas ? Eh ? - to_chat(user, "You cannot evolve when you are cuffed!") + to_chat(user, span_warning("You cannot evolve when you are cuffed!")) return if(L.amount_grown >= L.max_grown) //TODO ~Carn - to_chat(L, "You are growing into a beautiful alien! It is time to choose a caste.") - to_chat(L, "There are three to choose from:") - to_chat(L, "Hunters are the most agile caste, tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone.") - to_chat(L, "Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters.") - to_chat(L, "Drones are the weakest and slowest of the castes, but can grow into a praetorian and then queen if no queen exists, and are vital to maintaining a hive with their resin secretion abilities.") + to_chat(L, span_name("You are growing into a beautiful alien! It is time to choose a caste.")) + to_chat(L, span_info("There are three to choose from:")) + to_chat(L, span_name("Hunters
    are the most agile caste, tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone.")) + to_chat(L, span_name("Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters.")) + to_chat(L, span_name("Drones are the weakest and slowest of the castes, but can grow into a praetorian and then queen if no queen exists, and are vital to maintaining a hive with their resin secretion abilities.")) var/alien_caste = tgui_alert(L, "Please choose which alien caste you shall belong to.",,list("Hunter","Sentinel","Drone")) if(L.movement_type & VENTCRAWLING) - to_chat(user, "You cannot evolve while ventcrawling!") + to_chat(user, span_warning("You cannot evolve while ventcrawling!")) return if(user.incapacitated()) //something happened to us while we were choosing. @@ -63,5 +63,5 @@ L.alien_evolve(new_xeno) return else - to_chat(user, "You are not fully grown!") + to_chat(user, span_warning("You are not fully grown!")) return diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index 93f3d3948f9..0bb5c068aff 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -126,13 +126,13 @@ if(!owner|| owner.stat == DEAD) return if(isalien(owner)) //Different effects for aliens than humans - to_chat(owner, "Your Queen has been struck down!") - to_chat(owner, "You are struck with overwhelming agony! You feel confused, and your connection to the hivemind is severed.") + to_chat(owner, span_userdanger("Your Queen has been struck down!")) + to_chat(owner, span_danger("You are struck with overwhelming agony! You feel confused, and your connection to the hivemind is severed.")) owner.emote("roar") owner.Stun(200) //Actually just slows them down a bit. else if(ishuman(owner)) //Humans, being more fragile, are more overwhelmed by the mental backlash. - to_chat(owner, "You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!") + to_chat(owner, span_danger("You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!")) owner.emote("scream") owner.Paralyze(100) @@ -151,7 +151,7 @@ recent_queen_death = FALSE if(!owner) //In case the xeno is butchered or subjected to surgery after death. return - to_chat(owner, "The pain of the queen's death is easing. You begin to hear the hivemind again.") + to_chat(owner, span_noticealien("The pain of the queen's death is easing. You begin to hear the hivemind again.")) owner.clear_alert("alien_noqueen") #undef QUEEN_DEATH_DEBUFF_DURATION diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index 77b7a66d3df..3c7be5330d0 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -19,9 +19,9 @@ /obj/item/organ/body_egg/alien_embryo/on_find(mob/living/finder) ..() if(stage < 5) - to_chat(finder, "It's small and weak, barely the size of a foetus.") + to_chat(finder, span_notice("It's small and weak, barely the size of a foetus.")) else - to_chat(finder, "It's grown quite large, and writhes slightly as you look at it.") + to_chat(finder, span_notice("It's grown quite large, and writhes slightly as you look at it.")) if(prob(10)) AttemptGrow(0) @@ -34,24 +34,24 @@ if(DT_PROB(1, delta_time)) owner.emote("cough") if(DT_PROB(1, delta_time)) - to_chat(owner, "Your throat feels sore.") + to_chat(owner, span_danger("Your throat feels sore.")) if(DT_PROB(1, delta_time)) - to_chat(owner, "Mucous runs down the back of your throat.") + to_chat(owner, span_danger("Mucous runs down the back of your throat.")) if(5) if(DT_PROB(1, delta_time)) owner.emote("sneeze") if(DT_PROB(1, delta_time)) owner.emote("cough") if(DT_PROB(2, delta_time)) - to_chat(owner, "Your muscles ache.") + to_chat(owner, span_danger("Your muscles ache.")) if(prob(20)) owner.take_bodypart_damage(1) if(DT_PROB(2, delta_time)) - to_chat(owner, "Your stomach hurts.") + to_chat(owner, span_danger("Your stomach hurts.")) if(prob(20)) owner.adjustToxLoss(1) if(6) - to_chat(owner, "You feel something tearing its way out of your chest...") + to_chat(owner, span_danger("You feel something tearing its way out of your chest...")) owner.adjustToxLoss(5 * delta_time) // Why is this [TOX]? /// Controls Xenomorph Embryo growth. If embryo is fully grown (or overgrown), stop the proc. If not, increase the stage by one and if it's not fully grown (stage 6), add a timer to do this proc again after however long the growth time variable is. @@ -115,10 +115,10 @@ new_xeno.invisibility = 0 if(gib_on_success) - new_xeno.visible_message("[new_xeno] bursts out of [owner] in a shower of gore!", "You exit [owner], your previous host.", "You hear organic matter ripping and tearing!") + new_xeno.visible_message(span_danger("[new_xeno] bursts out of [owner] in a shower of gore!"), span_userdanger("You exit [owner], your previous host."), span_hear("You hear organic matter ripping and tearing!")) owner.gib(TRUE) else - new_xeno.visible_message("[new_xeno] wriggles out of [owner]!", "You exit [owner], your previous host.") + new_xeno.visible_message(span_danger("[new_xeno] wriggles out of [owner]!"), span_userdanger("You exit [owner], your previous host.")) owner.adjustBruteLoss(40) owner.cut_overlay(overlay) qdel(src) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 55b6c107455..19a39418fa4 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -83,11 +83,11 @@ return switch(stat) if(DEAD,UNCONSCIOUS) - . += "[src] is not moving." + . += span_boldannounce("[src] is not moving.") if(CONSCIOUS) - . += "[src] seems to be active!" + . += span_boldannounce("[src] seems to be active!") if (sterile) - . += "It looks like the proboscis has been removed." + . += span_boldannounce("It looks like the proboscis has been removed.") /obj/item/clothing/mask/facehugger/should_atmos_process(datum/gas_mixture/air, exposed_temperature) return (exposed_temperature > 300) @@ -160,8 +160,8 @@ if(target.wear_mask && istype(target.wear_mask, /obj/item/clothing/mask/facehugger)) return FALSE // passed initial checks - time to leap! - M.visible_message("[src] leaps at [M]'s face!", \ - "[src] leaps at your face!") + M.visible_message(span_danger("[src] leaps at [M]'s face!"), \ + span_userdanger("[src] leaps at your face!")) // probiscis-blocker handling if(iscarbon(M)) @@ -170,16 +170,16 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.is_mouth_covered(head_only = 1)) - H.visible_message("[src] smashes against [H]'s [H.head]!", \ - "[src] smashes against your [H.head]!") + H.visible_message(span_danger("[src] smashes against [H]'s [H.head]!"), \ + span_userdanger("[src] smashes against your [H.head]!")) Die() return FALSE if(target.wear_mask) var/obj/item/clothing/W = target.wear_mask if(target.dropItemToGround(W)) - target.visible_message("[src] tears [W] off of [target]'s face!", \ - "[src] tears [W] off of your face!") + target.visible_message(span_danger("[src] tears [W] off of [target]'s face!"), \ + span_userdanger("[src] tears [W] off of your face!")) target.equip_to_slot_if_possible(src, ITEM_SLOT_MASK, 0, 1, 1) return TRUE // time for a smoke @@ -213,8 +213,8 @@ return if(!sterile) - target.visible_message("[src] falls limp after violating [target]'s face!", \ - "[src] falls limp after violating your face!") + target.visible_message(span_danger("[src] falls limp after violating [target]'s face!"), \ + span_userdanger("[src] falls limp after violating your face!")) Die() icon_state = "[base_icon_state]_impregnated" @@ -227,8 +227,8 @@ log_game("[key_name(target)] was impregnated by a facehugger at [loc_name(T)]") else - target.visible_message("[src] violates [target]'s face!", \ - "[src] violates your face!") + target.visible_message(span_danger("[src] violates [target]'s face!"), \ + span_userdanger("[src] violates your face!")) /obj/item/clothing/mask/facehugger/proc/GoActive() if(stat == DEAD || stat == CONSCIOUS) @@ -257,7 +257,7 @@ inhand_icon_state = "facehugger_inactive" stat = DEAD - visible_message("[src] curls up into a ball!") + visible_message(span_danger("[src] curls up into a ball!")) /proc/CanHug(mob/living/M) if(!istype(M)) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 9fe77fc00bc..aebfebabdc8 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -30,7 +30,7 @@ . = ..() if(!.) var/obj/item/held_item = get_active_held_item() - to_chat(usr, "Your other hand is too busy holding [held_item].") + to_chat(usr, span_warning("Your other hand is too busy holding [held_item].")) return if(!held_index) @@ -109,8 +109,8 @@ take_bodypart_damage(10 + 5 * extra_speed, check_armor = TRUE, wound_bonus = extra_speed * 5) victim.Paralyze(2 SECONDS) Paralyze(2 SECONDS) - visible_message("[src] crashes into [victim][extra_speed ? " really hard" : ""], knocking them both over!",\ - "You violently crash into [victim][extra_speed ? " extra hard" : ""]!") + visible_message(span_danger("[src] crashes into [victim][extra_speed ? " really hard" : ""], knocking them both over!"),\ + span_userdanger("You violently crash into [victim][extra_speed ? " extra hard" : ""]!")) playsound(src,'sound/weapons/punch1.ogg',50,TRUE) @@ -160,7 +160,7 @@ thrown_thing = throwable_mob stop_pulling() if(HAS_TRAIT(src, TRAIT_PACIFISM)) - to_chat(src, "You gently let go of [throwable_mob].") + to_chat(src, span_notice("You gently let go of [throwable_mob].")) return else thrown_thing = I.on_thrown(src, target) @@ -181,8 +181,8 @@ power_throw++ if(pulling && grab_state >= GRAB_NECK) power_throw++ - visible_message("[src] throws [thrown_thing][power_throw ? " really hard!" : "."]", \ - "You throw [thrown_thing][power_throw ? " really hard!" : "."]") + visible_message(span_danger("[src] throws [thrown_thing][power_throw ? " really hard!" : "."]"), \ + span_danger("You throw [thrown_thing][power_throw ? " really hard!" : "."]")) log_message("has thrown [thrown_thing] [power_throw ? "really hard" : ""]", LOG_ATTACK) newtonian_move(get_dir(target, src)) thrown_thing.safe_throw_at(target, thrown_thing.throw_range, thrown_thing.throw_speed + power_throw, src, null, null, null, move_force) @@ -227,15 +227,15 @@ if(handcuffed) var/obj/item/restraints/O = src.get_item_by_slot(ITEM_SLOT_HANDCUFFED) buckle_cd = O.breakouttime - visible_message("[src] attempts to unbuckle [p_them()]self!", \ - "You attempt to unbuckle yourself... (This will take around [round(buckle_cd/600,1)] minute\s, and you need to stay still.)") + visible_message(span_warning("[src] attempts to unbuckle [p_them()]self!"), \ + span_notice("You attempt to unbuckle yourself... (This will take around [round(buckle_cd/600,1)] minute\s, and you need to stay still.)")) if(do_after(src, buckle_cd, target = src, timed_action_flags = IGNORE_HELD_ITEM)) if(!buckled) return buckled.user_unbuckle_mob(src,src) else if(src && buckled) - to_chat(src, "You fail to unbuckle yourself!") + to_chat(src, span_warning("You fail to unbuckle yourself!")) else buckled.user_unbuckle_mob(src,src) @@ -243,12 +243,12 @@ adjust_fire_stacks(-5) Paralyze(60, ignore_canstun = TRUE) spin(32,2) - visible_message("[src] rolls on the floor, trying to put [p_them()]self out!", \ - "You stop, drop, and roll!") + visible_message(span_danger("[src] rolls on the floor, trying to put [p_them()]self out!"), \ + span_notice("You stop, drop, and roll!")) sleep(30) if(fire_stacks <= 0 && !QDELETED(src)) - visible_message("[src] successfully extinguishes [p_them()]self!", \ - "You extinguish yourself.") + visible_message(span_danger("[src] successfully extinguishes [p_them()]self!"), \ + span_notice("You extinguish yourself.")) extinguish_mob() return @@ -273,26 +273,26 @@ /mob/living/carbon/proc/cuff_resist(obj/item/I, breakouttime = 1 MINUTES, cuff_break = 0) if(I.item_flags & BEING_REMOVED) - to_chat(src, "You're already attempting to remove [I]!") + to_chat(src, span_warning("You're already attempting to remove [I]!")) return I.item_flags |= BEING_REMOVED breakouttime = I.breakouttime if(!cuff_break) - visible_message("[src] attempts to remove [I]!") - to_chat(src, "You attempt to remove [I]... (This will take around [DisplayTimeText(breakouttime)] and you need to stand still.)") + visible_message(span_warning("[src] attempts to remove [I]!")) + to_chat(src, span_notice("You attempt to remove [I]... (This will take around [DisplayTimeText(breakouttime)] and you need to stand still.)")) if(do_after(src, breakouttime, target = src, timed_action_flags = IGNORE_HELD_ITEM)) . = clear_cuffs(I, cuff_break) else - to_chat(src, "You fail to remove [I]!") + to_chat(src, span_warning("You fail to remove [I]!")) else if(cuff_break == FAST_CUFFBREAK) breakouttime = 50 - visible_message("[src] is trying to break [I]!") - to_chat(src, "You attempt to break [I]... (This will take around 5 seconds and you need to stand still.)") + visible_message(span_warning("[src] is trying to break [I]!")) + to_chat(src, span_notice("You attempt to break [I]... (This will take around 5 seconds and you need to stand still.)")) if(do_after(src, breakouttime, target = src, timed_action_flags = IGNORE_HELD_ITEM)) . = clear_cuffs(I, cuff_break) else - to_chat(src, "You fail to break [I]!") + to_chat(src, span_warning("You fail to break [I]!")) else if(cuff_break == INSTANT_CUFFBREAK) . = clear_cuffs(I, cuff_break) @@ -334,8 +334,8 @@ return FALSE if(I != handcuffed && I != legcuffed) return FALSE - visible_message("[src] manages to [cuff_break ? "break" : "remove"] [I]!") - to_chat(src, "You successfully [cuff_break ? "break" : "remove"] [I].") + visible_message(span_danger("[src] manages to [cuff_break ? "break" : "remove"] [I]!")) + to_chat(src, span_notice("You successfully [cuff_break ? "break" : "remove"] [I].")) if(cuff_break) . = !((I == handcuffed) || (I == legcuffed)) @@ -409,21 +409,21 @@ if(nutrition < 100 && !blood && !force) if(message) - visible_message("[src] dry heaves!", \ - "You try to throw up, but there's nothing in your stomach!") + visible_message(span_warning("[src] dry heaves!"), \ + span_userdanger("You try to throw up, but there's nothing in your stomach!")) if(stun) Paralyze(200) return TRUE if(is_mouth_covered()) //make this add a blood/vomit overlay later it'll be hilarious if(message) - visible_message("[src] throws up all over [p_them()]self!", \ - "You throw up all over yourself!") + visible_message(span_danger("[src] throws up all over [p_them()]self!"), \ + span_userdanger("You throw up all over yourself!")) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "vomit", /datum/mood_event/vomitself) distance = 0 else if(message) - visible_message("[src] throws up!", "You throw up!") + visible_message(span_danger("[src] throws up!"), span_userdanger("You throw up!")) if(!isflyperson(src)) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "vomit", /datum/mood_event/vomit) @@ -461,8 +461,8 @@ * * amount: int The amount of reagent */ /mob/living/carbon/proc/expel_ingested(atom/bite, amount) - visible_message("[src] throws up all over [p_them()]self!", \ - "You are unable to keep the [bite] down without a stomach!") + visible_message(span_danger("[src] throws up all over [p_them()]self!"), \ + span_userdanger("You are unable to keep the [bite] down without a stomach!")) var/turf/floor = get_turf(src) var/obj/effect/decal/cleanable/vomit/spew = new(floor, get_static_viruses()) @@ -880,7 +880,7 @@ O.Remove(src) O.forceMove(drop_location()) if(organs_amt) - to_chat(user, "You retrieve some of [src]\'s internal organs!") + to_chat(user, span_notice("You retrieve some of [src]\'s internal organs!")) remove_all_embedded_objects() /mob/living/carbon/extinguish_mob() @@ -992,21 +992,21 @@ if(BP) BP.drop_limb() else - to_chat(usr, "[src] doesn't have such bodypart.") + to_chat(usr, span_boldwarning("[src] doesn't have such bodypart.")) if("add") if(BP) - to_chat(usr, "[src] already has such bodypart.") + to_chat(usr, span_boldwarning("[src] already has such bodypart.")) else if(!regenerate_limb(result)) - to_chat(usr, "[src] cannot have such bodypart.") + to_chat(usr, span_boldwarning("[src] cannot have such bodypart.")) if("augment") if(ishuman(src)) if(BP) BP.change_bodypart_status(BODYPART_ROBOTIC, TRUE, TRUE) else - to_chat(usr, "[src] doesn't have such bodypart.") + to_chat(usr, span_boldwarning("[src] doesn't have such bodypart.")) else - to_chat(usr, "Only humans can be augmented.") + to_chat(usr, span_boldwarning("Only humans can be augmented.")) admin_ticket_log("[key_name_admin(usr)] has modified the bodyparts of [src]") if(href_list[VV_HK_MAKE_AI]) if(!check_rights(R_SPAWN)) @@ -1030,14 +1030,14 @@ if(!usr) return if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, span_boldwarning("Mob doesn't exist anymore.")) return if(result) var/chosenart = artnames[result] var/datum/martial_art/MA = new chosenart MA.teach(src) log_admin("[key_name(usr)] has taught [MA] to [key_name(src)].") - message_admins("[key_name_admin(usr)] has taught [MA] to [key_name_admin(src)].") + message_admins(span_notice("[key_name_admin(usr)] has taught [MA] to [key_name_admin(src)].")) if(href_list[VV_HK_GIVE_TRAUMA]) if(!check_rights(NONE)) return @@ -1053,13 +1053,13 @@ var/datum/brain_trauma/BT = gain_trauma(result) if(BT) log_admin("[key_name(usr)] has traumatized [key_name(src)] with [BT.name]") - message_admins("[key_name_admin(usr)] has traumatized [key_name_admin(src)] with [BT.name].") + message_admins(span_notice("[key_name_admin(usr)] has traumatized [key_name_admin(src)] with [BT.name].")) if(href_list[VV_HK_CURE_TRAUMA]) if(!check_rights(NONE)) return cure_all_traumas(TRAUMA_RESILIENCE_ABSOLUTE) log_admin("[key_name(usr)] has cured all traumas from [key_name(src)].") - message_admins("[key_name_admin(usr)] has cured all traumas from [key_name_admin(src)].") + message_admins(span_notice("[key_name_admin(usr)] has cured all traumas from [key_name_admin(src)].")) if(href_list[VV_HK_HALLUCINATION]) if(!check_rights(NONE)) return diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 74f2d490017..e9c1d809193 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -63,8 +63,8 @@ var/obj/item/I = AM I.attack_hand(src) if(get_active_held_item() == I) //if our attack_hand() picks up the item... - visible_message("[src] catches [I]!", \ - "You catch [I] in mid-air!") + visible_message(span_warning("[src] catches [I]!"), \ + span_userdanger("You catch [I] in mid-air!")) throw_mode_off(THROW_MODE_TOGGLE) return TRUE return ..() @@ -133,10 +133,10 @@ attack_message_victim = "[user] [message_verb_continuous] you[message_hit_area] with [I][extra_wound_details]!" if(user == src) attack_message_victim = "You [message_verb_simple] yourself[message_hit_area] with [I][extra_wound_details]!" - visible_message("[attack_message_spectator]",\ - "[attack_message_victim]", null, COMBAT_MESSAGE_RANGE, user) + visible_message(span_danger("[attack_message_spectator]"),\ + span_userdanger("[attack_message_victim]"), null, COMBAT_MESSAGE_RANGE, user) if(user != src) - to_chat(user, "[attack_message_attacker]") + to_chat(user, span_danger("[attack_message_attacker]")) return TRUE @@ -205,8 +205,8 @@ if(M.powerlevel < 0) M.powerlevel = 0 - visible_message("The [M.name] shocks [src]!", \ - "The [M.name] shocks you!") + visible_message(span_danger("The [M.name] shocks [src]!"), \ + span_userdanger("The [M.name] shocks you!")) do_sparks(5, TRUE, src) var/power = M.powerlevel + rand(0,3) @@ -280,9 +280,9 @@ if(target.IsKnockdown() && !target.IsParalyzed()) target.Paralyze(SHOVE_CHAIN_PARALYZE) - target.visible_message("[name] kicks [target.name] onto [target.p_their()] side!", - "You're kicked onto your side by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src) - to_chat(src, "You kick [target.name] onto [target.p_their()] side!") + target.visible_message(span_danger("[name] kicks [target.name] onto [target.p_their()] side!"), + span_userdanger("You're kicked onto your side by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You kick [target.name] onto [target.p_their()] side!")) addtimer(CALLBACK(target, /mob/living/proc/SetKnockdown, 0), SHOVE_CHAIN_PARALYZE) log_combat(src, target, "kicks", "onto their side (paralyzing)") @@ -301,36 +301,36 @@ break if((!target_table && !target_collateral_carbon && !target_disposal_bin) || directional_blocked) target.Knockdown(SHOVE_KNOCKDOWN_SOLID) - target.visible_message("[name] shoves [target.name], knocking [target.p_them()] down!", - "You're knocked down from a shove by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src) - to_chat(src, "You shove [target.name], knocking [target.p_them()] down!") + target.visible_message(span_danger("[name] shoves [target.name], knocking [target.p_them()] down!"), + span_userdanger("You're knocked down from a shove by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You shove [target.name], knocking [target.p_them()] down!")) log_combat(src, target, "shoved", "knocking them down") else if(target_table) target.Knockdown(SHOVE_KNOCKDOWN_TABLE) - target.visible_message("[name] shoves [target.name] onto \the [target_table]!", - "You're shoved onto \the [target_table] by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src) - to_chat(src, "You shove [target.name] onto \the [target_table]!") + target.visible_message(span_danger("[name] shoves [target.name] onto \the [target_table]!"), + span_userdanger("You're shoved onto \the [target_table] by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You shove [target.name] onto \the [target_table]!")) target.throw_at(target_table, 1, 1, null, FALSE) //1 speed throws with no spin are basically just forcemoves with a hard collision check log_combat(src, target, "shoved", "onto [target_table] (table)") else if(target_collateral_carbon) target.Knockdown(SHOVE_KNOCKDOWN_HUMAN) if(!target_collateral_carbon.is_shove_knockdown_blocked()) target_collateral_carbon.Knockdown(SHOVE_KNOCKDOWN_COLLATERAL) - target.visible_message("[name] shoves [target.name] into [target_collateral_carbon.name]!", - "You're shoved into [target_collateral_carbon.name] by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src) - to_chat(src, "You shove [target.name] into [target_collateral_carbon.name]!") + target.visible_message(span_danger("[name] shoves [target.name] into [target_collateral_carbon.name]!"), + span_userdanger("You're shoved into [target_collateral_carbon.name] by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You shove [target.name] into [target_collateral_carbon.name]!")) log_combat(src, target, "shoved", "into [target_collateral_carbon.name]") else if(target_disposal_bin) target.Knockdown(SHOVE_KNOCKDOWN_SOLID) target.forceMove(target_disposal_bin) - target.visible_message("[name] shoves [target.name] into \the [target_disposal_bin]!", - "You're shoved into \the [target_disposal_bin] by [target.name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src) - to_chat(src, "You shove [target.name] into \the [target_disposal_bin]!") + target.visible_message(span_danger("[name] shoves [target.name] into \the [target_disposal_bin]!"), + span_userdanger("You're shoved into \the [target_disposal_bin] by [target.name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You shove [target.name] into \the [target_disposal_bin]!")) log_combat(src, target, "shoved", "into [target_disposal_bin] (disposal bin)") else - target.visible_message("[name] shoves [target.name]!", - "You're shoved by [name]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, src) - to_chat(src, "You shove [target.name]!") + target.visible_message(span_danger("[name] shoves [target.name]!"), + span_userdanger("You're shoved by [name]!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You shove [target.name]!")) var/target_held_item = target.get_active_held_item() var/knocked_item = FALSE if(!is_type_in_typecache(target_held_item, GLOB.shove_disarming_types)) @@ -338,14 +338,14 @@ if(!target.has_movespeed_modifier(/datum/movespeed_modifier/shove)) target.add_movespeed_modifier(/datum/movespeed_modifier/shove) if(target_held_item) - target.visible_message("[target.name]'s grip on \the [target_held_item] loosens!", - "Your grip on \the [target_held_item] loosens!", null, COMBAT_MESSAGE_RANGE) + target.visible_message(span_danger("[target.name]'s grip on \the [target_held_item] loosens!"), + span_warning("Your grip on \the [target_held_item] loosens!"), null, COMBAT_MESSAGE_RANGE) addtimer(CALLBACK(target, /mob/living/carbon/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH) else if(target_held_item) target.dropItemToGround(target_held_item) knocked_item = TRUE - target.visible_message("[target.name] drops \the [target_held_item]!", - "You drop \the [target_held_item]!", null, COMBAT_MESSAGE_RANGE) + target.visible_message(span_danger("[target.name] drops \the [target_held_item]!"), + span_warning("You drop \the [target_held_item]!"), null, COMBAT_MESSAGE_RANGE) var/append_message = "" if(target_held_item) if(knocked_item) @@ -364,13 +364,13 @@ remove_movespeed_modifier(/datum/movespeed_modifier/shove) var/active_item = get_active_held_item() if(is_type_in_typecache(active_item, GLOB.shove_disarming_types)) - visible_message("[name] regains their grip on \the [active_item]!", "You regain your grip on \the [active_item]", null, COMBAT_MESSAGE_RANGE) + visible_message(span_warning("[name] regains their grip on \the [active_item]!"), span_warning("You regain your grip on \the [active_item]"), null, COMBAT_MESSAGE_RANGE) /mob/living/carbon/blob_act(obj/structure/blob/B) if (stat == DEAD) return else - show_message("The blob attacks!") + show_message(span_userdanger("The blob attacks!")) adjustBruteLoss(10) /mob/living/carbon/emp_act(severity) @@ -421,7 +421,7 @@ /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) if(on_fire) - to_chat(M, "You can't put [p_them()] out with just your bare hands!") + to_chat(M, span_warning("You can't put [p_them()] out with just your bare hands!")) return if(M == src && check_self_for_injuries()) @@ -429,30 +429,30 @@ if(body_position == LYING_DOWN) if(buckled) - to_chat(M, "You need to unbuckle [src] first to do that!") + to_chat(M, span_warning("You need to unbuckle [src] first to do that!")) return - M.visible_message("[M] shakes [src] trying to get [p_them()] up!", \ - null, "You hear the rustling of clothes.", DEFAULT_MESSAGE_RANGE, list(M, src)) - to_chat(M, "You shake [src] trying to pick [p_them()] up!") - to_chat(src, "[M] shakes you to get you up!") + M.visible_message(span_notice("[M] shakes [src] trying to get [p_them()] up!"), \ + null, span_hear("You hear the rustling of clothes."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_notice("You shake [src] trying to pick [p_them()] up!")) + to_chat(src, span_notice("[M] shakes you to get you up!")) else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) //Headpats! SEND_SIGNAL(src, COMSIG_CARBON_HEADPAT, M) - M.visible_message("[M] gives [src] a pat on the head to make [p_them()] feel better!", \ - null, "You hear a soft patter.", DEFAULT_MESSAGE_RANGE, list(M, src)) - to_chat(M, "You give [src] a pat on the head to make [p_them()] feel better!") - to_chat(src, "[M] gives you a pat on the head to make you feel better! ") + M.visible_message(span_notice("[M] gives [src] a pat on the head to make [p_them()] feel better!"), \ + null, span_hear("You hear a soft patter."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_notice("You give [src] a pat on the head to make [p_them()] feel better!")) + to_chat(src, span_notice("[M] gives you a pat on the head to make you feel better! ")) if(HAS_TRAIT(src, TRAIT_BADTOUCH)) - to_chat(M, "[src] looks visibly upset as you pat [p_them()] on the head.") + to_chat(M, span_warning("[src] looks visibly upset as you pat [p_them()] on the head.")) else SEND_SIGNAL(src, COMSIG_CARBON_HUGGED, M) SEND_SIGNAL(M, COMSIG_CARBON_HUG, M, src) - M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ - null, "You hear the rustling of clothes.", DEFAULT_MESSAGE_RANGE, list(M, src)) - to_chat(M, "You hug [src] to make [p_them()] feel better!") - to_chat(src, "[M] hugs you to make you feel better!") + M.visible_message(span_notice("[M] hugs [src] to make [p_them()] feel better!"), \ + null, span_hear("You hear the rustling of clothes."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_notice("You hug [src] to make [p_them()] feel better!")) + to_chat(src, span_notice("[M] hugs you to make you feel better!")) // Warm them up with hugs share_bodytemperature(M) @@ -468,14 +468,14 @@ // Let people know if they hugged someone really warm or really cold if(M.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) - to_chat(src, "It feels like [M] is over heating as [M.p_they()] hug[M.p_s()] you.") + to_chat(src, span_warning("It feels like [M] is over heating as [M.p_they()] hug[M.p_s()] you.")) else if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) - to_chat(src, "It feels like [M] is freezing as [M.p_they()] hug[M.p_s()] you.") + to_chat(src, span_warning("It feels like [M] is freezing as [M.p_they()] hug[M.p_s()] you.")) if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) - to_chat(M, "It feels like [src] is over heating as you hug [p_them()].") + to_chat(M, span_warning("It feels like [src] is over heating as you hug [p_them()].")) else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) - to_chat(M, "It feels like [src] is freezing as you hug [p_them()].") + to_chat(M, span_warning("It feels like [src] is freezing as you hug [p_them()].")) if(HAS_TRAIT(M, TRAIT_FRIENDLY)) var/datum/component/mood/hugger_mood = M.GetComponent(/datum/component/mood) @@ -486,7 +486,7 @@ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "friendly_hug", /datum/mood_event/betterhug, M) if(HAS_TRAIT(src, TRAIT_BADTOUCH)) - to_chat(M, "[src] looks visibly upset as you hug [p_them()].") + to_chat(M, span_warning("[src] looks visibly upset as you hug [p_them()].")) AdjustStun(-60) AdjustKnockdown(-60) @@ -519,8 +519,8 @@ if(!embeds) embeds = TRUE // this way, we only visibly try to examine ourselves if we have something embedded, otherwise we'll still hug ourselves :) - visible_message("[src] examines [p_them()]self.", \ - "You check yourself for shrapnel.") + visible_message(span_notice("[src] examines [p_them()]self."), \ + span_notice("You check yourself for shrapnel.")) if(I.isEmbedHarmless()) to_chat(src, "\t There is \a [I] stuck to your [LB.name]!") else @@ -542,16 +542,16 @@ return if (damage == 1) - to_chat(src, "Your eyes sting a little.") + to_chat(src, span_warning("Your eyes sting a little.")) if(prob(40)) eyes.applyOrganDamage(1) else if (damage == 2) - to_chat(src, "Your eyes burn.") + to_chat(src, span_warning("Your eyes burn.")) eyes.applyOrganDamage(rand(2, 4)) else if( damage >= 3) - to_chat(src, "Your eyes itch and burn severely!") + to_chat(src, span_warning("Your eyes itch and burn severely!")) eyes.applyOrganDamage(rand(12, 16)) if(eyes.damage > 10) @@ -561,20 +561,20 @@ if(eyes.damage > 20) if(prob(eyes.damage - 20)) if(!HAS_TRAIT(src, TRAIT_NEARSIGHT)) - to_chat(src, "Your eyes start to burn badly!") + to_chat(src, span_warning("Your eyes start to burn badly!")) become_nearsighted(EYE_DAMAGE) else if(prob(eyes.damage - 25)) if(!is_blind()) - to_chat(src, "You can't see anything!") + to_chat(src, span_warning("You can't see anything!")) eyes.applyOrganDamage(eyes.maxHealth) else - to_chat(src, "Your eyes are really starting to hurt. This can't be good for you!") + to_chat(src, span_warning("Your eyes are really starting to hurt. This can't be good for you!")) return 1 else if(damage == 0) // just enough protection if(prob(20)) - to_chat(src, "Something bright flashes in the corner of your vision!") + to_chat(src, span_notice("Something bright flashes in the corner of your vision!")) /mob/living/carbon/soundbang_act(intensity = 1, stun_pwr = 20, damage_pwr = 5, deafen_pwr = 15) @@ -595,13 +595,13 @@ ears.adjustEarDamage(ear_damage,deaf) if(ears.damage >= 15) - to_chat(src, "Your ears start to ring badly!") + to_chat(src, span_warning("Your ears start to ring badly!")) if(prob(ears.damage - 5)) - to_chat(src, "You can't hear anything!") + to_chat(src, span_userdanger("You can't hear anything!")) ears.damage = min(ears.damage, ears.maxHealth) // does this actually do anything useful? all this would do is set an upper bound on damage, is this supposed to be a max? // you need earmuffs, inacusiate, or replacement else if(ears.damage >= 5) - to_chat(src, "Your ears start to ring!") + to_chat(src, span_warning("Your ears start to ring!")) SEND_SOUND(src, sound('sound/weapons/flash_ring.ogg',0,1,0,250)) return effect_amount //how soundbanged we are @@ -669,17 +669,17 @@ return var/starting_hand_index = active_hand_index if(starting_hand_index == grasped_part.held_index) - to_chat(src, "You can't grasp your [grasped_part.name] with itself!") + to_chat(src, span_danger("You can't grasp your [grasped_part.name] with itself!")) return - to_chat(src, "You try grasping at your [grasped_part.name], trying to stop the bleeding...") + to_chat(src, span_warning("You try grasping at your [grasped_part.name], trying to stop the bleeding...")) if(!do_after(src, 1.5 SECONDS)) - to_chat(src, "You fail to grasp your [grasped_part.name].") + to_chat(src, span_danger("You fail to grasp your [grasped_part.name].")) return var/obj/item/self_grasp/grasp = new if(starting_hand_index != active_hand_index || !put_in_active_hand(grasp)) - to_chat(src, "You fail to grasp your [grasped_part.name].") + to_chat(src, span_danger("You fail to grasp your [grasped_part.name].")) QDEL_NULL(grasp) return grasp.grasp_limb(grasped_part) @@ -701,7 +701,7 @@ /obj/item/self_grasp/Destroy() if(user) - to_chat(user, "You stop holding onto your[grasped_part ? " [grasped_part.name]" : "self"].") + to_chat(user, span_warning("You stop holding onto your[grasped_part ? " [grasped_part.name]" : "self"].")) UnregisterSignal(user, COMSIG_PARENT_QDELETING) if(grasped_part) UnregisterSignal(grasped_part, list(COMSIG_CARBON_REMOVE_LIMB, COMSIG_PARENT_QDELETING)) @@ -728,7 +728,7 @@ RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/qdel_void) RegisterSignal(grasped_part, list(COMSIG_CARBON_REMOVE_LIMB, COMSIG_PARENT_QDELETING), .proc/qdel_void) - user.visible_message("[user] grasps at [user.p_their()] [grasped_part.name], trying to stop the bleeding.", "You grab hold of your [grasped_part.name] tightly.", vision_distance=COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] grasps at [user.p_their()] [grasped_part.name], trying to stop the bleeding."), span_notice("You grab hold of your [grasped_part.name] tightly."), vision_distance=COMBAT_MESSAGE_RANGE) playsound(get_turf(src), 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) return TRUE diff --git a/code/modules/mob/living/carbon/carbon_stripping.dm b/code/modules/mob/living/carbon/carbon_stripping.dm index 732ed3bf720..74bd076bcb5 100644 --- a/code/modules/mob/living/carbon/carbon_stripping.dm +++ b/code/modules/mob/living/carbon/carbon_stripping.dm @@ -78,7 +78,7 @@ var/mob/mob_source = source if (!mob_source.can_put_in_hand(equipping, hand_index)) - to_chat(src, "\The [equipping] doesn't fit in that place!") + to_chat(src, span_warning("\The [equipping] doesn't fit in that place!")) return FALSE return TRUE diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index f444e14eafa..95dff282839 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -30,7 +30,7 @@ var/atom/Tsec = drop_location() for(var/mob/M in src) M.forceMove(Tsec) - visible_message("[M] bursts out of [src]!") + visible_message(span_danger("[M] bursts out of [src]!")) . = ..() /mob/living/carbon/spill_organs(no_brain, no_organs, no_bodyparts) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 0455bb0059b..d265f823765 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -103,11 +103,11 @@ /datum/emote/living/carbon/circle/run_emote(mob/user, params, type_override, intentional) . = ..() if(!length(user.get_empty_held_indexes())) - to_chat(user, "You don't have any free hands to make a circle with.") + to_chat(user, span_warning("You don't have any free hands to make a circle with.")) return var/obj/item/circlegame/N = new(user) if(user.put_in_hands(N)) - to_chat(user, "You make a circle with your hand.") + to_chat(user, span_notice("You make a circle with your hand.")) /datum/emote/living/carbon/slap key = "slap" @@ -121,10 +121,10 @@ return var/obj/item/slapper/N = new(user) if(user.put_in_hands(N)) - to_chat(user, "You ready your slapping hand.") + to_chat(user, span_notice("You ready your slapping hand.")) else qdel(N) - to_chat(user, "You're incapable of slapping in your current state.") + to_chat(user, span_warning("You're incapable of slapping in your current state.")) /datum/emote/living/carbon/noogie key = "noogie" @@ -137,8 +137,8 @@ return var/obj/item/noogie/noogie = new(user) if(user.put_in_hands(noogie)) - to_chat(user, "You ready your noogie'ing hand.") + to_chat(user, span_notice("You ready your noogie'ing hand.")) else qdel(noogie) - to_chat(user, "You're incapable of noogie'ing in your current state.") + to_chat(user, span_warning("You're incapable of noogie'ing in your current state.")) diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index d00cba54e68..2b8d710bb60 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -10,7 +10,7 @@ var/obscured = check_obscured_slots() if (handcuffed) - . += "[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!" + . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!") if (head) . += "[t_He] [t_is] wearing [head.get_examine_string(user)] on [t_his] head. " if(wear_mask && !(obscured & ITEM_SLOT_MASK)) @@ -28,9 +28,9 @@ if (stat == DEAD) appears_dead = TRUE if(getorgan(/obj/item/organ/brain)) - . += "[t_He] [t_is] limp and unresponsive, with no signs of life." + . += span_deadsay("[t_He] [t_is] limp and unresponsive, with no signs of life.") else if(get_bodypart(BODY_ZONE_HEAD)) - . += "It appears that [t_his] brain is missing..." + . += span_deadsay("It appears that [t_his] brain is missing...") var/list/msg = list("") var/list/missing = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) @@ -60,9 +60,9 @@ for(var/t in missing) if(t==BODY_ZONE_HEAD) - msg += "[t_His] [parse_zone(t)] is missing!\n" + msg += "[span_deadsay("[t_His] [parse_zone(t)] is missing!")]\n" continue - msg += "[t_His] [parse_zone(t)] is missing!\n" + msg += "[span_warning("[t_His] [parse_zone(t)] is missing!")]\n" var/temp = getBruteLoss() @@ -112,13 +112,13 @@ switch(scar_severity) if(1 to 4) - msg += "[t_He] [t_has] visible scarring, you can look again to take a closer look...\n" + msg += "[span_tinynoticeital("[t_He] [t_has] visible scarring, you can look again to take a closer look...")]\n" if(5 to 8) - msg += "[t_He] [t_has] several bad scars, you can look again to take a closer look...\n" + msg += "[span_smallnoticeital("[t_He] [t_has] several bad scars, you can look again to take a closer look...")]\n" if(9 to 11) - msg += "[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...\n" + msg += "[span_notice("[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...")]\n" if(12 to INFINITY) - msg += "[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...\n" + msg += "[span_notice("[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...")]\n" msg += "" @@ -167,7 +167,7 @@ if(!visible_scars) return ..() - var/msg = list("You examine [src] closer, and note the following...") + var/msg = list(span_notice("You examine [src] closer, and note the following...")) for(var/i in visible_scars) var/datum/scar/S = i var/scar_text = S.get_examine_description(user) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 34fa24f19ed..28cb9aee141 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -40,7 +40,7 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift) SSblackbox.ReportDeath(src) log_message("has died (BRUTE: [src.getBruteLoss()], BURN: [src.getFireLoss()], TOX: [src.getToxLoss()], OXY: [src.getOxyLoss()], CLONE: [src.getCloneLoss()])", LOG_ATTACK) - to_chat(src, "You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.") + to_chat(src, span_warning("You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.")) /mob/living/carbon/human/proc/makeSkeleton() ADD_TRAIT(src, TRAIT_DISFIGURED, TRAIT_GENERIC) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 141e3c3962d..dd1cc38ac62 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -53,14 +53,14 @@ . += "[t_He] [t_has] [gloves.get_examine_string(user)] on [t_his] hands." else if(FR && length(FR.blood_DNA)) if(num_hands) - . += "[t_He] [t_has] [num_hands > 1 ? "" : "a"] blood-stained hand[num_hands > 1 ? "s" : ""]!" + . += span_warning("[t_He] [t_has] [num_hands > 1 ? "" : "a"] blood-stained hand[num_hands > 1 ? "s" : ""]!") //handcuffed? if(handcuffed) if(istype(handcuffed, /obj/item/restraints/handcuffs/cable)) - . += "[t_He] [t_is] [icon2html(handcuffed, user)] restrained with cable!" + . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] restrained with cable!") else - . += "[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!" + . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!") //belt if(belt && !(belt.item_flags & EXAMINE_SKIP)) @@ -82,7 +82,7 @@ if(glasses && !(glasses.item_flags & EXAMINE_SKIP)) . += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes." else if(eye_color == BLOODCULT_EYE && IS_CULTIST(src) && HAS_TRAIT(src, CULT_EYES)) - . += "[t_His] eyes are glowing an unnatural red!" + . += span_warning("[t_His] eyes are glowing an unnatural red!") //ears if(ears && !(obscured & ITEM_SLOT_EARS) && !(ears.item_flags & EXAMINE_SKIP)) @@ -102,11 +102,11 @@ //Jitters switch(jitteriness) if(300 to INFINITY) - . += "[t_He] [t_is] convulsing violently!" + . += span_warning("[t_He] [t_is] convulsing violently!") if(200 to 300) - . += "[t_He] [t_is] extremely jittery." + . += span_warning("[t_He] [t_is] extremely jittery.") if(100 to 200) - . += "[t_He] [t_is] twitching ever so slightly." + . += span_warning("[t_He] [t_is] twitching ever so slightly.") var/appears_dead = FALSE var/just_sleeping = FALSE @@ -122,12 +122,12 @@ if(!just_sleeping) if(suiciding) - . += "[t_He] appear[p_s()] to have committed suicide... there is no hope of recovery." + . += span_warning("[t_He] appear[p_s()] to have committed suicide... there is no hope of recovery.") . += generate_death_examine_text() if(get_bodypart(BODY_ZONE_HEAD) && !getorgan(/obj/item/organ/brain)) - . += "It appears that [t_his] brain is missing..." + . += span_deadsay("It appears that [t_his] brain is missing...") var/list/msg = list() @@ -246,7 +246,7 @@ if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) msg += "[t_He] look[p_s()] like pale death.\n" if(-INFINITY to BLOOD_VOLUME_BAD) - msg += "[t_He] resemble[p_s()] a crushed, empty juice pouch.\n" + msg += "[span_deadsay("[t_He] resemble[p_s()] a crushed, empty juice pouch.")]\n" if(is_bleeding()) var/list/obj/item/bodypart/bleeding_limbs = list() @@ -354,9 +354,9 @@ msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n" if(getorgan(/obj/item/organ/brain)) if(ai_controller?.ai_status == AI_STATUS_ON) - msg += "[t_He] do[t_es]n't appear to be [t_him]self.\n" + msg += "[span_deadsay("[t_He] do[t_es]n't appear to be [t_him]self.")]\n" if(!key) - msg += "[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.\n" + msg += "[span_deadsay("[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.")]\n" else if(!client) msg += "[t_He] [t_has] a blank, absent-minded stare and appears completely unresponsive to anything. [t_He] may snap out of it soon.\n" @@ -368,17 +368,17 @@ switch(scar_severity) if(1 to 4) - msg += "[t_He] [t_has] visible scarring, you can look again to take a closer look...\n" + msg += "[span_tinynoticeital("[t_He] [t_has] visible scarring, you can look again to take a closer look...")]\n" if(5 to 8) - msg += "[t_He] [t_has] several bad scars, you can look again to take a closer look...\n" + msg += "[span_smallnoticeital("[t_He] [t_has] several bad scars, you can look again to take a closer look...")]\n" if(9 to 11) - msg += "[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...\n" + msg += "[span_notice("[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...")]\n" if(12 to INFINITY) - msg += "[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...\n" + msg += "[span_notice("[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...")]\n" if (length(msg)) - . += "[msg.Join("")]" + . += span_warning("[msg.Join("")]") var/trait_exam = common_trait_examine() if (!isnull(trait_exam)) @@ -423,7 +423,7 @@ "\[View comment log\]", "\[Add comment\]"), "") else if(isobserver(user)) - . += "Traits: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]" + . += span_info("Traits: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]") . += "*---------*" SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 2c6f09aeb48..002b4162acb 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -50,8 +50,8 @@ /mob/living/carbon/human/ZImpactDamage(turf/T, levels) if(!HAS_TRAIT(src, TRAIT_FREERUNNING) || levels > 1) // falling off one level return ..() - visible_message("[src] makes a hard landing on [T] but remains unharmed from the fall.", \ - "You brace for the fall. You make a hard landing on [T] but remain unharmed.") + visible_message(span_danger("[src] makes a hard landing on [T] but remains unharmed from the fall."), \ + span_userdanger("You brace for the fall. You make a hard landing on [T] but remain unharmed.")) Knockdown(levels * 40) /mob/living/carbon/human/prepare_data_huds() @@ -99,7 +99,7 @@ if(href_list["item"]) //canUseTopic check for this is handled by mob/Topic() var/slot = text2num(href_list["item"]) if(check_obscured_slots(TRUE) & slot) - to_chat(usr, "You can't reach that! Something is covering it.") + to_chat(usr, span_warning("You can't reach that! Something is covering it.")) return ///////HUDs/////// @@ -132,7 +132,7 @@ return if(href_list["evaluation"]) if(!getBruteLoss() && !getFireLoss() && !getOxyLoss() && getToxLoss() < 20) - to_chat(usr, "No external injuries detected.
    ") + to_chat(usr, "[span_notice("No external injuries detected.")]
    ") return var/span = "notice" var/status = "" @@ -169,15 +169,15 @@ if(burndamage) to_chat(usr, "[BP] appears to have [status]") if(getOxyLoss()) - to_chat(usr, "Patient has signs of suffocation, emergency treatment may be required!") + to_chat(usr, span_danger("Patient has signs of suffocation, emergency treatment may be required!")) if(getToxLoss() > 20) - to_chat(usr, "Gathered data is inconsistent with the analysis, possible cause: poisoning.") + to_chat(usr, span_danger("Gathered data is inconsistent with the analysis, possible cause: poisoning.")) if(!H.wear_id) //You require access from here on out. - to_chat(H, "ERROR: Invalid access") + to_chat(H, span_warning("ERROR: Invalid access")) return var/list/access = H.wear_id.GetAccess() if(!(ACCESS_MEDICAL in access)) - to_chat(H, "ERROR: Invalid access") + to_chat(H, span_warning("ERROR: Invalid access")) return if(href_list["p_stat"]) var/health_status = input(usr, "Specify a new physical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("Active", "Physically Unfit", "*Unconscious*", "*Deceased*", "Cancel") @@ -226,15 +226,15 @@ allowed_access = H.get_authentification_name() if(!allowed_access) - to_chat(H, "ERROR: Invalid access.") + to_chat(H, span_warning("ERROR: Invalid access.")) return if(!perpname) - to_chat(H, "ERROR: Can not identify target.") + to_chat(H, span_warning("ERROR: Can not identify target.")) return R = find_record("name", perpname, GLOB.data_core.security) if(!R) - to_chat(usr, "ERROR: Unable to locate data core entry for target.") + to_chat(usr, span_warning("ERROR: Unable to locate data core entry for target.")) return if(href_list["status"]) var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Paroled", "Discharged", "Cancel") @@ -278,7 +278,7 @@ if(!HAS_TRAIT(H, TRAIT_SECURITY_HUD)) return if(fine < 0) - to_chat(usr, "You're pretty sure that's not how money works.") + to_chat(usr, span_warning("You're pretty sure that's not how money works.")) return fine = min(fine, maxFine) @@ -311,7 +311,7 @@ var/crime = GLOB.data_core.createCrimeEntry(t1, null, allowed_access, station_time_timestamp()) GLOB.data_core.addCrime(R.fields["id"], crime) investigate_log("New Crime: [t1] | Added to [R.fields["name"]] by [key_name(usr)]", INVESTIGATE_RECORDS) - to_chat(usr, "Successfully added a crime.") + to_chat(usr, span_notice("Successfully added a crime.")) return if(href_list["add_details"]) @@ -325,7 +325,7 @@ if(href_list["cdataid"]) GLOB.data_core.addCrimeDetails(R.fields["id"], href_list["cdataid"], t1) investigate_log("New Crime details: [t1] | Added to [R.fields["name"]] by [key_name(usr)]", INVESTIGATE_RECORDS) - to_chat(usr, "Successfully added details.") + to_chat(usr, span_notice("Successfully added details.")) return if(href_list["view_comment"]) @@ -353,7 +353,7 @@ while(R.fields[text("com_[]", counter)]) counter++ R.fields[text("com_[]", counter)] = text("Made by [] on [] [], []
    []", allowed_access, station_time_timestamp(), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1) - to_chat(usr, "Successfully added comment.") + to_chat(usr, span_notice("Successfully added comment.")) return ..() //end of this massive fucking chain. TODO: make the hud chain not spooky. - Yeah, great job doing that. @@ -385,7 +385,7 @@ if(!. && (injection_flags & INJECT_TRY_SHOW_ERROR_MESSAGE) && user) var/obj/item/bodypart/the_part = get_bodypart(target_zone) || get_bodypart(BODY_ZONE_CHEST) - to_chat(user, "There is no exposed flesh or thin material on [p_their()] [the_part.name].") + to_chat(user, span_alert("There is no exposed flesh or thin material on [p_their()] [the_part.name].")) /mob/living/carbon/human/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) if(judgement_criteria & JUDGE_EMAGGED) @@ -472,7 +472,7 @@ for(var/obj/item/hand in held_items) if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && dropItemToGround(hand)) step_towards(hand, src) - to_chat(src, "\The [S] pulls \the [hand] from your grip!") + to_chat(src, span_warning("\The [S] pulls \the [hand] from your grip!")) rad_act(current_size * 3) #define CPR_PANIC_SPEED (0.8 SECONDS) @@ -491,50 +491,50 @@ return FALSE if (target.stat == DEAD || HAS_TRAIT(target, TRAIT_FAKEDEATH)) - to_chat(src, "[target.name] is dead!") + to_chat(src, span_warning("[target.name] is dead!")) return FALSE if (is_mouth_covered()) - to_chat(src, "Remove your mask first!") + to_chat(src, span_warning("Remove your mask first!")) return FALSE if (target.is_mouth_covered()) - to_chat(src, "Remove [p_their()] mask first!") + to_chat(src, span_warning("Remove [p_their()] mask first!")) return FALSE if (!getorganslot(ORGAN_SLOT_LUNGS)) - to_chat(src, "You have no lungs to breathe with, so you cannot perform CPR!") + to_chat(src, span_warning("You have no lungs to breathe with, so you cannot perform CPR!")) return FALSE if (HAS_TRAIT(src, TRAIT_NOBREATH)) - to_chat(src, "You do not breathe, so you cannot perform CPR!") + to_chat(src, span_warning("You do not breathe, so you cannot perform CPR!")) return FALSE - visible_message("[src] is trying to perform CPR on [target.name]!", \ - "You try to perform CPR on [target.name]... Hold still!") + visible_message(span_notice("[src] is trying to perform CPR on [target.name]!"), \ + span_notice("You try to perform CPR on [target.name]... Hold still!")) if (!do_mob(src, target, time = panicking ? CPR_PANIC_SPEED : (3 SECONDS))) - to_chat(src, "You fail to perform CPR on [target]!") + to_chat(src, span_warning("You fail to perform CPR on [target]!")) return FALSE if (target.health > target.crit_threshold) return FALSE - visible_message("[src] performs CPR on [target.name]!", "You perform CPR on [target.name].") + visible_message(span_notice("[src] performs CPR on [target.name]!"), span_notice("You perform CPR on [target.name].")) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "saved_life", /datum/mood_event/saved_life) log_combat(src, target, "CPRed") if (HAS_TRAIT(target, TRAIT_NOBREATH)) - to_chat(target, "You feel a breath of fresh air... which is a sensation you don't recognise...") + to_chat(target, span_unconscious("You feel a breath of fresh air... which is a sensation you don't recognise...")) else if (!target.getorganslot(ORGAN_SLOT_LUNGS)) - to_chat(target, "You feel a breath of fresh air... but you don't feel any better...") + to_chat(target, span_unconscious("You feel a breath of fresh air... but you don't feel any better...")) else target.adjustOxyLoss(-min(target.getOxyLoss(), 7)) - to_chat(target, "You feel a breath of fresh air enter your lungs... It feels good...") + to_chat(target, span_unconscious("You feel a breath of fresh air enter your lungs... It feels good...")) if (target.health <= target.crit_threshold) if (!panicking) - to_chat(src, "[target] still isn't up! You try harder!") + to_chat(src, span_warning("[target] still isn't up! You try harder!")) panicking = TRUE else panicking = FALSE @@ -678,8 +678,8 @@ if(!I.loc || buckled) return FALSE if(I == wear_suit) - visible_message("[src] manages to [cuff_break ? "break" : "remove"] [I]!") - to_chat(src, "You successfully [cuff_break ? "break" : "remove"] [I].") + visible_message(span_danger("[src] manages to [cuff_break ? "break" : "remove"] [I]!")) + to_chat(src, span_notice("You successfully [cuff_break ? "break" : "remove"] [I].")) return TRUE /mob/living/carbon/human/replace_records_name(oldname,newname) // Only humans have records right now, move this up if changed. @@ -765,8 +765,8 @@ /mob/living/carbon/human/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, vomit_type = VOMIT_TOXIC, harm = TRUE, force = FALSE, purge_ratio = 0.1) if(blood && (NOBLOOD in dna.species.species_traits) && !HAS_TRAIT(src, TRAIT_TOXINLOVER)) if(message) - visible_message("[src] dry heaves!", \ - "You try to throw up, but there's nothing in your stomach!") + visible_message(span_warning("[src] dry heaves!"), \ + span_userdanger("You try to throw up, but there's nothing in your stomach!")) if(stun) Paralyze(200) return 1 @@ -878,14 +878,14 @@ if(success) to_chat(usr, "Put [src] on purrbation.") log_admin("[key_name(usr)] has put [key_name(src)] on purrbation.") - var/msg = "[key_name_admin(usr)] has put [key_name(src)] on purrbation." + var/msg = span_notice("[key_name_admin(usr)] has put [key_name(src)] on purrbation.") message_admins(msg) admin_ticket_log(src, msg) else to_chat(usr, "Removed [src] from purrbation.") log_admin("[key_name(usr)] has removed [key_name(src)] from purrbation.") - var/msg = "[key_name_admin(usr)] has removed [key_name(src)] from purrbation." + var/msg = span_notice("[key_name_admin(usr)] has removed [key_name(src)] from purrbation.") message_admins(msg) admin_ticket_log(src, msg) @@ -918,7 +918,7 @@ /mob/living/carbon/human/proc/fireman_carry(mob/living/carbon/target) if(!can_be_firemanned(target) || incapacitated(FALSE, TRUE)) - to_chat(src, "You can't fireman carry [target] while [target.p_they()] [target.p_are()] standing!") + to_chat(src, span_warning("You can't fireman carry [target] while [target.p_they()] [target.p_are()] standing!")) return var/carrydelay = 5 SECONDS //if you have latex you are faster at grabbing @@ -930,15 +930,15 @@ carrydelay = 4 SECONDS skills_space = " quickly" - visible_message("[src] starts[skills_space] lifting [target] onto [p_their()] back...", - "You[skills_space] start to lift [target] onto your back...") + visible_message(span_notice("[src] starts[skills_space] lifting [target] onto [p_their()] back..."), + span_notice("You[skills_space] start to lift [target] onto your back...")) if(!do_after(src, carrydelay, target)) - visible_message("[src] fails to fireman carry [target]!") + visible_message(span_warning("[src] fails to fireman carry [target]!")) return //Second check to make sure they're still valid to be carried if(!can_be_firemanned(target) || incapacitated(FALSE, TRUE) || target.buckled) - visible_message("[src] fails to fireman carry [target]!") + visible_message(span_warning("[src] fails to fireman carry [target]!")) return if(target.loc != loc) @@ -952,23 +952,23 @@ /mob/living/carbon/human/proc/piggyback(mob/living/carbon/target) if(!can_piggyback(target)) - to_chat(target, "You can't piggyback ride [src] right now!") + to_chat(target, span_warning("You can't piggyback ride [src] right now!")) return - visible_message("[target] starts to climb onto [src]...") + visible_message(span_notice("[target] starts to climb onto [src]...")) if(!do_after(target, 1.5 SECONDS, target = src) || !can_piggyback(target)) - visible_message("[target] fails to climb onto [src]!") + visible_message(span_warning("[target] fails to climb onto [src]!")) return if(target.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE)) - target.visible_message("[target] can't hang onto [src]!") + target.visible_message(span_warning("[target] can't hang onto [src]!")) return return buckle_mob(target, TRUE, TRUE, RIDER_NEEDS_ARMS) /mob/living/carbon/human/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, buckle_mob_flags= NONE) if(!is_type_in_typecache(target, can_ride_typecache)) - target.visible_message("[target] really can't seem to mount [src]...") + target.visible_message(span_warning("[target] really can't seem to mount [src]...")) return if(!force)//humans are only meant to be ridden through piggybacking and special cases diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index f92aefafdde..fb7b2c28f4f 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -69,8 +69,8 @@ if(!(P.original == src && P.firer == src)) //can't block or reflect when shooting yourself if(P.reflectable & REFLECT_NORMAL) if(check_reflect(def_zone)) // Checks if you've passed a reflection% check - visible_message("The [P.name] gets reflected by [src]!", \ - "The [P.name] gets reflected by [src]!") + visible_message(span_danger("The [P.name] gets reflected by [src]!"), \ + span_userdanger("The [P.name] gets reflected by [src]!")) // Find a turf near or on the original location to bounce to if(!isturf(loc)) //Open canopy mech (ripley) check. if we're inside something and still got hit P.force_hit = TRUE //The thing we're in passed the bullet to us. Pass it back, and tell it to take the damage. @@ -201,9 +201,9 @@ if(check_shields(user, 15, "the [hulk_verb]ing")) return playsound(loc, user.dna.species.attack_sound, 25, TRUE, -1) - visible_message("[user] [hulk_verb]ed [src]!", \ - "[user] [hulk_verb]ed [src]!", "You hear a sickening sound of flesh hitting flesh!", null, user) - to_chat(user, "You [hulk_verb] [src]!") + visible_message(span_danger("[user] [hulk_verb]ed [src]!"), \ + span_userdanger("[user] [hulk_verb]ed [src]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, user) + to_chat(user, span_danger("You [hulk_verb] [src]!")) apply_damage(15, BRUTE, wound_bonus=10) /mob/living/carbon/human/attack_hand(mob/user, list/modifiers) @@ -227,23 +227,23 @@ var/obj/item/I = get_active_held_item() if(I && !(I.item_flags & ABSTRACT) && dropItemToGround(I)) playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1) - visible_message("[user] disarmed [src]!", \ - "[user] disarmed you!", "You hear aggressive shuffling!", null, user) - to_chat(user, "You disarm [src]!") + visible_message(span_danger("[user] disarmed [src]!"), \ + span_userdanger("[user] disarmed you!"), span_hear("You hear aggressive shuffling!"), null, user) + to_chat(user, span_danger("You disarm [src]!")) else if(!user.client || prob(5)) // only natural monkeys get to stun reliably, (they only do it occasionaly) playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1) if (src.IsKnockdown() && !src.IsParalyzed()) Paralyze(40) log_combat(user, src, "pinned") - visible_message("[user] pins [src] down!", \ - "[user] pins you down!", "You hear shuffling and a muffled groan!", null, user) - to_chat(user, "You pin [src] down!") + visible_message(span_danger("[user] pins [src] down!"), \ + span_userdanger("[user] pins you down!"), span_hear("You hear shuffling and a muffled groan!"), null, user) + to_chat(user, span_danger("You pin [src] down!")) else Knockdown(30) log_combat(user, src, "tackled") - visible_message("[user] tackles [src] down!", \ - "[user] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, user) - to_chat(user, "You tackle [src] down!") + visible_message(span_danger("[user] tackles [src] down!"), \ + span_userdanger("[user] tackles you down!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), null, user) + to_chat(user, span_danger("You tackle [src] down!")) if(!user.combat_mode) ..() //shaking @@ -265,9 +265,9 @@ /mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers) if(check_shields(user, 0, "the [user.name]")) - visible_message("[user] attempts to touch [src]!", \ - "[user] attempts to touch you!", "You hear a swoosh!", null, user) - to_chat(user, "You attempt to touch [src]!") + visible_message(span_danger("[user] attempts to touch [src]!"), \ + span_danger("[user] attempts to touch you!"), span_hear("You hear a swoosh!"), null, user) + to_chat(user, span_warning("You attempt to touch [src]!")) return FALSE . = ..() if(!.) @@ -277,16 +277,16 @@ var/obj/item/I = get_active_held_item() if(I && dropItemToGround(I)) playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1) - visible_message("[user] disarms [src]!", \ - "[user] disarms you!", "You hear aggressive shuffling!", null, user) - to_chat(user, "You disarm [src]!") + visible_message(span_danger("[user] disarms [src]!"), \ + span_userdanger("[user] disarms you!"), span_hear("You hear aggressive shuffling!"), null, user) + to_chat(user, span_danger("You disarm [src]!")) else playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1) Paralyze(100) log_combat(user, src, "tackled") - visible_message("[user] tackles [src] down!", \ - "[user] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, user) - to_chat(user, "You tackle [src] down!") + visible_message(span_danger("[user] tackles [src] down!"), \ + span_userdanger("[user] tackles you down!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), null, user) + to_chat(user, span_danger("You tackle [src] down!")) if(user.combat_mode) if (w_uniform) @@ -294,9 +294,9 @@ var/damage = prob(90) ? rand(user.melee_damage_lower, user.melee_damage_upper) : 0 if(!damage) playsound(loc, 'sound/weapons/slashmiss.ogg', 50, TRUE, -1) - visible_message("[user] lunges at [src]!", \ - "[user] lunges at you!", "You hear a swoosh!", null, user) - to_chat(user, "You lunge at [src]!") + visible_message(span_danger("[user] lunges at [src]!"), \ + span_userdanger("[user] lunges at you!"), span_hear("You hear a swoosh!"), null, user) + to_chat(user, span_danger("You lunge at [src]!")) return FALSE var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected)) if(!affecting) @@ -304,9 +304,9 @@ var/armor_block = run_armor_check(affecting, MELEE,"","",10) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) - visible_message("[user] slashes at [src]!", \ - "[user] slashes at you!", "You hear a sickening sound of a slice!", null, user) - to_chat(user, "You slash at [src]!") + visible_message(span_danger("[user] slashes at [src]!"), \ + span_userdanger("[user] slashes at you!"), span_hear("You hear a sickening sound of a slice!"), null, user) + to_chat(user, span_danger("You slash at [src]!")) log_combat(user, src, "attacked") if(!dismembering_strike(user, user.zone_selected)) //Dismemberment successful return TRUE @@ -449,7 +449,7 @@ /mob/living/carbon/human/blob_act(obj/structure/blob/B) if(stat == DEAD) return - show_message("The blob attacks you!") + show_message(span_userdanger("The blob attacks you!")) var/dam_zone = pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone)) apply_damage(5, BRUTE, affecting, run_armor_check(affecting, MELEE)) @@ -482,7 +482,7 @@ if(shock_damage * siemens_coeff >= 1 && prob(25)) var/obj/item/organ/heart/heart = getorganslot(ORGAN_SLOT_HEART) if(heart.Restart() && stat == CONSCIOUS) - to_chat(src, "You feel your heart beating again!") + to_chat(src, span_notice("You feel your heart beating again!")) electrocution_animation(40) /mob/living/carbon/human/emp_act(severity) @@ -493,7 +493,7 @@ for(var/obj/item/bodypart/L in src.bodyparts) if(L.status == BODYPART_ROBOTIC) if(!informed) - to_chat(src, "You feel a sharp pain as your robotic limbs overload.") + to_chat(src, span_userdanger("You feel a sharp pain as your robotic limbs overload.")) informed = TRUE switch(severity) if(1) @@ -526,7 +526,7 @@ update_inv_neck() update_inv_head() else - to_chat(src, "Your [head_clothes.name] protects your head and face from the acid!") + to_chat(src, span_notice("Your [head_clothes.name] protects your head and face from the acid!")) else . = get_bodypart(BODY_ZONE_HEAD) if(.) @@ -547,7 +547,7 @@ update_inv_w_uniform() update_inv_wear_suit() else - to_chat(src, "Your [chest_clothes.name] protects your body from the acid!") + to_chat(src, span_notice("Your [chest_clothes.name] protects your body from the acid!")) else . = get_bodypart(BODY_ZONE_CHEST) if(.) @@ -579,7 +579,7 @@ update_inv_w_uniform() update_inv_wear_suit() else - to_chat(src, "Your [arm_clothes.name] protects your arms and hands from the acid!") + to_chat(src, span_notice("Your [arm_clothes.name] protects your arms and hands from the acid!")) else . = get_bodypart(BODY_ZONE_R_ARM) if(.) @@ -605,7 +605,7 @@ update_inv_w_uniform() update_inv_wear_suit() else - to_chat(src, "Your [leg_clothes.name] protects your legs and feet from the acid!") + to_chat(src, span_notice("Your [leg_clothes.name] protects your legs and feet from the acid!")) else . = get_bodypart(BODY_ZONE_R_LEG) if(.) @@ -660,9 +660,9 @@ if(src == M) if(has_status_effect(STATUS_EFFECT_CHOKINGSTRAND)) - to_chat(src, "You attempt to remove the durathread strand from around your neck.") + to_chat(src, span_notice("You attempt to remove the durathread strand from around your neck.")) if(do_after(src, 3.5 SECONDS, src)) - to_chat(src, "You succesfuly remove the durathread strand.") + to_chat(src, span_notice("You succesfuly remove the durathread strand.")) remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND) return check_self_for_injuries() @@ -682,8 +682,8 @@ return var/list/combined_msg = list() - visible_message("[src] examines [p_them()]self.", \ - "You check yourself for injuries.") + visible_message(span_notice("[src] examines [p_them()]self."), \ + span_notice("You check yourself for injuries.")) var/list/missing = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) @@ -748,13 +748,13 @@ var/msg switch(W.severity) if(WOUND_SEVERITY_TRIVIAL) - msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]." + msg = "\t [span_danger("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)].")]" if(WOUND_SEVERITY_MODERATE) - msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!" + msg = "\t [span_warning("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!")]" if(WOUND_SEVERITY_SEVERE) - msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!" + msg = "\t [span_warning("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!")]" if(WOUND_SEVERITY_CRITICAL) - msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!!" + msg = "\t [span_warning("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!!")]" combined_msg += msg for(var/obj/item/I in body_part.embedded_objects) @@ -764,7 +764,7 @@ combined_msg += "\t There is \a [I] embedded in your [body_part.name]!" for(var/t in missing) - combined_msg += "Your [parse_zone(t)] is missing!" + combined_msg += span_boldannounce("Your [parse_zone(t)] is missing!") if(is_bleeding()) var/list/obj/item/bodypart/bleeding_limbs = list() @@ -788,39 +788,39 @@ if(getStaminaLoss()) if(getStaminaLoss() > 30) - combined_msg += "You're completely exhausted." + combined_msg += span_info("You're completely exhausted.") else - combined_msg += "You feel fatigued." + combined_msg += span_info("You feel fatigued.") if(HAS_TRAIT(src, TRAIT_SELF_AWARE)) if(toxloss) if(toxloss > 10) - combined_msg += "You feel sick." + combined_msg += span_danger("You feel sick.") else if(toxloss > 20) - combined_msg += "You feel nauseated." + combined_msg += span_danger("You feel nauseated.") else if(toxloss > 40) - combined_msg += "You feel very unwell!" + combined_msg += span_danger("You feel very unwell!") if(oxyloss) if(oxyloss > 10) - combined_msg += "You feel lightheaded." + combined_msg += span_danger("You feel lightheaded.") else if(oxyloss > 20) - combined_msg += "Your thinking is clouded and distant." + combined_msg += span_danger("Your thinking is clouded and distant.") else if(oxyloss > 30) - combined_msg += "You're choking!" + combined_msg += span_danger("You're choking!") if(!HAS_TRAIT(src, TRAIT_NOHUNGER)) switch(nutrition) if(NUTRITION_LEVEL_FULL to INFINITY) - combined_msg += "You're completely stuffed!" + combined_msg += span_info("You're completely stuffed!") if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL) - combined_msg += "You're well fed!" + combined_msg += span_info("You're well fed!") if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) - combined_msg += "You're not hungry." + combined_msg += span_info("You're not hungry.") if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED) - combined_msg += "You could use a bite to eat." + combined_msg += span_info("You could use a bite to eat.") if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) - combined_msg += "You feel quite hungry." + combined_msg += span_info("You feel quite hungry.") if(0 to NUTRITION_LEVEL_STARVING) - combined_msg += "You're starving!" + combined_msg += span_danger("You're starving!") //Compiles then shows the list of damaged organs and broken organs var/list/broken = list() @@ -852,7 +852,7 @@ //Put the items in that list into a string of text for(var/B in broken) broken_message += B - combined_msg += "Your [broken_message] [broken_plural ? "are" : "is"] non-functional!" + combined_msg += span_warning("Your [broken_message] [broken_plural ? "are" : "is"] non-functional!") if(damaged.len) if(damaged.len > 1) damaged.Insert(damaged.len, "and ") @@ -863,10 +863,10 @@ damaged_plural = TRUE for(var/D in damaged) damaged_message += D - combined_msg += "Your [damaged_message] [damaged_plural ? "are" : "is"] hurt." + combined_msg += span_info("Your [damaged_message] [damaged_plural ? "are" : "is"] hurt.") if(quirks.len) - combined_msg += "You have these quirks: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]." + combined_msg += span_notice("You have these quirks: [get_quirk_string(FALSE, CAT_QUIRK_ALL)].") to_chat(src, combined_msg.Join("\n")) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index e758958a0f8..8b3a4460356 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -104,7 +104,7 @@ balloon_alert(src, "fingers are too big!") return FALSE if(HAS_TRAIT(src, TRAIT_NOGUNS)) - to_chat(src, "You can't bring yourself to use a ranged weapon!") + to_chat(src, span_warning("You can't bring yourself to use a ranged weapon!")) return FALSE /mob/living/carbon/human/get_policy_keywords() @@ -227,9 +227,9 @@ var/t_is = p_are() //This checks to see if the body is revivable if(key || !getorgan(/obj/item/organ/brain) || ghost?.can_reenter_corpse) - return "[t_He] [t_is] limp and unresponsive; there are no signs of life..." + return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life...") else - return "[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed..." + return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed...") ///copies over clothing preferences like underwear to another human /mob/living/carbon/human/proc/copy_clothing_prefs(mob/living/carbon/human/destination) diff --git a/code/modules/mob/living/carbon/human/human_stripping.dm b/code/modules/mob/living/carbon/human/human_stripping.dm index 7369aa4a9b6..67e61239428 100644 --- a/code/modules/mob/living/carbon/human/human_stripping.dm +++ b/code/modules/mob/living/carbon/human/human_stripping.dm @@ -154,7 +154,7 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( if (isnull(item)) return FALSE - to_chat(user, "You try to empty [source]'s [pocket_side] pocket.") + to_chat(user, span_notice("You try to empty [source]'s [pocket_side] pocket.")) var/log_message = "[key_name(source)] is being pickpocketed of [item] by [key_name(user)] ([pocket_side])" source.log_message(log_message, LOG_ATTACK, color="red") @@ -169,7 +169,7 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( return result /datum/strippable_item/mob_item_slot/pocket/proc/warn_owner(atom/owner) - to_chat(owner, "You feel your [pocket_side] pocket being fumbled with!") + to_chat(owner, span_warning("You feel your [pocket_side] pocket being fumbled with!")) /datum/strippable_item/mob_item_slot/pocket/left key = STRIPPABLE_ITEM_LPOCKET @@ -208,12 +208,12 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( return carbon_source.visible_message( - "[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name].", - "[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on your [item.name].", + span_danger("[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name]."), + span_userdanger("[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on your [item.name]."), ignored_mobs = user, ) - to_chat(user, "You try to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name]...") + to_chat(user, span_notice("You try to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name]...")) if(!do_mob(user, carbon_source, INTERNALS_TOGGLE_DELAY)) return @@ -229,12 +229,12 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( carbon_source.update_internals_hud_icon(1) carbon_source.visible_message( - "[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on [source]'s [item.name].", - "[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on your [item.name].", + span_danger("[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on [source]'s [item.name]."), + span_userdanger("[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on your [item.name]."), ignored_mobs = user, ) - to_chat(user, "You [isnull(carbon_source.internal) ? "close" : "open"] the valve on [source]'s [item.name].") + to_chat(user, span_notice("You [isnull(carbon_source.internal) ? "close" : "open"] the valve on [source]'s [item.name].")) #undef INTERNALS_TOGGLE_DELAY #undef POCKET_EQUIP_DELAY diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 394dd5f2813..c1214190cd9 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -156,7 +156,7 @@ s_store = I update_inv_s_store() else - to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") + to_chat(src, span_danger("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")) //Item is handled and in slot, valid to call callback, for this proc should always be true if(!not_handled) @@ -316,7 +316,7 @@ var/obj/item/equipped_item = get_item_by_slot(slot_type) if(!equipped_item) // We also let you equip an item like this if(!thing) - to_chat(src, "You have no [slot_item_name] to take something out of!") + to_chat(src, span_warning("You have no [slot_item_name] to take something out of!")) return if(equip_to_slot_if_possible(thing, slot_type)) update_inv_hands() @@ -325,14 +325,14 @@ if(!thing) equipped_item.attack_hand(src) else - to_chat(src, "You can't fit [thing] into your [equipped_item.name]!") + to_chat(src, span_warning("You can't fit [thing] into your [equipped_item.name]!")) return if(thing) // put thing in storage item if(!SEND_SIGNAL(equipped_item, COMSIG_TRY_STORAGE_INSERT, thing, src)) - to_chat(src, "You can't fit [thing] into your [equipped_item.name]!") + to_chat(src, span_warning("You can't fit [thing] into your [equipped_item.name]!")) return if(!equipped_item.contents.len) // nothing to take out - to_chat(src, "There's nothing in your [equipped_item.name] to take out!") + to_chat(src, span_warning("There's nothing in your [equipped_item.name] to take out!")) return var/obj/item/stored = equipped_item.contents[equipped_item.contents.len] if(!stored || stored.on_found(src)) diff --git a/code/modules/mob/living/carbon/human/login.dm b/code/modules/mob/living/carbon/human/login.dm index 72e2f512306..0146cb4c297 100644 --- a/code/modules/mob/living/carbon/human/login.dm +++ b/code/modules/mob/living/carbon/human/login.dm @@ -4,8 +4,8 @@ return var/list/print_msg = list() - print_msg += "*---------*" - print_msg += "As you snap back to consciousness, you recall people messing with your stuff..." + print_msg += span_info("*---------*") + print_msg += span_userdanger("As you snap back to consciousness, you recall people messing with your stuff...") afk_thefts = reverseRange(afk_thefts) @@ -19,13 +19,13 @@ var/time_since = world.time - iter_theft[AFK_THEFT_TIME] if(time_since > AFK_THEFT_FORGET_DETAILS_TIME) - print_msg += "\tSomeone [theft_message], but it was at least [DisplayTimeText(AFK_THEFT_FORGET_DETAILS_TIME)] ago." + print_msg += "\t[span_danger("Someone [theft_message], but it was at least [DisplayTimeText(AFK_THEFT_FORGET_DETAILS_TIME)] ago.")]" else - print_msg += "\t[thief_name] [theft_message] roughly [DisplayTimeText(time_since, 10)] ago." + print_msg += "\t[span_danger("[thief_name] [theft_message] roughly [DisplayTimeText(time_since, 10)] ago.")]" if(LAZYLEN(afk_thefts) >= AFK_THEFT_MAX_MESSAGES) - print_msg += "There may have been more, but that's all you can remember..." - print_msg += "*---------*" + print_msg += span_warning("There may have been more, but that's all you can remember...") + print_msg += span_info("*---------*") to_chat(src, print_msg.Join("\n")) LAZYNULL(afk_thefts) diff --git a/code/modules/mob/living/carbon/human/monkey/monkey.dm b/code/modules/mob/living/carbon/human/monkey/monkey.dm index a2225b51167..27eb430ec71 100644 --- a/code/modules/mob/living/carbon/human/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/human/monkey/monkey.dm @@ -8,7 +8,7 @@ var/cap = CONFIG_GET(number/monkeycap) if (LAZYLEN(SSmobs.cubemonkeys) > cap) if (spawner) - to_chat(spawner, "Bluespace harmonics prevent the spawning of more than [cap] monkeys on the station at one time!") + to_chat(spawner, span_warning("Bluespace harmonics prevent the spawning of more than [cap] monkeys on the station at one time!")) return INITIALIZE_HINT_QDEL SSmobs.cubemonkeys += src return ..() diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 4ba5e591cf4..d1241dfc97e 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1082,7 +1082,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) return FALSE if(DIGITIGRADE in species_traits) if(!disable_warning) - to_chat(H, "The footwear around here isn't compatible with your feet!") + to_chat(H, span_warning("The footwear around here isn't compatible with your feet!")) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) if(ITEM_SLOT_BELT) @@ -1090,7 +1090,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") + to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) if(ITEM_SLOT_EYES) @@ -1114,7 +1114,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_CHEST) if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") + to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) if(ITEM_SLOT_LPOCKET) @@ -1127,7 +1127,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") + to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE return TRUE if(ITEM_SLOT_RPOCKET) @@ -1140,7 +1140,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") + to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE return TRUE if(ITEM_SLOT_SUITSTORE) @@ -1148,15 +1148,15 @@ GLOBAL_LIST_EMPTY(roundstart_races) return FALSE if(!H.wear_suit) if(!disable_warning) - to_chat(H, "You need a suit before you can attach this [I.name]!") + to_chat(H, span_warning("You need a suit before you can attach this [I.name]!")) return FALSE if(!H.wear_suit.allowed) if(!disable_warning) - to_chat(H, "You somehow have a suit with no defined allowed items for suit storage, stop that.") + to_chat(H, span_warning("You somehow have a suit with no defined allowed items for suit storage, stop that.")) return FALSE if(I.w_class > WEIGHT_CLASS_BULKY) if(!disable_warning) - to_chat(H, "The [I.name] is too big to attach!") //should be src? + to_chat(H, span_warning("The [I.name] is too big to attach!")) //should be src? return FALSE if( istype(I, /obj/item/pda) || istype(I, /obj/item/pen) || is_type_in_list(I, H.wear_suit.allowed) ) return TRUE @@ -1182,7 +1182,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) /datum/species/proc/equip_delay_self_check(obj/item/I, mob/living/carbon/human/H, bypass_equip_delay_self) if(!I.equip_delay_self || bypass_equip_delay_self) return TRUE - H.visible_message("[H] start putting on [I]...", "You start putting on [I]...") + H.visible_message(span_notice("[H] start putting on [I]..."), span_notice("You start putting on [I]...")) return do_after(H, I.equip_delay_self, target = H) /datum/species/proc/before_equip_job(datum/job/J, mob/living/carbon/human/H) @@ -1224,14 +1224,14 @@ GLOBAL_LIST_EMPTY(roundstart_races) //The fucking TRAIT_FAT mutation is the dumbest shit ever. It makes the code so difficult to work with if(HAS_TRAIT_FROM(H, TRAIT_FAT, OBESITY))//I share your pain, past coder. if(H.overeatduration < (200 SECONDS)) - to_chat(H, "You feel fit again!") + to_chat(H, span_notice("You feel fit again!")) REMOVE_TRAIT(H, TRAIT_FAT, OBESITY) H.remove_movespeed_modifier(/datum/movespeed_modifier/obesity) H.update_inv_w_uniform() H.update_inv_wear_suit() else if(H.overeatduration >= (200 SECONDS)) - to_chat(H, "You suddenly feel blubbery!") + to_chat(H, span_danger("You suddenly feel blubbery!")) ADD_TRAIT(H, TRAIT_FAT, OBESITY) H.add_movespeed_modifier(/datum/movespeed_modifier/obesity) H.update_inv_w_uniform() @@ -1271,15 +1271,15 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.metabolism_efficiency = 1 else if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80) if(H.metabolism_efficiency != 1.25 && !HAS_TRAIT(H, TRAIT_NOHUNGER)) - to_chat(H, "You feel vigorous.") + to_chat(H, span_notice("You feel vigorous.")) H.metabolism_efficiency = 1.25 else if(H.nutrition < NUTRITION_LEVEL_STARVING + 50) if(H.metabolism_efficiency != 0.8) - to_chat(H, "You feel sluggish.") + to_chat(H, span_notice("You feel sluggish.")) H.metabolism_efficiency = 0.8 else if(H.metabolism_efficiency == 1.25) - to_chat(H, "You no longer feel vigorous.") + to_chat(H, span_notice("You no longer feel vigorous.")) H.metabolism_efficiency = 1 //Hunger slowdown for if mood isn't enabled @@ -1327,20 +1327,20 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!source.IsParalyzed()) source.emote("collapse") source.Paralyze(RAD_MOB_KNOCKDOWN_AMOUNT) - to_chat(source, "You feel weak.") + to_chat(source, span_danger("You feel weak.")) if(radiation > RAD_MOB_VOMIT && DT_PROB(RAD_MOB_VOMIT_PROB, delta_time)) source.vomit(10, TRUE) if(radiation > RAD_MOB_MUTATE && DT_PROB(RAD_MOB_MUTATE_PROB, delta_time)) - to_chat(source, "You mutate!") + to_chat(source, span_danger("You mutate!")) source.easy_randmut(NEGATIVE + MINOR_NEGATIVE) source.emote("gasp") source.domutcheck() if(radiation > RAD_MOB_HAIRLOSS && DT_PROB(RAD_MOB_HAIRLOSS_PROB, delta_time)) if(!(source.hairstyle == "Bald") && (HAIR in species_traits)) - to_chat(source, "Your hair starts to fall out in clumps...") + to_chat(source, span_danger("Your hair starts to fall out in clumps...")) addtimer(CALLBACK(src, .proc/go_bald, source), 5 SECONDS) /** @@ -1379,9 +1379,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) /datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(target.check_block()) - target.visible_message("[target] blocks [user]'s grab!", \ - "You block [user]'s grab!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your grab at [target] was blocked!") + target.visible_message(span_warning("[target] blocks [user]'s grab!"), \ + span_userdanger("You block [user]'s grab!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your grab at [target] was blocked!")) return FALSE if(attacker_style?.grab_act(user,target) == MARTIAL_ATTACK_SUCCESS) return TRUE @@ -1392,12 +1392,12 @@ GLOBAL_LIST_EMPTY(roundstart_races) ///This proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason... /datum/species/proc/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm [target]!") + to_chat(user, span_warning("You don't want to harm [target]!")) return FALSE if(target.check_block()) - target.visible_message("[target] blocks [user]'s attack!", \ - "You block [user]'s attack!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your attack at [target] was blocked!") + target.visible_message(span_warning("[target] blocks [user]'s attack!"), \ + span_userdanger("You block [user]'s attack!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your attack at [target] was blocked!")) return FALSE if(attacker_style?.harm_act(user,target) == MARTIAL_ATTACK_SUCCESS) return TRUE @@ -1411,7 +1411,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(atk_effect == ATTACK_EFFECT_BITE) if(user.is_mouth_covered(mask_only = TRUE)) - to_chat(user, "You can't [atk_verb] with your mouth covered!") + to_chat(user, span_warning("You can't [atk_verb] with your mouth covered!")) return FALSE user.do_attack_animation(target, atk_effect) @@ -1428,9 +1428,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1) - target.visible_message("[user]'s [atk_verb] misses [target]!", \ - "You avoid [user]'s [atk_verb]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your [atk_verb] misses [target]!") + target.visible_message(span_danger("[user]'s [atk_verb] misses [target]!"), \ + span_danger("You avoid [user]'s [atk_verb]!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your [atk_verb] misses [target]!")) log_combat(user, target, "attempted to punch") return FALSE @@ -1438,9 +1438,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) playsound(target.loc, user.dna.species.attack_sound, 25, TRUE, -1) - target.visible_message("[user] [atk_verb]ed [target]!", \ - "You're [atk_verb]ed by [user]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You [atk_verb] [target]!") + target.visible_message(span_danger("[user] [atk_verb]ed [target]!"), \ + span_userdanger("You're [atk_verb]ed by [user]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You [atk_verb] [target]!")) target.lastattacker = user.real_name target.lastattackerckey = user.ckey @@ -1458,9 +1458,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) log_combat(user, target, "punched") if((target.stat != DEAD) && damage >= user.dna.species.punchstunthreshold) - target.visible_message("[user] knocks [target] down!", \ - "You're knocked down by [user]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You knock [target] down!") + target.visible_message(span_danger("[user] knocks [target] down!"), \ + span_userdanger("You're knocked down by [user]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You knock [target] down!")) var/knockdown_duration = 40 + (target.getStaminaLoss() + (target.getBruteLoss()*0.5))*0.8 //50 total damage = 40 base stun + 40 stun modifier = 80 stun duration, which is the old base duration target.apply_effect(knockdown_duration, EFFECT_KNOCKDOWN, armor_block) log_combat(user, target, "got a stun punch with their previous punch") @@ -1470,9 +1470,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) /datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(target.check_block()) - target.visible_message("[user]'s shove is blocked by [target]!", \ - "You block [user]'s shove!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your shove at [target] was blocked!") + target.visible_message(span_warning("[user]'s shove is blocked by [target]!"), \ + span_danger("You block [user]'s shove!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your shove at [target] was blocked!")) return FALSE if(attacker_style?.disarm_act(user,target) == MARTIAL_ATTACK_SUCCESS) return TRUE @@ -1500,9 +1500,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) attacker_style = M.mind.martial_art if((M != H) && M.combat_mode && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) log_combat(M, H, "attempted to touch") - H.visible_message("[M] attempts to touch [H]!", \ - "[M] attempts to touch you!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, M) - to_chat(M, "You attempt to touch [H]!") + H.visible_message(span_warning("[M] attempts to touch [H]!"), \ + span_danger("[M] attempts to touch you!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, M) + to_chat(M, span_warning("You attempt to touch [H]!")) return SEND_SIGNAL(M, COMSIG_MOB_ATTACK_HAND, M, H, attacker_style) @@ -1521,8 +1521,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(H.check_shields(I, I.force, "the [I.name]", MELEE_ATTACK, I.armour_penetration)) return FALSE if(H.check_block()) - H.visible_message("[H] blocks [I]!", \ - "You block [I]!") + H.visible_message(span_warning("[H] blocks [I]!"), \ + span_userdanger("You block [I]!")) return FALSE var/hit_area @@ -1532,7 +1532,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) hit_area = affecting.name var/def_zone = affecting.body_zone - var/armor_block = H.run_armor_check(affecting, MELEE, "Your armor has protected your [hit_area]!", "Your armor has softened a hit to your [hit_area]!",I.armour_penetration, weak_against_armour = I.weak_against_armour) + var/armor_block = H.run_armor_check(affecting, MELEE, span_notice("Your armor has protected your [hit_area]!"), span_warning("Your armor has softened a hit to your [hit_area]!"),I.armour_penetration, weak_against_armour = I.weak_against_armour) armor_block = min(90,armor_block) //cap damage reduction at 90% var/Iwound_bonus = I.wound_bonus @@ -1567,8 +1567,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(prob(I.force)) H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20) if(H.stat == CONSCIOUS) - H.visible_message("[H] is knocked senseless!", \ - "You're knocked senseless!") + H.visible_message(span_danger("[H] is knocked senseless!"), \ + span_userdanger("You're knocked senseless!")) H.set_confusion(max(H.get_confusion(), 20)) H.adjust_blurriness(10) if(prob(10)) @@ -1595,8 +1595,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(BODY_ZONE_CHEST) if(H.stat == CONSCIOUS && !I.get_sharpness() && armor_block < 50) if(prob(I.force)) - H.visible_message("[H] is knocked down!", \ - "You're knocked down!") + H.visible_message(span_danger("[H] is knocked down!"), \ + span_userdanger("You're knocked down!")) H.apply_effect(60, EFFECT_KNOCKDOWN, armor_block) if(bloody) @@ -1669,11 +1669,11 @@ GLOBAL_LIST_EMPTY(roundstart_races) // called when hit by a projectile switch(P.type) if(/obj/projectile/energy/floramut) // overwritten by plants/pods - H.show_message("The radiation beam dissipates harmlessly through your body.") + H.show_message(span_notice("The radiation beam dissipates harmlessly through your body.")) if(/obj/projectile/energy/florayield) - H.show_message("The radiation beam dissipates harmlessly through your body.") + H.show_message(span_notice("The radiation beam dissipates harmlessly through your body.")) if(/obj/projectile/energy/florarevolution) - H.show_message("The radiation beam dissipates harmlessly through your body.") + H.show_message(span_notice("The radiation beam dissipates harmlessly through your body.")) /datum/species/proc/bullet_act(obj/projectile/P, mob/living/carbon/human/H) // called before a projectile hit @@ -2202,7 +2202,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(H.stat || H.body_position == LYING_DOWN) return FALSE if(H.wear_suit && ((H.wear_suit.flags_inv & HIDEJUMPSUIT) && (!H.wear_suit.species_exception || !is_type_in_list(src, H.wear_suit.species_exception)))) //Jumpsuits have tail holes, so it makes sense they have wing holes too - to_chat(H, "Your suit blocks your wings from extending!") + to_chat(H, span_warning("Your suit blocks your wings from extending!")) return FALSE var/turf/T = get_turf(H) if(!T) @@ -2210,7 +2210,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/datum/gas_mixture/environment = T.return_air() if(environment && !(environment.return_pressure() > 30)) - to_chat(H, "The atmosphere is too thin for you to fly!") + to_chat(H, span_warning("The atmosphere is too thin for you to fly!")) return FALSE else return TRUE @@ -2220,7 +2220,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(H.buckled) buckled_obj = H.buckled - to_chat(H, "Your wings spazz out and launch you!") + to_chat(H, span_notice("Your wings spazz out and launch you!")) playsound(H.loc, 'sound/misc/slip.ogg', 50, TRUE, -3) @@ -2266,9 +2266,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(S.CanFly(H)) S.ToggleFlight(H) if(!(H.movement_type & FLYING)) - to_chat(H, "You settle gently back onto the ground...") + to_chat(H, span_notice("You settle gently back onto the ground...")) else - to_chat(H, "You beat your wings and begin to hover gently above the ground...") + to_chat(H, span_notice("You beat your wings and begin to hover gently above the ground...")) H.set_resting(FALSE, TRUE) /** diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index d3988a55e85..79944cbff33 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -104,7 +104,7 @@ SIGNAL_HANDLER EMPeffect = TRUE spec_updatehealth(H) - to_chat(H, "You feel the light of your body leave you.") + to_chat(H, span_notice("You feel the light of your body leave you.")) switch(severity) if(EMP_LIGHT) addtimer(CALLBACK(src, .proc/stop_emp, H), 10 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 10 seconds @@ -117,8 +117,8 @@ return emageffect = TRUE if(user) - to_chat(user, "You tap [H] on the back with your card.") - H.visible_message("[H] starts flickering in an array of colors!") + to_chat(user, span_notice("You tap [H] on the back with your card.")) + H.visible_message(span_danger("[H] starts flickering in an array of colors!")) handle_emag(H) addtimer(CALLBACK(src, .proc/stop_emag, H), 2 MINUTES) //Disco mode for 2 minutes! This doesn't affect the ethereal at all besides either annoying some players, or making someone look badass. @@ -136,7 +136,7 @@ /datum/species/ethereal/proc/stop_emp(mob/living/carbon/human/H) EMPeffect = FALSE spec_updatehealth(H) - to_chat(H, "You feel more energized as your shine comes back.") + to_chat(H, span_notice("You feel more energized as your shine comes back.")) /datum/species/ethereal/proc/handle_emag(mob/living/carbon/human/H) @@ -149,7 +149,7 @@ /datum/species/ethereal/proc/stop_emag(mob/living/carbon/human/H) emageffect = FALSE spec_updatehealth(H) - H.visible_message("[H] stops flickering and goes back to their normal state!") + H.visible_message(span_danger("[H] stops flickering and goes back to their normal state!")) /datum/species/ethereal/proc/handle_charge(mob/living/carbon/human/H, delta_time, times_fired) switch(get_charge(H)) @@ -176,8 +176,8 @@ H.clear_alert("ethereal_overcharge") /datum/species/ethereal/proc/discharge_process(mob/living/carbon/human/H) - to_chat(H, "You begin to lose control over your charge!") - H.visible_message("[H] begins to spark violently!") + to_chat(H, span_warning("You begin to lose control over your charge!")) + H.visible_message(span_danger("[H] begins to spark violently!")) var/static/mutable_appearance/overcharge //shameless copycode from lightning spell overcharge = overcharge || mutable_appearance('icons/effects/effects.dmi', "electricity", EFFECTS_LAYER) H.add_overlay(overcharge) @@ -189,12 +189,12 @@ tesla_zap(H, 2, stomach.crystal_charge*2.5, ZAP_OBJ_DAMAGE | ZAP_ALLOW_DUPLICATES) if(istype(stomach)) stomach.adjust_charge(ETHEREAL_CHARGE_FULL - stomach.crystal_charge) - to_chat(H, "You violently discharge energy!") - H.visible_message("[H] violently discharges energy!") + to_chat(H, span_warning("You violently discharge energy!")) + H.visible_message(span_danger("[H] violently discharges energy!")) if(prob(10)) //chance of developing heart disease to dissuade overcharging oneself var/datum/disease/D = new /datum/disease/heart_failure H.ForceContractDisease(D) - to_chat(H, "You're pretty sure you just felt your heart stop for a second there..") + to_chat(H, span_userdanger("You're pretty sure you just felt your heart stop for a second there..")) H.playsound_local(H, 'sound/effects/singlebeat.ogg', 100, 0) H.Paralyze(100) diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index ceca9514c5f..e5fb8e16f4f 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -100,7 +100,7 @@ kitty_ears.Insert(H, TRUE, FALSE) //Gives nonhumans cat tail and ears kitty_tail.Insert(H, TRUE, FALSE) if(!silent) - to_chat(H, "Something is nya~t right.") + to_chat(H, span_boldnotice("Something is nya~t right.")) playsound(get_turf(H), 'sound/effects/meow1.ogg', 50, TRUE, -1) /proc/purrbation_remove(mob/living/carbon/human/H, silent = FALSE) @@ -122,4 +122,4 @@ var/obj/item/organ/new_ears = new target_species.mutantears new_ears.Insert(H, TRUE, FALSE) if(!silent) - to_chat(H, "You are no longer a cat.") + to_chat(H, span_boldnotice("You are no longer a cat.")) diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 4efc01cb1bf..74d5552a204 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -76,8 +76,8 @@ // we do not loss any nutrition as a fly when vomiting out food body.vomit(0, FALSE, FALSE, 2, TRUE, force=TRUE, purge_ratio = 0.67) playsound(get_turf(owner), 'sound/effects/splat.ogg', 50, TRUE) - body.visible_message("[body] vomits on the floor!", \ - "You throw up on the floor!") + body.visible_message(span_danger("[body] vomits on the floor!"), \ + span_userdanger("You throw up on the floor!")) return ..() /obj/item/organ/appendix/fly diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 6ddab3007db..c6068cd71fd 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -126,11 +126,11 @@ /datum/species/golem/plasma/spec_life(mob/living/carbon/human/H, delta_time, times_fired) if(H.bodytemperature > 750) if(!boom_warning && H.on_fire) - to_chat(H, "You feel like you could blow up at any moment!") + to_chat(H, span_userdanger("You feel like you could blow up at any moment!")) boom_warning = TRUE else if(boom_warning) - to_chat(H, "You feel more stable.") + to_chat(H, span_notice("You feel more stable.")) boom_warning = FALSE if(H.bodytemperature > 850 && H.on_fire && prob(25)) @@ -162,9 +162,9 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.fire_stacks) - to_chat(owner, "You ignite yourself!") + to_chat(owner, span_notice("You ignite yourself!")) else - to_chat(owner, "You try to ignite yourself, but fail!") + to_chat(owner, span_warning("You try to ignite yourself, but fail!")) H.IgniteMob() //firestacks are already there passively //Harder to hurt @@ -419,7 +419,7 @@ special_names = list("Castle", "Bag", "Dune", "Worm", "Storm") /datum/species/golem/sand/spec_death(gibbed, mob/living/carbon/human/H) - H.visible_message("[H] turns into a pile of sand!") + H.visible_message(span_danger("[H] turns into a pile of sand!")) for(var/obj/item/W in H) H.dropItemToGround(W) for(var/i=1, i <= rand(3,5), i++) @@ -430,8 +430,8 @@ if(!(P.original == H && P.firer == H)) if(P.flag == BULLET || P.flag == BOMB) playsound(H, 'sound/effects/shovel_dig.ogg', 70, TRUE) - H.visible_message("The [P.name] sinks harmlessly in [H]'s sandy body!", \ - "The [P.name] sinks harmlessly in [H]'s sandy body!") + H.visible_message(span_danger("The [P.name] sinks harmlessly in [H]'s sandy body!"), \ + span_userdanger("The [P.name] sinks harmlessly in [H]'s sandy body!")) return BULLET_ACT_BLOCK return ..() @@ -451,7 +451,7 @@ /datum/species/golem/glass/spec_death(gibbed, mob/living/carbon/human/H) playsound(H, "shatter", 70, TRUE) - H.visible_message("[H] shatters!") + H.visible_message(span_danger("[H] shatters!")) for(var/obj/item/W in H) H.dropItemToGround(W) for(var/i=1, i <= rand(3,5), i++) @@ -461,8 +461,8 @@ /datum/species/golem/glass/bullet_act(obj/projectile/P, mob/living/carbon/human/H) if(!(P.original == H && P.firer == H)) //self-shots don't reflect if(P.flag == LASER || P.flag == ENERGY) - H.visible_message("The [P.name] gets reflected by [H]'s glass skin!", \ - "The [P.name] gets reflected by [H]'s glass skin!") + H.visible_message(span_danger("The [P.name] gets reflected by [H]'s glass skin!"), \ + span_userdanger("The [P.name] gets reflected by [H]'s glass skin!")) if(P.starting) var/new_x = P.starting.x + pick(0, 0, 0, 0, 0, -1, 1, -2, 2) var/new_y = P.starting.y + pick(0, 0, 0, 0, 0, -1, 1, -2, 2) @@ -489,7 +489,7 @@ var/last_teleport = 0 /datum/species/golem/bluespace/proc/reactive_teleport(mob/living/carbon/human/H) - H.visible_message("[H] teleports!", "You destabilize and teleport!") + H.visible_message(span_warning("[H] teleports!"), span_danger("You destabilize and teleport!")) new /obj/effect/particle_effect/sparks(get_turf(H)) playsound(get_turf(H), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) do_teleport(H, get_turf(H), 6, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) @@ -550,12 +550,12 @@ /datum/action/innate/unstable_teleport/Activate() var/mob/living/carbon/human/H = owner - H.visible_message("[H] starts vibrating!", "You start charging your bluespace core...") + H.visible_message(span_warning("[H] starts vibrating!"), span_danger("You start charging your bluespace core...")) playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, TRUE) addtimer(CALLBACK(src, .proc/teleport, H), 15) /datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H) - H.visible_message("[H] disappears in a shower of sparks!", "You teleport!") + H.visible_message(span_warning("[H] disappears in a shower of sparks!"), span_danger("You teleport!")) var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread spark_system.set_up(10, 0, src) spark_system.attach(H) @@ -802,11 +802,11 @@ if(gibbed) return if(H.on_fire) - H.visible_message("[H] burns into ash!") + H.visible_message(span_danger("[H] burns into ash!")) H.dust(just_ash = TRUE) return - H.visible_message("[H] falls apart into a pile of bandages!") + H.visible_message(span_danger("[H] falls apart into a pile of bandages!")) new /obj/structure/cloth_pile(get_turf(H), H) ..() @@ -828,7 +828,7 @@ H.unequip_everything() H.forceMove(src) cloth_golem = H - to_chat(cloth_golem, "You start gathering your life energy, preparing to rise again...") + to_chat(cloth_golem, span_notice("You start gathering your life energy, preparing to rise again...")) addtimer(CALLBACK(src, .proc/revive), revive_time) else return INITIALIZE_HINT_QDEL @@ -839,7 +839,7 @@ return ..() /obj/structure/cloth_pile/burn() - visible_message("[src] burns into ash!") + visible_message(span_danger("[src] burns into ash!")) new /obj/effect/decal/cleanable/ash(get_turf(src)) ..() @@ -856,7 +856,7 @@ cloth_golem.grab_ghost() //won't pull if it's a suicide sleep(20) cloth_golem.forceMove(get_turf(src)) - cloth_golem.visible_message("[src] rises and reforms into [cloth_golem]!","You reform into yourself!") + cloth_golem.visible_message(span_danger("[src] rises and reforms into [cloth_golem]!"),span_userdanger("You reform into yourself!")) cloth_golem = null qdel(src) @@ -867,7 +867,7 @@ return if(P.get_temperature()) - visible_message("[src] bursts into flames!") + visible_message(span_danger("[src] bursts into flames!")) fire_act() /datum/species/golem/plastic @@ -939,27 +939,27 @@ if(M.stat == DEAD) //F continue if(M == H) - H.show_message("You cringe with pain as your body rings around you!", MSG_AUDIBLE) + H.show_message(span_narsiesmall("You cringe with pain as your body rings around you!"), MSG_AUDIBLE) H.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE) H.soundbang_act(2, 0, 100, 1) H.jitteriness += 7 var/distance = max(0,get_dist(get_turf(H),get_turf(M))) switch(distance) if(0 to 1) - M.show_message("GONG!", MSG_AUDIBLE) + M.show_message(span_narsiesmall("GONG!"), MSG_AUDIBLE) M.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE) M.soundbang_act(1, 0, 30, 3) M.add_confusion(10) M.jitteriness += 4 SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "gonged", /datum/mood_event/loud_gong) if(2 to 3) - M.show_message("GONG!", MSG_AUDIBLE) + M.show_message(span_cult("GONG!"), MSG_AUDIBLE) M.playsound_local(H, 'sound/effects/gong.ogg', 75, TRUE) M.soundbang_act(1, 0, 15, 2) M.jitteriness += 3 SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "gonged", /datum/mood_event/loud_gong) else - M.show_message("GONG!", MSG_AUDIBLE) + M.show_message(span_warning("GONG!"), MSG_AUDIBLE) M.playsound_local(H, 'sound/effects/gong.ogg', 50, TRUE) @@ -1008,16 +1008,16 @@ if(last_creation + brother_creation_cooldown > world.time) //no cheesing dork return if(C.amount < 10) - to_chat(H, "You do not have enough cardboard!") + to_chat(H, span_warning("You do not have enough cardboard!")) return FALSE - to_chat(H, "You attempt to create a new cardboard brother.") + to_chat(H, span_notice("You attempt to create a new cardboard brother.")) if(do_after(user, 30, target = user)) if(last_creation + brother_creation_cooldown > world.time) //no cheesing dork return if(!C.use(10)) - to_chat(H, "You do not have enough cardboard!") + to_chat(H, span_warning("You do not have enough cardboard!")) return FALSE - to_chat(H, "You create a new cardboard golem shell.") + to_chat(H, span_notice("You create a new cardboard golem shell.")) create_brother(H.loc) /datum/species/golem/cardboard/proc/create_brother(location) @@ -1135,18 +1135,18 @@ if(2) H.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt.")) if(3) - to_chat(H, "Your bones hurt!") + to_chat(H, span_warning("Your bones hurt!")) if(chem.overdosed) if(DT_PROB(2, delta_time) && iscarbon(H)) //big oof var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly. var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood if(bp) playsound(H, get_sfx("desecration"), 50, TRUE, -1) //You just want to socialize - H.visible_message("[H] rattles loudly and flails around!!", "Your bones hurt so much that your missing muscles spasm!!") + H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!")) H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice) bp.receive_damage(200, 0, 0) //But I don't think we should else - to_chat(H, "Your missing arm aches from wherever you left it.") + to_chat(H, span_warning("Your missing arm aches from wherever you left it.")) H.emote("sigh") H.reagents.remove_reagent(chem.type, chem.metabolization_rate * delta_time) return TRUE @@ -1163,9 +1163,9 @@ /datum/action/innate/bonechill/Activate() if(world.time < last_use + cooldown) - to_chat("You aren't ready yet to rattle your bones again!") + to_chat(span_warning("You aren't ready yet to rattle your bones again!")) return - owner.visible_message("[owner] rattles [owner.p_their()] bones harrowingly.", "You rattle your bones") + owner.visible_message(span_warning("[owner] rattles [owner.p_their()] bones harrowingly."), span_notice("You rattle your bones")) last_use = world.time if(prob(snas_chance)) playsound(get_turf(owner),'sound/magic/RATTLEMEBONES2.ogg', 100) @@ -1182,7 +1182,7 @@ if((L.mob_biotypes & MOB_UNDEAD) || isgolem(L) || HAS_TRAIT(L, TRAIT_RESISTCOLD)) continue //Do not affect our brothers - to_chat(L, "A spine-chilling sound chills you to the bone!") + to_chat(L, span_cultlarge("A spine-chilling sound chills you to the bone!")) L.apply_status_effect(/datum/status_effect/bonechill) SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "spooked", /datum/mood_event/spooked) @@ -1215,7 +1215,7 @@ var/obj/effect/proc_holder/spell/aimed/cryo/cryo /datum/species/golem/snow/spec_death(gibbed, mob/living/carbon/human/H) - H.visible_message("[H] turns into a pile of snow!") + H.visible_message(span_danger("[H] turns into a pile of snow!")) for(var/obj/item/W in H) H.dropItemToGround(W) for(var/i=1, i <= rand(3,5), i++) diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index be126d10f9d..edb9d348004 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -44,7 +44,7 @@ if(!H.blood_volume) H.blood_volume += 2.5 * delta_time H.adjustBruteLoss(2.5 * delta_time) - to_chat(H, "You feel empty!") + to_chat(H, span_danger("You feel empty!")) if(H.blood_volume < BLOOD_VOLUME_NORMAL) if(H.nutrition >= NUTRITION_LEVEL_STARVING) @@ -53,7 +53,7 @@ if(H.blood_volume < BLOOD_VOLUME_OKAY) if(DT_PROB(2.5, delta_time)) - to_chat(H, "You feel drained!") + to_chat(H, span_danger("You feel drained!")) if(H.blood_volume < BLOOD_VOLUME_BAD) Cannibalize_Body(H) @@ -71,7 +71,7 @@ limbs_to_consume -= list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM) consumed_limb = H.get_bodypart(pick(limbs_to_consume)) consumed_limb.drop_limb() - to_chat(H, "Your [consumed_limb] is drawn back into your body, unable to maintain its shape!") + to_chat(H, span_userdanger("Your [consumed_limb] is drawn back into your body, unable to maintain its shape!")) qdel(consumed_limb) H.blood_volume += 20 @@ -97,13 +97,13 @@ var/mob/living/carbon/human/H = owner var/list/limbs_to_heal = H.get_missing_limbs() if(limbs_to_heal.len < 1) - to_chat(H, "You feel intact enough as it is.") + to_chat(H, span_notice("You feel intact enough as it is.")) return - to_chat(H, "You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]...") + to_chat(H, span_notice("You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]...")) if(H.blood_volume >= 40*limbs_to_heal.len+BLOOD_VOLUME_OKAY) H.regenerate_limbs() H.blood_volume -= 40*limbs_to_heal.len - to_chat(H, "...and after a moment you finish reforming!") + to_chat(H, span_notice("...and after a moment you finish reforming!")) return else if(H.blood_volume >= 40)//We can partially heal some limbs while(H.blood_volume >= BLOOD_VOLUME_OKAY+40) @@ -111,9 +111,9 @@ H.regenerate_limb(healed_limb) limbs_to_heal -= healed_limb H.blood_volume -= 40 - to_chat(H, "...but there is not enough of you to fix everything! You must attain more mass to heal completely!") + to_chat(H, span_warning("...but there is not enough of you to fix everything! You must attain more mass to heal completely!")) return - to_chat(H, "...but there is not enough of you to go around! You must attain more mass to heal!") + to_chat(H, span_warning("...but there is not enough of you to go around! You must attain more mass to heal!")) ////////////////////////////////////////////////////////SLIMEPEOPLE/////////////////////////////////////////////////////////////////// @@ -178,7 +178,7 @@ /datum/species/jelly/slime/spec_life(mob/living/carbon/human/H, delta_time, times_fired) if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) if(DT_PROB(2.5, delta_time)) - to_chat(H, "You feel very bloated!") + to_chat(H, span_notice("You feel very bloated!")) else if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) H.blood_volume += 1.5 * delta_time @@ -218,9 +218,9 @@ if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) make_dupe() else - to_chat(H, "...but there is not enough of you to go around! You must attain more mass to split!") + to_chat(H, span_warning("...but there is not enough of you to go around! You must attain more mass to split!")) else - to_chat(H, "...but fail to stand perfectly still!") + to_chat(H, span_warning("...but fail to stand perfectly still!")) H.notransform = FALSE @@ -273,7 +273,7 @@ /datum/action/innate/swap_body/Activate() if(!isslimeperson(owner)) - to_chat(owner, "You are not a slimeperson.") + to_chat(owner, span_warning("You are not a slimeperson.")) Remove(owner) else ui_interact(owner) @@ -399,14 +399,14 @@ if(M.current.stat == CONSCIOUS) M.current.visible_message("[M.current] \ stops moving and starts staring vacantly into space.", - "You stop moving this body...") + span_notice("You stop moving this body...")) else - to_chat(M.current, "You abandon this body...") + to_chat(M.current, span_notice("You abandon this body...")) M.current.transfer_trait_datums(dupe) M.transfer_to(dupe) dupe.visible_message("[dupe] blinks and looks \ around.", - "...and move this one instead.") + span_notice("...and move this one instead.")) ///////////////////////////////////LUMINESCENTS////////////////////////////////////////// @@ -525,23 +525,23 @@ if(!H.put_in_active_hand(S)) S.forceMove(H.drop_location()) species.current_extract = null - to_chat(H, "You eject [S].") + to_chat(H, span_notice("You eject [S].")) species.update_slime_actions() else var/obj/item/I = H.get_active_held_item() if(istype(I, /obj/item/slime_extract)) var/obj/item/slime_extract/S = I if(!S.Uses) - to_chat(H, "[I] is spent! You cannot integrate it.") + to_chat(H, span_warning("[I] is spent! You cannot integrate it.")) return if(!H.temporarilyRemoveItemFromInventory(S)) return S.forceMove(H) species.current_extract = S - to_chat(H, "You consume [I], and you feel it pulse within you...") + to_chat(H, span_notice("You consume [I], and you feel it pulse within you...")) species.update_slime_actions() else - to_chat(H, "You need to hold an unused slime extract in your active hand!") + to_chat(H, span_warning("You need to hold an unused slime extract in your active hand!")) /datum/action/innate/use_extract name = "Extract Minor Activation" @@ -644,7 +644,7 @@ if(!owner) return FALSE linked_mobs.Add(M) - to_chat(M, "You are now connected to [owner.real_name]'s Slime Link.") + to_chat(M, span_notice("You are now connected to [owner.real_name]'s Slime Link.")) var/datum/action/innate/linked_speech/action = new(src) linked_actions.Add(action) action.Grant(M) @@ -662,7 +662,7 @@ action.Remove(M) var/mob/living/carbon/human/owner = slimelink_owner.resolve() if(owner) - to_chat(M, "You are no longer connected to [owner.real_name]'s Slime Link.") + to_chat(M, span_notice("You are no longer connected to [owner.real_name]'s Slime Link.")) linked_mobs -= M linked_actions -= action qdel(action) @@ -680,14 +680,14 @@ return var/datum/species/jelly/stargazer/species = target if(!species || !(H in species.linked_mobs)) - to_chat(H, "The link seems to have been severed...") + to_chat(H, span_warning("The link seems to have been severed...")) Remove(H) return var/message = sanitize(input("Message:", "Slime Telepathy") as text|null) if(!species || !(H in species.linked_mobs)) - to_chat(H, "The link seems to have been severed...") + to_chat(H, span_warning("The link seems to have been severed...")) Remove(H) return @@ -727,22 +727,22 @@ if(!M) return if(M.anti_magic_check(FALSE, FALSE, TRUE, 0)) - to_chat(H, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.") + to_chat(H, span_notice("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")) return var/msg = sanitize(input("Message:", "Telepathy") as text|null) if(msg) if(M.anti_magic_check(FALSE, FALSE, TRUE, 0)) - to_chat(H, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.") + to_chat(H, span_notice("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")) return log_directed_talk(H, M, msg, LOG_SAY, "slime telepathy") - to_chat(M, "You hear an alien voice in your head... [msg]") - to_chat(H, "You telepathically said: \"[msg]\" to [M]") + to_chat(M, "[span_notice("You hear an alien voice in your head... ")][msg]") + to_chat(H, span_notice("You telepathically said: \"[msg]\" to [M]")) for(var/dead in GLOB.dead_mob_list) if(!isobserver(dead)) continue var/follow_link_user = FOLLOW_LINK(dead, H) var/follow_link_target = FOLLOW_LINK(dead, M) - to_chat(dead, "[follow_link_user] [H] Slime Telepathy --> [follow_link_target] [M] [msg]") + to_chat(dead, "[follow_link_user] [span_name("[H]")] [span_alertalien("Slime Telepathy --> ")] [follow_link_target] [span_name("[M]")] [span_noticealien("[msg]")]") /datum/action/innate/link_minds name = "Link Minds" @@ -758,19 +758,19 @@ CHECK_DNA_AND_SPECIES(H) if(!H.pulling || !isliving(H.pulling) || H.grab_state < GRAB_AGGRESSIVE) - to_chat(H, "You need to aggressively grab someone to link minds!") + to_chat(H, span_warning("You need to aggressively grab someone to link minds!")) return var/mob/living/target = H.pulling var/datum/species/jelly/stargazer/species = target - to_chat(H, "You begin linking [target]'s mind to yours...") - to_chat(target, "You feel a foreign presence within your mind...") + to_chat(H, span_notice("You begin linking [target]'s mind to yours...")) + to_chat(target, span_warning("You feel a foreign presence within your mind...")) if(do_after(H, 60, target = target)) if(H.pulling != target || H.grab_state < GRAB_AGGRESSIVE) return if(species.link_mob(target)) - to_chat(H, "You connect [target]'s mind to your slime link!") + to_chat(H, span_notice("You connect [target]'s mind to your slime link!")) else - to_chat(H, "You can't seem to link [target]'s mind...") - to_chat(target, "The foreign presence leaves your mind.") + to_chat(H, span_warning("You can't seem to link [target]'s mind...")) + to_chat(target, span_warning("The foreign presence leaves your mind.")) diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm index 0f3e2546348..1eada802749 100644 --- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -80,14 +80,14 @@ affecting = human_victim.get_bodypart(pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) var/armor = victim.run_armor_check(affecting, MELEE) if(prob(25)) - victim.visible_message("[user]'s bite misses [victim]!", - "You avoid [user]'s bite!", "You hear jaws snapping shut!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your bite misses [victim]!") + victim.visible_message(span_danger("[user]'s bite misses [victim]!"), + span_danger("You avoid [user]'s bite!"), span_hear("You hear jaws snapping shut!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("Your bite misses [victim]!")) return TRUE victim.apply_damage(rand(punchdamagelow, punchdamagehigh), BRUTE, affecting, armor) - victim.visible_message("[name] bites [victim]!", - "[name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, name) - to_chat(user, "You bite [victim]!") + victim.visible_message(span_danger("[name] bites [victim]!"), + span_userdanger("[name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, name) + to_chat(user, span_danger("You bite [victim]!")) if(armor >= 2) return TRUE for(var/d in user.diseases) diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index b8cb7476116..a4512f323e4 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -44,7 +44,7 @@ if(.) //if the mob is immune to fire, don't burn wings off. return if(H.dna.features["moth_wings"] != "Burnt Off" && H.bodytemperature >= 800 && H.fire_stacks > 0) //do not go into the extremely hot light. you will not survive - to_chat(H, "Your precious wings burn to a crisp!") + to_chat(H, span_danger("Your precious wings burn to a crisp!")) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "burnt_wings", /datum/mood_event/burnt_wings) if(!H.dna.features["original_moth_wings"]) //Fire apparently destroys DNA, so let's preserve that elsewhere, checks if an original was already stored to prevent bugs H.dna.features["original_moth_wings"] = H.dna.features["moth_wings"] diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 8d2dad9f243..1092fc6146b 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -61,7 +61,7 @@ if(environment.gases[/datum/gas/oxygen] && (environment.gases[/datum/gas/oxygen][MOLES]) >= 1) //Same threshhold that extinguishes fire H.adjust_fire_stacks(0.25 * delta_time) if(!H.on_fire && H.fire_stacks > 0) - H.visible_message("[H]'s body reacts with the atmosphere and bursts into flames!","Your body reacts with the atmosphere and bursts into flame!") + H.visible_message(span_danger("[H]'s body reacts with the atmosphere and bursts into flames!"),span_userdanger("Your body reacts with the atmosphere and bursts into flame!")) H.IgniteMob() internal_fire = TRUE else if(H.fire_stacks) @@ -113,18 +113,18 @@ if(2) H.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt.")) if(3) - to_chat(H, "Your bones hurt!") + to_chat(H, span_warning("Your bones hurt!")) if(chem.overdosed) if(DT_PROB(2, delta_time) && iscarbon(H)) //big oof var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly. var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood if(bp) playsound(H, get_sfx("desecration"), 50, TRUE, -1) //You just want to socialize - H.visible_message("[H] rattles loudly and flails around!!", "Your bones hurt so much that your missing muscles spasm!!") + H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!")) H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice) bp.receive_damage(200, 0, 0) //But I don't think we should else - to_chat(H, "Your missing arm aches from wherever you left it.") + to_chat(H, span_warning("Your missing arm aches from wherever you left it.")) H.emote("sigh") H.reagents.remove_reagent(chem.type, chem.metabolization_rate * delta_time) return TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index fe98fcb586f..8a34750cd51 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -59,18 +59,18 @@ if(2) H.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt.")) if(3) - to_chat(H, "Your bones hurt!") + to_chat(H, span_warning("Your bones hurt!")) if(chem.overdosed) if(DT_PROB(2, delta_time) && iscarbon(H)) //big oof var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly. var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood if(bp) playsound(H, get_sfx("desecration"), 50, TRUE, -1) //You just want to socialize - H.visible_message("[H] rattles loudly and flails around!!", "Your bones hurt so much that your missing muscles spasm!!") + H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!")) H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice) bp.receive_damage(200, 0, 0) //But I don't think we should else - to_chat(H, "Your missing arm aches from wherever you left it.") + to_chat(H, span_warning("Your missing arm aches from wherever you left it.")) H.emote("sigh") H.reagents.remove_reagent(chem.type, chem.metabolization_rate * delta_time) return TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 13e01cbf0cb..0ddc2c6bc55 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -52,14 +52,14 @@ return C.blood_volume -= 0.125 * delta_time if(C.blood_volume <= BLOOD_VOLUME_SURVIVE) - to_chat(C, "You ran out of blood!") + to_chat(C, span_danger("You ran out of blood!")) var/obj/shapeshift_holder/H = locate() in C if(H) H.shape.dust() //make sure we're killing the bat if you are out of blood, if you don't it creates weird situations where the bat is alive but the caster is dusted. C.dust() var/area/A = get_area(C) if(istype(A, /area/service/chapel)) - to_chat(C, "You don't belong here!") + to_chat(C, span_warning("You don't belong here!")) C.adjustFireLoss(10 * delta_time) C.adjust_fire_stacks(3 * delta_time) C.IgniteMob() @@ -87,39 +87,39 @@ var/mob/living/carbon/H = owner var/obj/item/organ/tongue/vampire/V = target if(V.drain_cooldown >= world.time) - to_chat(H, "You just drained blood, wait a few seconds!") + to_chat(H, span_warning("You just drained blood, wait a few seconds!")) return if(H.pulling && iscarbon(H.pulling)) var/mob/living/carbon/victim = H.pulling if(H.blood_volume >= BLOOD_VOLUME_MAXIMUM) - to_chat(H, "You're already full!") + to_chat(H, span_warning("You're already full!")) return if(victim.stat == DEAD) - to_chat(H, "You need a living victim!") + to_chat(H, span_warning("You need a living victim!")) return if(!victim.blood_volume || (victim.dna && ((NOBLOOD in victim.dna.species.species_traits) || victim.dna.species.exotic_blood))) - to_chat(H, "[victim] doesn't have blood!") + to_chat(H, span_warning("[victim] doesn't have blood!")) return V.drain_cooldown = world.time + 30 if(victim.anti_magic_check(FALSE, TRUE, FALSE, 0)) - to_chat(victim, "[H] tries to bite you, but stops before touching you!") - to_chat(H, "[victim] is blessed! You stop just in time to avoid catching fire.") + to_chat(victim, span_warning("[H] tries to bite you, but stops before touching you!")) + to_chat(H, span_warning("[victim] is blessed! You stop just in time to avoid catching fire.")) return if(victim.has_reagent(/datum/reagent/consumable/garlic)) - to_chat(victim, "[H] tries to bite you, but recoils in disgust!") - to_chat(H, "[victim] reeks of garlic! you can't bring yourself to drain such tainted blood.") + to_chat(victim, span_warning("[H] tries to bite you, but recoils in disgust!")) + to_chat(H, span_warning("[victim] reeks of garlic! you can't bring yourself to drain such tainted blood.")) return if(!do_after(H, 30, target = victim)) return var/blood_volume_difference = BLOOD_VOLUME_MAXIMUM - H.blood_volume //How much capacity we have left to absorb blood var/drained_blood = min(victim.blood_volume, VAMP_DRAIN_AMOUNT, blood_volume_difference) - to_chat(victim, "[H] is draining your blood!") - to_chat(H, "You drain some blood!") + to_chat(victim, span_danger("[H] is draining your blood!")) + to_chat(H, span_notice("You drain some blood!")) playsound(H, 'sound/items/drink.ogg', 30, TRUE, -2) victim.blood_volume = clamp(victim.blood_volume - drained_blood, 0, BLOOD_VOLUME_MAXIMUM) H.blood_volume = clamp(H.blood_volume + drained_blood, 0, BLOOD_VOLUME_MAXIMUM) if(!victim.blood_volume) - to_chat(H, "You finish off [victim]'s blood supply.") + to_chat(H, span_notice("You finish off [victim]'s blood supply.")) #undef VAMP_DRAIN_AMOUNT diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index 78a4358d9c0..2beaae0c83e 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -165,18 +165,18 @@ /mob/living/carbon/proc/give() var/obj/item/receiving = get_active_held_item() if(!receiving) - to_chat(src, "You're not holding anything to give!") + to_chat(src, span_warning("You're not holding anything to give!")) return if(IS_DEAD_OR_INCAP(src)) - to_chat(src, "You're unable to offer anything in your current state!") + to_chat(src, span_warning("You're unable to offer anything in your current state!")) return if(istype(receiving, /obj/item/slapper)) offer_high_five(receiving) return - visible_message("[src] is offering [receiving].", \ - "You offer [receiving].", null, 2) + visible_message(span_notice("[src] is offering [receiving]."), \ + span_notice("You offer [receiving]."), null, 2) for(var/mob/living/carbon/C in orange(1, src)) //Fixed that, now it shouldn't be able to give benos stunbatons and IDs if(!CanReach(C)) continue @@ -201,19 +201,19 @@ /mob/living/carbon/proc/take(mob/living/carbon/giver, obj/item/I) clear_alert("[giver]") if(get_dist(src, giver) > 1) - to_chat(src, "[giver] is out of range! ") + to_chat(src, span_warning("[giver] is out of range! ")) return if(!I || giver.get_active_held_item() != I) - to_chat(src, "[giver] is no longer holding the item they were offering! ") + to_chat(src, span_warning("[giver] is no longer holding the item they were offering! ")) return if(!get_empty_held_indexes()) - to_chat(src, "You have no empty hands!") + to_chat(src, span_warning("You have no empty hands!")) return if(!giver.temporarilyRemoveItemFromInventory(I)) - visible_message("[giver] tries to hand over [I] but it's stuck to them....") + visible_message(span_notice("[giver] tries to hand over [I] but it's stuck to them....")) return - visible_message("[src] takes [I] from [giver]", \ - "You take [I] from [giver]") + visible_message(span_notice("[src] takes [I] from [giver]"), \ + span_notice("You take [I] from [giver]")) put_in_hands(I) /// Spin-off of [/mob/living/carbon/proc/give] exclusively for high-fiving @@ -221,8 +221,8 @@ if(has_status_effect(STATUS_EFFECT_HIGHFIVE)) return if(!(locate(/mob/living/carbon) in orange(1, src))) - visible_message("[src] raises [p_their()] arm, looking around for a high-five, but there's no one around! How embarassing...", \ - "You post up, looking for a high-five, but finding no one within range! How embarassing...", null, 2) + visible_message(span_danger("[src] raises [p_their()] arm, looking around for a high-five, but there's no one around! How embarassing..."), \ + span_warning("You post up, looking for a high-five, but finding no one within range! How embarassing..."), null, 2) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five_alone) return diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 0b3c6dc3074..c8a95bcff73 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -276,22 +276,22 @@ // At lower pp, give out a little warning SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "smell") if(prob(5)) - to_chat(src, "There is an unpleasant smell in the air.") + to_chat(src, span_notice("There is an unpleasant smell in the air.")) if(5 to 20) //At somewhat higher pp, warning becomes more obvious if(prob(15)) - to_chat(src, "You smell something horribly decayed inside this room.") + to_chat(src, span_warning("You smell something horribly decayed inside this room.")) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/bad_smell) if(15 to 30) //Small chance to vomit. By now, people have internals on anyway if(prob(5)) - to_chat(src, "The stench of rotting carcasses is unbearable!") + to_chat(src, span_warning("The stench of rotting carcasses is unbearable!")) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench) vomit() if(30 to INFINITY) //Higher chance to vomit. Let the horror start if(prob(25)) - to_chat(src, "The stench of rotting carcasses is unbearable!") + to_chat(src, span_warning("The stench of rotting carcasses is unbearable!")) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench) vomit() else @@ -545,16 +545,16 @@ All effects don't start immediately, but rather get worse over time; the rate is if(drunkenness >= 81) adjustToxLoss(0.5 * delta_time) if(!stat && DT_PROB(2.5, delta_time)) - to_chat(src, "Maybe you should lie down for a bit...") + to_chat(src, span_warning("Maybe you should lie down for a bit...")) if(drunkenness >= 91) adjustToxLoss(0.5 * delta_time) adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.2 * delta_time) if(DT_PROB(10, delta_time) && !stat) if(SSshuttle.emergency.mode == SHUTTLE_DOCKED && is_station_level(z)) //QoL mainly - to_chat(src, "You're so tired... but you can't miss that shuttle...") + to_chat(src, span_warning("You're so tired... but you can't miss that shuttle...")) else - to_chat(src, "Just a quick nap...") + to_chat(src, span_warning("Just a quick nap...")) Sleeping(900) if(drunkenness >= 101) @@ -776,11 +776,11 @@ All effects don't start immediately, but rather get worse over time; the rate is if(limb.cremation_progress >= 100) if(limb.status == BODYPART_ORGANIC) //Non-organic limbs don't burn limb.drop_limb() - limb.visible_message("[src]'s [limb.name] crumbles into ash!") + limb.visible_message(span_warning("[src]'s [limb.name] crumbles into ash!")) qdel(limb) else limb.drop_limb() - limb.visible_message("[src]'s [limb.name] detaches from [p_their()] body!") + limb.visible_message(span_warning("[src]'s [limb.name] detaches from [p_their()] body!")) if(still_has_limbs) return @@ -792,17 +792,17 @@ All effects don't start immediately, but rather get worse over time; the rate is if(head.cremation_progress >= 100) if(head.status == BODYPART_ORGANIC) //Non-organic limbs don't burn head.drop_limb() - head.visible_message("[src]'s head crumbles into ash!") + head.visible_message(span_warning("[src]'s head crumbles into ash!")) qdel(head) else head.drop_limb() - head.visible_message("[src]'s head detaches from [p_their()] body!") + head.visible_message(span_warning("[src]'s head detaches from [p_their()] body!")) return //Nothing left: dust the body, drop the items (if they're flammable they'll burn on their own) chest.cremation_progress += rand(1 * delta_time, 2.5 * delta_time) if(chest.cremation_progress >= 100) - visible_message("[src]'s body crumbles into a pile of ash!") + visible_message(span_warning("[src]'s body crumbles into a pile of ash!")) dust(TRUE, TRUE) //////////////// diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm index b4e28bf19f5..6f6fd850aa0 100644 --- a/code/modules/mob/living/carbon/status_procs.dm +++ b/code/modules/mob/living/carbon/status_procs.dm @@ -13,7 +13,7 @@ return if(absorb_stun(0)) //continuous effect, so we don't want it to increment the stuns absorbed. return - to_chat(src, "You're too exhausted to keep going...") + to_chat(src, span_notice("You're too exhausted to keep going...")) ADD_TRAIT(src, TRAIT_INCAPACITATED, STAMINA) ADD_TRAIT(src, TRAIT_IMMOBILIZED, STAMINA) ADD_TRAIT(src, TRAIT_FLOORED, STAMINA) diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 5105b655e8d..c17a7ee1486 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -208,10 +208,10 @@ var/obj/item/kiss_blower = new kiss_type(user) if(user.put_in_hands(kiss_blower)) - to_chat(user, "You ready your kiss-blowing hand.") + to_chat(user, span_notice("You ready your kiss-blowing hand.")) else qdel(kiss_blower) - to_chat(user, "You're incapable of blowing a kiss in your current state.") + to_chat(user, span_warning("You're incapable of blowing a kiss in your current state.")) /datum/emote/living/laugh key = "laugh" @@ -262,10 +262,10 @@ var/mob/living/carbon/human/H = user if(H.usable_hands == 0) if(H.usable_legs != 0) - message_param = "tries to point at %t with a leg, falling down in the process!" + message_param = "tries to point at %t with a leg, [span_userdanger("falling down")] in the process!" H.Paralyze(20) else - message_param = "bumps [user.p_their()] head on the ground trying to motion towards %t." + message_param = "[span_userdanger("bumps [user.p_their()] head on the ground")] trying to motion towards %t." H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5) return ..() @@ -436,7 +436,7 @@ /datum/emote/living/custom/proc/check_invalid(mob/user, input) var/static/regex/stop_bad_mime = regex(@"says|exclaims|yells|asks") if(stop_bad_mime.Find(input, 1, 1)) - to_chat(user, "Invalid emote.") + to_chat(user, span_danger("Invalid emote.")) return TRUE return FALSE @@ -446,12 +446,12 @@ if(!can_run_emote(user, TRUE, intentional)) return FALSE if(is_banned_from(user.ckey, "Emote")) - to_chat(user, "You cannot send custom emotes (banned).") + to_chat(user, span_boldwarning("You cannot send custom emotes (banned).")) return FALSE else if(QDELETED(user)) return FALSE else if(user.client && user.client.prefs.muted & MUTE_IC) - to_chat(user, "You cannot send IC messages (muted).") + to_chat(user, span_boldwarning("You cannot send IC messages (muted).")) return FALSE else if(!params) custom_emote = copytext(sanitize(input("Choose an emote to display.") as text|null), 1, MAX_MESSAGE_LEN) diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm index 5cc139549df..85af90667a9 100644 --- a/code/modules/mob/living/inhand_holder.dm +++ b/code/modules/mob/living/inhand_holder.dm @@ -56,13 +56,13 @@ if(isliving(loc)) var/mob/living/L = loc if(display_messages) - to_chat(L, "[held_mob] wriggles free!") + to_chat(L, span_warning("[held_mob] wriggles free!")) L.dropItemToGround(src) held_mob.forceMove(get_turf(held_mob)) held_mob.reset_perspective() held_mob.setDir(SOUTH) if(display_messages) - held_mob.visible_message("[held_mob] uncurls!") + held_mob.visible_message(span_warning("[held_mob] uncurls!")) held_mob = null if(del_on_release && !destroying) qdel(src) @@ -76,8 +76,8 @@ /obj/item/clothing/head/mob_holder/on_found(mob/finder) if(held_mob?.will_escape_storage()) - to_chat(finder, "\A [held_mob.name] pops out! ") - finder.visible_message("\A [held_mob.name] pops out of the container [finder] is opening!", ignored_mobs = finder) + to_chat(finder, span_warning("\A [held_mob.name] pops out! ")) + finder.visible_message(span_warning("\A [held_mob.name] pops out of the container [finder] is opening!"), ignored_mobs = finder) release(TRUE, FALSE) return diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 458d5bd7f93..e88ec4b5444 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -46,8 +46,8 @@ return ..() /mob/living/proc/ZImpactDamage(turf/T, levels) - visible_message("[src] crashes into [T] with a sickening noise!", \ - "You crash into [T] with a sickening noise!") + visible_message(span_danger("[src] crashes into [T] with a sickening noise!"), \ + span_userdanger("You crash into [T] with a sickening noise!")) adjustBruteLoss((levels * 5) ** 1.5) Knockdown(levels * 50) @@ -103,7 +103,7 @@ //Should stop you pushing a restrained person out of the way if(L.pulledby && L.pulledby != src && HAS_TRAIT(L, TRAIT_RESTRAINED)) if(!(world.time % 5)) - to_chat(src, "[L] is restrained, you cannot push past.") + to_chat(src, span_warning("[L] is restrained, you cannot push past.")) return TRUE if(L.pulling) @@ -111,7 +111,7 @@ var/mob/P = L.pulling if(HAS_TRAIT(P, TRAIT_RESTRAINED)) if(!(world.time % 5)) - to_chat(src, "[L] is restraining [P], you cannot push past.") + to_chat(src, span_warning("[L] is restraining [P], you cannot push past.")) return TRUE if(moving_diagonally)//no mob swap during diagonal moves. @@ -279,9 +279,9 @@ if(AM.pulledby) if(!supress_message) - AM.visible_message("[src] pulls [AM] from [AM.pulledby]'s grip.", \ - "[src] pulls you from [AM.pulledby]'s grip.", null, null, src) - to_chat(src, "You pull [AM] from [AM.pulledby]'s grip!") + AM.visible_message(span_danger("[src] pulls [AM] from [AM.pulledby]'s grip."), \ + span_danger("[src] pulls you from [AM.pulledby]'s grip."), null, null, src) + to_chat(src, span_notice("You pull [AM] from [AM.pulledby]'s grip!")) log_combat(AM, AM.pulledby, "pulled from", src) AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once. @@ -306,9 +306,9 @@ log_combat(src, M, "grabbed", addition="passive grab") if(!supress_message && !(iscarbon(AM) && HAS_TRAIT(src, TRAIT_STRONG_GRABBER))) - M.visible_message("[src] grabs [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!", \ - "[src] grabs you [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by your hands":"passively"]!", null, null, src) - to_chat(src, "You grab [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!") + M.visible_message(span_warning("[src] grabs [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!"), \ + span_warning("[src] grabs you [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by your hands":"passively"]!"), null, null, src) + to_chat(src, span_notice("You grab [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!")) if(!iscarbon(src)) M.LAssailant = null else @@ -399,7 +399,7 @@ return FALSE if(!..()) return FALSE - visible_message("[src] points at [A].", "You point at [A].") + visible_message("[span_name("[src]")] points at [A].", span_notice("You point at [A].")) return TRUE @@ -412,7 +412,7 @@ adjustOxyLoss(health - HEALTH_THRESHOLD_DEAD) updatehealth() if(!whispered) - to_chat(src, "You have given up life and succumbed to death.") + to_chat(src, span_notice("You have given up life and succumbed to death.")) death() /mob/living/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_stasis = FALSE) @@ -449,7 +449,7 @@ set category = "IC" if(IsSleeping()) - to_chat(src, "You are already sleeping!") + to_chat(src, span_warning("You are already sleeping!")) return else if(tgui_alert(usr, "You sure you want to sleep for a while?", "Sleep", list("Yes", "No")) == "Yes") @@ -506,24 +506,24 @@ if(new_resting) if(body_position == LYING_DOWN) if(!silent) - to_chat(src, "You will now try to stay lying down on the floor.") + to_chat(src, span_notice("You will now try to stay lying down on the floor.")) else if(HAS_TRAIT(src, TRAIT_FORCED_STANDING) || (buckled && buckled.buckle_lying != NO_BUCKLE_LYING)) if(!silent) - to_chat(src, "You will now lay down as soon as you are able to.") + to_chat(src, span_notice("You will now lay down as soon as you are able to.")) else if(!silent) - to_chat(src, "You lay down.") + to_chat(src, span_notice("You lay down.")) set_lying_down() else if(body_position == STANDING_UP) if(!silent) - to_chat(src, "You will now try to remain standing up.") + to_chat(src, span_notice("You will now try to remain standing up.")) else if(HAS_TRAIT(src, TRAIT_FLOORED) || (buckled && buckled.buckle_lying != NO_BUCKLE_LYING)) if(!silent) - to_chat(src, "You will now stand up as soon as you are able to.") + to_chat(src, span_notice("You will now stand up as soon as you are able to.")) else if(!silent) - to_chat(src, "You stand up.") + to_chat(src, span_notice("You stand up.")) get_up(instant) update_resting() @@ -940,17 +940,17 @@ var/resist_chance = BASE_GRAB_RESIST_CHANCE /// see defines/combat.dm, this should be baseline 60% resist_chance = (resist_chance/altered_grab_state) ///Resist chance divided by the value imparted by your grab state. It isn't until you reach neckgrab that you gain a penalty to escaping a grab. if(prob(resist_chance)) - visible_message("[src] breaks free of [pulledby]'s grip!", \ - "You break free of [pulledby]'s grip!", null, null, pulledby) - to_chat(pulledby, "[src] breaks free of your grip!") + visible_message(span_danger("[src] breaks free of [pulledby]'s grip!"), \ + span_danger("You break free of [pulledby]'s grip!"), null, null, pulledby) + to_chat(pulledby, span_warning("[src] breaks free of your grip!")) log_combat(pulledby, src, "broke grab") pulledby.stop_pulling() return FALSE else adjustStaminaLoss(rand(15,20))//failure to escape still imparts a pretty serious penalty - visible_message("[src] struggles as they fail to break free of [pulledby]'s grip!", \ - "You struggle as you fail to break free of [pulledby]'s grip!", null, null, pulledby) - to_chat(pulledby, "[src] struggles as they fail to break free of your grip!") + visible_message(span_danger("[src] struggles as they fail to break free of [pulledby]'s grip!"), \ + span_warning("You struggle as you fail to break free of [pulledby]'s grip!"), null, null, pulledby) + to_chat(pulledby, span_danger("[src] struggles as they fail to break free of your grip!")) if(moving_resist && client) //we resisted by trying to move client.move_delay = world.time + 40 else @@ -995,11 +995,11 @@ if(SEND_SIGNAL(src, COMSIG_TRY_STRIP, who, what) & COMPONENT_CANT_STRIP) return if(!what.canStrip(who)) - to_chat(src, "You can't remove \the [what.name], it appears to be stuck!") + to_chat(src, span_warning("You can't remove \the [what.name], it appears to be stuck!")) return - who.visible_message("[src] tries to remove [who]'s [what.name].", \ - "[src] tries to remove your [what.name].", null, null, src) - to_chat(src, "You try to remove [who]'s [what.name]...") + who.visible_message(span_warning("[src] tries to remove [who]'s [what.name]."), \ + span_userdanger("[src] tries to remove your [what.name]."), null, null, src) + to_chat(src, span_danger("You try to remove [who]'s [what.name]...")) who.log_message("[key_name(who)] is being stripped of [what] by [key_name(src)]", LOG_ATTACK, color="red") log_message("[key_name(who)] is being stripped of [what] by [key_name(src)]", LOG_ATTACK, color="red", log_globally=FALSE) what.add_fingerprint(src) @@ -1023,7 +1023,7 @@ if(!what || (SEND_SIGNAL(src, COMSIG_TRY_STRIP, who, what) & COMPONENT_CANT_STRIP)) return if(HAS_TRAIT(what, TRAIT_NODROP)) - to_chat(src, "You can't put \the [what.name] on [who], it's stuck to your hand!") + to_chat(src, span_warning("You can't put \the [what.name] on [who], it's stuck to your hand!")) return if(what) var/list/where_list @@ -1036,17 +1036,17 @@ final_where = where if(!what.mob_can_equip(who, src, final_where, TRUE, TRUE)) - to_chat(src, "\The [what.name] doesn't fit in that place!") + to_chat(src, span_warning("\The [what.name] doesn't fit in that place!")) return if(istype(what,/obj/item/clothing)) var/obj/item/clothing/c = what if(c.clothing_flags & DANGEROUS_OBJECT) - who.visible_message("[src] tries to put [what] on [who].", \ - "[src] tries to put [what] on you.", null, null, src) + who.visible_message(span_danger("[src] tries to put [what] on [who]."), \ + span_userdanger("[src] tries to put [what] on you."), null, null, src) else - who.visible_message("[src] tries to put [what] on [who].", \ - "[src] tries to put [what] on you.", null, null, src) - to_chat(src, "You try to put [what] on [who]...") + who.visible_message(span_notice("[src] tries to put [what] on [who]."), \ + span_notice("[src] tries to put [what] on you."), null, null, src) + to_chat(src, span_notice("You try to put [what] on [who]...")) who.log_message("[key_name(who)] is having [what] put on them by [key_name(src)]", LOG_ATTACK, color="red") log_message("[key_name(who)] is having [what] put on them by [key_name(src)]", LOG_ATTACK, color="red", log_globally=FALSE) if(do_mob(src, who, what.equip_delay_other)) @@ -1124,30 +1124,30 @@ /mob/living/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE, need_hands = FALSE, floor_okay=FALSE) if(!(mobility_flags & MOBILITY_UI) && !floor_okay) - to_chat(src, "You can't do that right now!") + to_chat(src, span_warning("You can't do that right now!")) return FALSE if(be_close && !Adjacent(M) && (M.loc != src)) if(no_tk) - to_chat(src, "You are too far away!") + to_chat(src, span_warning("You are too far away!")) return FALSE var/datum/dna/D = has_dna() if(!D || !D.check_mutation(TK) || !tkMaxRangeCheck(src, M)) - to_chat(src, "You are too far away!") + to_chat(src, span_warning("You are too far away!")) return FALSE if(need_hands && !can_hold_items(isitem(M) ? M : null)) //almost redundant if it weren't for mobs, - to_chat(src, "You don't have the physical ability to do this!") + to_chat(src, span_warning("You don't have the physical ability to do this!")) return FALSE if(!no_dexterity && !ISADVANCEDTOOLUSER(src)) - to_chat(src, "You don't have the dexterity to do this!") + to_chat(src, span_warning("You don't have the dexterity to do this!")) return FALSE return TRUE /mob/living/proc/can_use_guns(obj/item/G)//actually used for more than guns! if(G.trigger_guard == TRIGGER_GUARD_NONE) - to_chat(src, "You are unable to fire this!") + to_chat(src, span_warning("You are unable to fire this!")) return FALSE if(G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && (!ISADVANCEDTOOLUSER(src) && !HAS_TRAIT(src, TRAIT_GUN_NATURAL))) - to_chat(src, "You try to fire [G], but can't use the trigger!") + to_chat(src, span_warning("You try to fire [G], but can't use the trigger!")) return FALSE return TRUE @@ -1176,7 +1176,7 @@ var/mob/living/simple_animal/hostile/guardian/G = para G.summoner = new_mob G.Recall() - to_chat(G, "Your summoner has changed form!") + to_chat(G, span_holoparasite("Your summoner has changed form!")) /mob/living/rad_act(amount) . = ..() @@ -1213,8 +1213,8 @@ /mob/living/proc/IgniteMob() if(fire_stacks > 0 && !on_fire) on_fire = TRUE - src.visible_message("[src] catches fire!", \ - "You're set on fire!") + src.visible_message(span_warning("[src] catches fire!"), \ + span_userdanger("You're set on fire!")) new/obj/effect/dummy/lighting_obj/moblight/fire(src) throw_alert("fire", /atom/movable/screen/alert/fire) update_fire() @@ -1382,7 +1382,7 @@ /mob/living/proc/mob_pickup(mob/living/L) var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, held_state, head_icon, held_lh, held_rh, worn_slot_flags) - L.visible_message("[L] scoops up [src]!") + L.visible_message(span_warning("[L] scoops up [src]!")) L.put_in_hands(holder) /mob/living/proc/set_name() @@ -1394,15 +1394,15 @@ if(!ishuman(user)) return if(!user.get_empty_held_indexes()) - to_chat(user, "Your hands are full!") + to_chat(user, span_warning("Your hands are full!")) return FALSE if(buckled) - to_chat(user, "[src] is buckled to something!") + to_chat(user, span_warning("[src] is buckled to something!")) return FALSE if(!instant) - user.visible_message("[user] starts trying to scoop up [src]!", \ - "You start trying to scoop up [src]...", null, null, src) - to_chat(src, "[user] starts trying to scoop you up!") + user.visible_message(span_warning("[user] starts trying to scoop up [src]!"), \ + span_danger("You start trying to scoop up [src]..."), null, null, src) + to_chat(src, span_userdanger("[user] starts trying to scoop you up!")) if(!do_after(user, 2 SECONDS, target = src)) return FALSE mob_pickup(user) @@ -1613,7 +1613,7 @@ SIGNAL_HANDLER var/turf/ceiling = get_step_multiz(src, UP) if(!ceiling) //We are at the highest z-level. - to_chat(src, "You can't see through the ceiling above you.") + to_chat(src, span_warning("You can't see through the ceiling above you.")) return else if(!istransparentturf(ceiling)) //There is no turf we can look through above us var/turf/front_hole = get_step(ceiling, dir) @@ -1626,7 +1626,7 @@ ceiling = checkhole break if(!istransparentturf(ceiling)) - to_chat(src, "You can't see through the floor above you.") + to_chat(src, span_warning("You can't see through the floor above you.")) return reset_perspective(ceiling) @@ -1661,7 +1661,7 @@ var/turf/floor = get_turf(src) var/turf/lower_level = get_step_multiz(floor, DOWN) if(!lower_level) //We are at the lowest z-level. - to_chat(src, "You can't see through the floor below you.") + to_chat(src, span_warning("You can't see through the floor below you.")) return else if(!istransparentturf(floor)) //There is no turf we can look through below us var/turf/front_hole = get_step(floor, dir) @@ -1676,7 +1676,7 @@ lower_level = get_step_multiz(checkhole, DOWN) break if(!istransparentturf(floor)) - to_chat(src, "You can't see through the floor below you.") + to_chat(src, span_warning("You can't see through the floor below you.")) return reset_perspective(lower_level) @@ -1875,7 +1875,7 @@ // Trait removal if obese if(HAS_TRAIT_FROM(src, TRAIT_FAT, OBESITY)) if(overeatduration >= (200 SECONDS)) - to_chat(src, "Your transformation restores your body's natural fitness!") + to_chat(src, span_notice("Your transformation restores your body's natural fitness!")) REMOVE_TRAIT(src, TRAIT_FAT, OBESITY) remove_movespeed_modifier(/datum/movespeed_modifier/obesity) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 6568bb32217..b9d4bacdd9a 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -13,19 +13,19 @@ if(armour_penetration) armor = max(0, armor - armour_penetration) if(penetrated_text) - to_chat(src, "[penetrated_text]") + to_chat(src, span_userdanger("[penetrated_text]")) else - to_chat(src, "Your armor was penetrated!") + to_chat(src, span_userdanger("Your armor was penetrated!")) else if(armor >= 100) if(absorb_text) - to_chat(src, "[absorb_text]") + to_chat(src, span_notice("[absorb_text]")) else - to_chat(src, "Your armor absorbs the blow!") + to_chat(src, span_notice("Your armor absorbs the blow!")) else if(soften_text) - to_chat(src, "[soften_text]") + to_chat(src, span_warning("[soften_text]")) else - to_chat(src, "Your armor softens the blow!") + to_chat(src, span_warning("Your armor softens the blow!")) return armor /mob/living/proc/getarmor(def_zone, type) @@ -101,8 +101,8 @@ log_combat(thrown_by, src, "threw and hit", thrown_item) if(nosell_hit) return ..() - visible_message("[src] is hit by [thrown_item]!", \ - "You're hit by [thrown_item]!") + visible_message(span_danger("[src] is hit by [thrown_item]!"), \ + span_userdanger("You're hit by [thrown_item]!")) if(!thrown_item.throwforce) return var/armor = run_armor_check(zone, MELEE, "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", thrown_item.armour_penetration, "", FALSE, thrown_item.weak_against_armour) @@ -126,11 +126,11 @@ return if(!(status_flags & CANPUSH) || HAS_TRAIT(src, TRAIT_PUSHIMMUNE)) - to_chat(user, "[src] can't be grabbed more aggressively!") + to_chat(user, span_warning("[src] can't be grabbed more aggressively!")) return FALSE if(user.grab_state >= GRAB_AGGRESSIVE && HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to risk hurting [src]!") + to_chat(user, span_warning("You don't want to risk hurting [src]!")) return FALSE grippedby(user) @@ -148,9 +148,9 @@ if(user.grab_state) //only the first upgrade is instantaneous var/old_grab_state = user.grab_state var/grab_upgrade_time = instant ? 0 : 30 - visible_message("[user] starts to tighten [user.p_their()] grip on [src]!", \ - "[user] starts to tighten [user.p_their()] grip on you!", "You hear aggressive shuffling!", null, user) - to_chat(user, "You start to tighten your grip on [src]!") + visible_message(span_danger("[user] starts to tighten [user.p_their()] grip on [src]!"), \ + span_userdanger("[user] starts to tighten [user.p_their()] grip on you!"), span_hear("You hear aggressive shuffling!"), null, user) + to_chat(user, span_danger("You start to tighten your grip on [src]!")) switch(user.grab_state) if(GRAB_AGGRESSIVE) log_combat(user, src, "attempted to neck grab", addition="neck grab") @@ -165,29 +165,29 @@ if(GRAB_AGGRESSIVE) var/add_log = "" if(HAS_TRAIT(user, TRAIT_PACIFISM)) - visible_message("[user] firmly grips [src]!", - "[user] firmly grips you!", "You hear aggressive shuffling!", null, user) - to_chat(user, "You firmly grip [src]!") + visible_message(span_danger("[user] firmly grips [src]!"), + span_danger("[user] firmly grips you!"), span_hear("You hear aggressive shuffling!"), null, user) + to_chat(user, span_danger("You firmly grip [src]!")) add_log = " (pacifist)" else - visible_message("[user] grabs [src] aggressively!", \ - "[user] grabs you aggressively!", "You hear aggressive shuffling!", null, user) - to_chat(user, "You grab [src] aggressively!") + visible_message(span_danger("[user] grabs [src] aggressively!"), \ + span_userdanger("[user] grabs you aggressively!"), span_hear("You hear aggressive shuffling!"), null, user) + to_chat(user, span_danger("You grab [src] aggressively!")) drop_all_held_items() stop_pulling() log_combat(user, src, "grabbed", addition="aggressive grab[add_log]") if(GRAB_NECK) log_combat(user, src, "grabbed", addition="neck grab") - visible_message("[user] grabs [src] by the neck!",\ - "[user] grabs you by the neck!", "You hear aggressive shuffling!", null, user) - to_chat(user, "You grab [src] by the neck!") + visible_message(span_danger("[user] grabs [src] by the neck!"),\ + span_userdanger("[user] grabs you by the neck!"), span_hear("You hear aggressive shuffling!"), null, user) + to_chat(user, span_danger("You grab [src] by the neck!")) if(!buckled && !density) Move(user.loc) if(GRAB_KILL) log_combat(user, src, "strangled", addition="kill grab") - visible_message("[user] is strangling [src]!", \ - "[user] is strangling you!", "You hear aggressive shuffling!", null, user) - to_chat(user, "You're strangling [src]!") + visible_message(span_danger("[user] is strangling [src]!"), \ + span_userdanger("[user] is strangling you!"), span_hear("You hear aggressive shuffling!"), null, user) + to_chat(user, span_danger("You're strangling [src]!")) if(!buckled && !density) Move(user.loc) user.set_pull_offsets(src, grab_state) @@ -205,35 +205,35 @@ return // can't attack while eating! if(HAS_TRAIT(src, TRAIT_PACIFISM)) - to_chat(M, "You don't want to hurt anyone!") + to_chat(M, span_warning("You don't want to hurt anyone!")) return FALSE if (stat != DEAD) log_combat(M, src, "attacked") M.do_attack_animation(src) - visible_message("\The [M.name] glomps [src]!", \ - "\The [M.name] glomps you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M) - to_chat(M, "You glomp [src]!") + visible_message(span_danger("\The [M.name] glomps [src]!"), \ + span_userdanger("\The [M.name] glomps you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, M) + to_chat(M, span_danger("You glomp [src]!")) return TRUE /mob/living/attack_animal(mob/living/simple_animal/user, list/modifiers) user.face_atom(src) if(user.melee_damage_upper == 0) if(user != src) - visible_message("\The [user] [user.friendly_verb_continuous] [src]!", \ - "\The [user] [user.friendly_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You [user.friendly_verb_simple] [src]!") + visible_message(span_notice("\The [user] [user.friendly_verb_continuous] [src]!"), \ + span_notice("\The [user] [user.friendly_verb_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_notice("You [user.friendly_verb_simple] [src]!")) return FALSE if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to hurt anyone!") + to_chat(user, span_warning("You don't want to hurt anyone!")) return FALSE if(user.attack_sound) playsound(loc, user.attack_sound, 50, TRUE, TRUE) user.do_attack_animation(src) - visible_message("\The [user] [user.attack_verb_continuous] [src]!", \ - "\The [user] [user.attack_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You [user.attack_verb_simple] [src]!") + visible_message(span_danger("\The [user] [user.attack_verb_continuous] [src]!"), \ + span_userdanger("\The [user] [user.attack_verb_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You [user.attack_verb_simple] [src]!")) log_combat(user, src, "attacked") return TRUE @@ -259,49 +259,49 @@ if (!user.combat_mode) return FALSE if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to hurt anyone!") + to_chat(user, span_warning("You don't want to hurt anyone!")) return FALSE if(user.is_muzzled() || user.is_mouth_covered(FALSE, TRUE)) - to_chat(user, "You can't bite with your mouth covered!") + to_chat(user, span_warning("You can't bite with your mouth covered!")) return FALSE user.do_attack_animation(src, ATTACK_EFFECT_BITE) if (prob(75)) log_combat(user, src, "attacked") playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1) - visible_message("[user.name] bites [src]!", \ - "[user.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You bite [src]!") + visible_message(span_danger("[user.name] bites [src]!"), \ + span_userdanger("[user.name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You bite [src]!")) return TRUE else - visible_message("[user.name]'s bite misses [src]!", \ - "You avoid [user.name]'s bite!", "You hear the sound of jaws snapping shut!", COMBAT_MESSAGE_RANGE, user) - to_chat(user, "Your bite misses [src]!") + visible_message(span_danger("[user.name]'s bite misses [src]!"), \ + span_danger("You avoid [user.name]'s bite!"), span_hear("You hear the sound of jaws snapping shut!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your bite misses [src]!")) return FALSE /mob/living/attack_larva(mob/living/carbon/alien/larva/L) if(L.combat_mode) if(HAS_TRAIT(L, TRAIT_PACIFISM)) - to_chat(L, "You don't want to hurt anyone!") + to_chat(L, span_warning("You don't want to hurt anyone!")) return L.do_attack_animation(src) if(prob(90)) log_combat(L, src, "attacked") - visible_message("[L.name] bites [src]!", \ - "[L.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, L) - to_chat(L, "You bite [src]!") + visible_message(span_danger("[L.name] bites [src]!"), \ + span_userdanger("[L.name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, L) + to_chat(L, span_danger("You bite [src]!")) playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1) return TRUE else - visible_message("[L.name]'s bite misses [src]!", \ - "You avoid [L.name]'s bite!", "You hear the sound of jaws snapping shut!", COMBAT_MESSAGE_RANGE, L) - to_chat(L, "Your bite misses [src]!") + visible_message(span_danger("[L.name]'s bite misses [src]!"), \ + span_danger("You avoid [L.name]'s bite!"), span_hear("You hear the sound of jaws snapping shut!"), COMBAT_MESSAGE_RANGE, L) + to_chat(L, span_warning("Your bite misses [src]!")) else - visible_message("[L.name] rubs its head against [src].", \ - "[L.name] rubs its head against you.", null, null, L) - to_chat(L, "You rub your head against [src].") + visible_message(span_notice("[L.name] rubs its head against [src]."), \ + span_notice("[L.name] rubs its head against you."), null, null, L) + to_chat(L, span_notice("You rub your head against [src].")) return FALSE return FALSE @@ -311,20 +311,20 @@ return TRUE if(user.combat_mode) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to hurt anyone!") + to_chat(user, span_warning("You don't want to hurt anyone!")) return FALSE user.do_attack_animation(src) return TRUE else - visible_message("[user] caresses [src] with its scythe-like arm.", \ - "[user] caresses you with its scythe-like arm.", null, null, user) - to_chat(user, "You caress [src] with your scythe-like arm.") + visible_message(span_notice("[user] caresses [src] with its scythe-like arm."), \ + span_notice("[user] caresses you with its scythe-like arm."), null, null, user) + to_chat(user, span_notice("You caress [src] with your scythe-like arm.")) return FALSE /mob/living/attack_hulk(mob/living/carbon/human/user) ..() if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to hurt [src]!") + to_chat(user, span_warning("You don't want to hurt [src]!")) return FALSE return TRUE @@ -354,9 +354,9 @@ else adjustStaminaLoss(shock_damage) visible_message( - "[src] was shocked by \the [source]!", \ - "You feel a powerful shock coursing through your body!", \ - "You hear a heavy electrical crack." \ + span_danger("[src] was shocked by \the [source]!"), \ + span_userdanger("You feel a powerful shock coursing through your body!"), \ + span_hear("You hear a heavy electrical crack.") \ ) return shock_damage diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index deba770464d..e8f7616c518 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -104,7 +104,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( if(ic_blocked) //The filter warning message shows the sanitized message though. - to_chat(src, "That message contained a word prohibited in IC chat! Consider reviewing the server rules.\n\"[message]\"") + to_chat(src, span_warning("That message contained a word prohibited in IC chat! Consider reviewing the server rules.\n\"[message]\"")) SSblackbox.record_feedback("tally", "ic_blocked_words", 1, lowertext(config.ic_filter_regex.match)) return var/list/message_mods = list() @@ -158,13 +158,13 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( if(!can_speak_vocal(message)) if(H.mind?.miming) if(HAS_TRAIT(src, TRAIT_SIGN_LANG)) - to_chat(src, "You stop yourself from signing in favor of the artform of mimery!") + to_chat(src, span_warning("You stop yourself from signing in favor of the artform of mimery!")) return else - to_chat(src, "Your vow of silence prevents you from speaking!") + to_chat(src, span_green("Your vow of silence prevents you from speaking!")) return else - to_chat(src, "You find yourself unable to speak!") + to_chat(src, span_warning("You find yourself unable to speak!")) return var/message_range = 7 @@ -270,10 +270,10 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( if(speaker != src) if(!radio_freq) //These checks have to be seperate, else people talking on the radio will make "You can't hear yourself!" appear when hearing people over the radio while deaf. - deaf_message = "[speaker] [speaker.verb_say] something but you cannot hear [speaker.p_them()]." + deaf_message = "[span_name("[speaker]")] [speaker.verb_say] something but you cannot hear [speaker.p_them()]." deaf_type = 1 else - deaf_message = "You can't hear yourself!" + deaf_message = span_notice("You can't hear yourself!") deaf_type = 2 // Since you should be able to hear yourself without looking // Create map text prior to modifying message for goonchat @@ -360,7 +360,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( /mob/living/proc/can_speak_basic(message, ignore_spam = FALSE, forced = FALSE) //Check BEFORE handling of xeno and ling channels if(client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot speak in IC (muted).") + to_chat(src, span_danger("You cannot speak in IC (muted).")) return FALSE if(!(ignore_spam || forced) && client.handle_spam_prevention(message,MUTE_IC)) return FALSE diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 9807800ae2c..aedc60164de 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -17,10 +17,10 @@ //Vents var/ventcrawler = HAS_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS) || HAS_TRAIT(src, TRAIT_VENTCRAWLER_NUDE) if(ventcrawler) - to_chat(src, "You can ventcrawl! Use alt+click on vents to quickly travel about the station.") + to_chat(src, span_notice("You can ventcrawl! Use alt+click on vents to quickly travel about the station.")) if(ranged_ability) - ranged_ability.add_ranged_ability(src, "You currently have [ranged_ability] active!") + ranged_ability.add_ranged_ability(src, span_notice("You currently have [ranged_ability] active!")) var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) if(changeling) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 9bb79fd5864..ae56387c080 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -119,8 +119,8 @@ target_ai.mind.transfer_to(src) if(mind.special_role) mind.store_memory("As an AI, you must obey your silicon laws above all else. Your objectives will consider you to be dead.") - to_chat(src, "You have been installed as an AI! ") - to_chat(src, "You must obey your silicon laws above all else. Your objectives will consider you to be dead.") + to_chat(src, span_userdanger("You have been installed as an AI! ")) + to_chat(src, span_danger("You must obey your silicon laws above all else. Your objectives will consider you to be dead.")) to_chat(src, "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).") to_chat(src, "To look at other parts of the station, click on yourself to get a camera menu.") @@ -318,12 +318,12 @@ /mob/living/silicon/ai/proc/ai_call_shuttle() if(control_disabled) - to_chat(usr, "Wireless control is disabled!") + to_chat(usr, span_warning("Wireless control is disabled!")) return var/can_evac_or_fail_reason = SSshuttle.canEvac(src) if(can_evac_or_fail_reason != TRUE) - to_chat(usr, "[can_evac_or_fail_reason]") + to_chat(usr, span_alert("[can_evac_or_fail_reason]")) return var/reason = input(src, "What is the nature of your emergency? ([CALL_SHUTTLE_REASON_LENGTH] characters required.)", "Confirm Shuttle Call") as null|text @@ -372,10 +372,10 @@ return if(incapacitated()) if(battery < 50) - to_chat(src, "Insufficient backup power!") + to_chat(src, span_warning("Insufficient backup power!")) return battery = battery - 50 - to_chat(src, "You route power from your backup battery to move the bolts.") + to_chat(src, span_notice("You route power from your backup battery to move the bolts.")) var/is_anchored = FALSE if(move_resist == MOVE_FORCE_OVERPOWERING) move_resist = MOVE_FORCE_NORMAL @@ -396,7 +396,7 @@ if(href_list["emergencyAPC"]) //This check comes before incapacitated() because the only time it would be useful is when we have no power. if(!apc_override) - to_chat(src, "APC backdoor is no longer available.") + to_chat(src, span_notice("APC backdoor is no longer available.")) return apc_override.ui_interact(src) return @@ -428,7 +428,7 @@ if(H) H.attack_ai(src) //may as well recycle else - to_chat(src, "Unable to locate the holopad.") + to_chat(src, span_notice("Unable to locate the holopad.")) if(href_list["track"]) var/string = href_list["track"] trackable_mobs() @@ -463,13 +463,13 @@ return if(controlled_mech) - to_chat(src, "You are already loaded into an onboard computer!") + to_chat(src, span_warning("You are already loaded into an onboard computer!")) return if(!GLOB.cameranet.checkCameraVis(M)) - to_chat(src, "Exosuit is no longer near active cameras.") + to_chat(src, span_warning("Exosuit is no longer near active cameras.")) return if(!isturf(loc)) - to_chat(src, "You aren't in your core!") + to_chat(src, span_warning("You aren't in your core!")) return if(M) M.transfer_ai(AI_MECH_HACK, src, usr) //Called om the mech itself. @@ -507,7 +507,7 @@ else if(GLOB.cameranet && GLOB.cameranet.checkTurfVis(turf_check)) call_bot(turf_check) else - to_chat(src, "Selected location is not visible.") + to_chat(src, span_danger("Selected location is not visible.")) /mob/living/silicon/ai/proc/call_bot(turf/waypoint) @@ -515,9 +515,9 @@ return if(Bot.calling_ai && Bot.calling_ai != src) //Prevents an override if another AI is controlling this bot. - to_chat(src, "Interface error. Unit is already in use.") + to_chat(src, span_danger("Interface error. Unit is already in use.")) return - to_chat(src, "Sending command to bot...") + to_chat(src, span_notice("Sending command to bot...")) call_bot_cooldown = world.time + CALL_BOT_COOLDOWN Bot.call_bot(src, waypoint) call_bot_cooldown = 0 @@ -636,7 +636,7 @@ if(network in C.network) U.eyeobj.setLoc(get_turf(C)) break - to_chat(src, "Switched to the \"[uppertext(network)]\" camera network.") + to_chat(src, span_notice("Switched to the \"[uppertext(network)]\" camera network.")) //End of code by Mord_Sith //I am the icon meister. Bow fefore me. //>fefore @@ -721,7 +721,7 @@ /datum/action/innate/core_return/Activate() var/obj/machinery/power/apc/apc = owner.loc if(!istype(apc)) - to_chat(owner, "You are already in your Main Core.") + to_chat(owner, span_notice("You are already in your Main Core.")) return apc.malfvacate() qdel(src) @@ -794,11 +794,11 @@ return if(interaction == AI_TRANS_TO_CARD)//The only possible interaction. Upload AI mob to a card. if(!can_be_carded) - to_chat(user, "Transfer failed.") + to_chat(user, span_boldwarning("Transfer failed.")) return disconnect_shell() //If the AI is controlling a borg, force the player back to core! if(!mind) - to_chat(user, "No intelligence patterns detected.") + to_chat(user, span_warning("No intelligence patterns detected.")) return ShutOffDoomsdayDevice() var/obj/structure/ai_core/new_core = new /obj/structure/ai_core/deactivated(loc)//Spawns a deactivated terminal at AI location. @@ -809,11 +809,11 @@ forceMove(card) card.AI = src to_chat(src, "You have been downloaded to a mobile storage device. Remote device connection severed.") - to_chat(user, "Transfer successful: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") + to_chat(user, "[span_boldnotice("Transfer successful")]: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") /mob/living/silicon/ai/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE, need_hands = FALSE, floor_okay=FALSE) if(control_disabled) - to_chat(src, "You can't do that right now!") + to_chat(src, span_warning("You can't do that right now!")) return FALSE return can_see(M) && ..() //stop AIs from leaving windows open and using then after they lose vision @@ -839,7 +839,7 @@ if(S.job) jobpart = "[S.job]" - var/rendered = "[start][hrefpart][namepart] ([jobpart]) [treated_message]" + var/rendered = "[start][span_name("[hrefpart][namepart] ([jobpart]) ")][treated_message]" if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) create_chat_message(speaker, message_language, raw_message, spans) @@ -927,10 +927,10 @@ clear_alert("hackingapc") if(!istype(apc) || QDELETED(apc) || apc.machine_stat & BROKEN) - to_chat(src, "Hack aborted. The designated APC no longer exists on the power network.") + to_chat(src, span_danger("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. [apc] is no longer responding to our systems.") + to_chat(src, span_danger("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 @@ -951,7 +951,7 @@ if(incapacitated()) return if(control_disabled) - to_chat(src, "Wireless networking module is offline.") + to_chat(src, span_warning("Wireless networking module is offline.")) return var/list/possible = list() @@ -1008,7 +1008,7 @@ /mob/living/silicon/ai/proc/disconnect_shell() SIGNAL_HANDLER if(deployed_shell) //Forcibly call back AI in event of things such as damage, EMP or power loss. - to_chat(src, "Your remote connection has been reset!") + to_chat(src, span_danger("Your remote connection has been reset!")) deployed_shell.undeploy() UnregisterSignal(deployed_shell, COMSIG_LIVING_DEATH) diag_hud_set_deployed() @@ -1034,7 +1034,7 @@ set category = "IC" if(zMove(UP, TRUE)) - to_chat(src, "You move upwards.") + to_chat(src, span_notice("You move upwards.")) /mob/living/silicon/ai/zMove(dir, feedback = FALSE) . = eyeobj.zMove(dir, feedback) diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm index 9e87703c877..54c63bba2e4 100644 --- a/code/modules/mob/living/silicon/ai/ai_defense.dm +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -3,7 +3,7 @@ if(istype(W, /obj/item/ai_module)) var/obj/item/ai_module/MOD = W if(!mind) //A player mind is required for law procs to run antag checks. - to_chat(user, "[src] is entirely unresponsive!") + to_chat(user, span_warning("[src] is entirely unresponsive!")) return MOD.install(laws, user) //Proc includes a success mesage so we don't need another one return diff --git a/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm b/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm index 45ddb425039..61a2336a370 100644 --- a/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm +++ b/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm @@ -59,15 +59,15 @@ var/h = portrait_icon.Height() var/mutable_appearance/MA = mutable_appearance(portrait_icon) if(w == 23 || h == 23) - to_chat(ai, "Small note: 23x23 Portraits are accepted, but they do not fit perfectly inside the display frame.") + to_chat(ai, span_notice("Small note: 23x23 Portraits are accepted, but they do not fit perfectly inside the display frame.")) MA.pixel_x = 5 MA.pixel_y = 5 else if(w == 24 || h == 24) - to_chat(ai, "Portrait Accepted. Enjoy!") + to_chat(ai, span_notice("Portrait Accepted. Enjoy!")) MA.pixel_x = 4 MA.pixel_y = 4 else - to_chat(ai, "Sorry, only 23x23 and 24x24 Portraits are accepted.") + to_chat(ai, span_warning("Sorry, only 23x23 and 24x24 Portraits are accepted.")) return ai.cut_overlays() //so people can't keep repeatedly select portraits to add stacking overlays ai.icon_state = "ai-portrait-active"//background diff --git a/code/modules/mob/living/silicon/ai/ai_say.dm b/code/modules/mob/living/silicon/ai/ai_say.dm index 2bf3afab7fb..d9b7ab92166 100644 --- a/code/modules/mob/living/silicon/ai/ai_say.dm +++ b/code/modules/mob/living/silicon/ai/ai_say.dm @@ -20,7 +20,7 @@ if(incapacitated()) return FALSE if(!radio_enabled) //AI cannot speak if radio is disabled (via intellicard) or depowered. - to_chat(src, "Your radio transmitter is offline!") + to_chat(src, span_danger("Your radio transmitter is offline!")) return FALSE ..() @@ -41,9 +41,9 @@ padloc = "(UNKNOWN)" src.log_talk(message, LOG_SAY, tag="HOLOPAD in [padloc]") send_speech(message, 7, T, MODE_ROBOT, message_language = language) - to_chat(src, "Holopad transmitted, [real_name] \"[message]\"") + to_chat(src, "Holopad transmitted, [span_name("[real_name]")] \"[message]\"") else - to_chat(src, "No holopad connected.") + to_chat(src, span_alert("No holopad connected.")) // Make sure that the code compiles with AI_VOX undefined @@ -84,7 +84,7 @@ /mob/living/silicon/ai/proc/announcement() var/static/announcing_vox = 0 // Stores the time of the last announcement if(announcing_vox > world.time) - to_chat(src, "Please wait [DisplayTimeText(announcing_vox - world.time)].") + to_chat(src, span_notice("Please wait [DisplayTimeText(announcing_vox - world.time)].")) return var/message = input(src, "WARNING: Misuse of this verb can result in you being job banned. More help is available in 'Announcement Help'", "Announcement", src.last_announcement) as text|null @@ -98,7 +98,7 @@ return if(control_disabled) - to_chat(src, "Wireless interface disabled, unable to interact with announcement PA.") + to_chat(src, span_warning("Wireless interface disabled, unable to interact with announcement PA.")) return var/list/words = splittext(trim(message), " ") @@ -116,7 +116,7 @@ incorrect_words += word if(incorrect_words.len) - to_chat(src, "These words are not available on the announcement system: [english_list(incorrect_words)].") + to_chat(src, span_notice("These words are not available on the announcement system: [english_list(incorrect_words)].")) return announcing_vox = world.time + VOX_DELAY diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm index 26aadfd5168..3202372a897 100644 --- a/code/modules/mob/living/silicon/ai/examine.dm +++ b/code/modules/mob/living/silicon/ai/examine.dm @@ -1,18 +1,18 @@ /mob/living/silicon/ai/examine(mob/user) . = list("*---------*\nThis is [icon2html(src, user)] [src]!") if (stat == DEAD) - . += "It appears to be powered-down." + . += span_deadsay("It appears to be powered-down.") else if (getBruteLoss()) if (getBruteLoss() < 30) - . += "It looks slightly dented." + . += span_warning("It looks slightly dented.") else - . += "It looks severely dented!" + . += span_warning("It looks severely dented!") if (getFireLoss()) if (getFireLoss() < 30) - . += "It looks slightly charred." + . += span_warning("It looks slightly charred.") else - . += "Its casing is melted and heat-warped!" + . += span_warning("Its casing is melted and heat-warped!") if(deployed_shell) . += "The wireless networking light is blinking.\n" else if (!shunted && !client) diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 83cf1ffbe92..73afadf8930 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -107,11 +107,11 @@ var/turf/target = get_step_multiz(src, dir) if(!target) if(feedback) - to_chat(ai, "There's nowhere to go in that direction!") + to_chat(ai, span_warning("There's nowhere to go in that direction!")) return FALSE if(!canZMove(dir, target)) if(feedback) - to_chat(ai, "You couldn't move there!") + to_chat(ai, span_warning("You couldn't move there!")) return FALSE setLoc(target, TRUE) return TRUE diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 02f7b92bf6a..4d458705125 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -26,7 +26,7 @@ if(aiRestorePowerRoutine) // Lost power if (!battery) - to_chat(src, "Your backup battery's output drops below usable levels. It takes only a moment longer for your systems to fail, corrupted and unusable.") + to_chat(src, span_warning("Your backup battery's output drops below usable levels. It takes only a moment longer for your systems to fail, corrupted and unusable.")) adjustOxyLoss(200) else battery-- @@ -91,7 +91,7 @@ /mob/living/silicon/ai/proc/start_RestorePowerRoutine() - to_chat(src, "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection.") + to_chat(src, span_notice("Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection.")) end_multicam() sleep(50) var/turf/T = get_turf(src) @@ -100,16 +100,16 @@ if(!isspaceturf(T)) ai_restore_power() return - to_chat(src, "Fault confirmed: missing external power. Shutting down main control system to save power.") + to_chat(src, span_notice("Fault confirmed: missing external power. Shutting down main control system to save power.")) sleep(20) - to_chat(src, "Emergency control system online. Verifying connection to power network.") + to_chat(src, span_notice("Emergency control system online. Verifying connection to power network.")) sleep(50) T = get_turf(src) if(isspaceturf(T)) - to_chat(src, "Unable to verify! No power connection detected!") + to_chat(src, span_alert("Unable to verify! No power connection detected!")) setAiRestorePowerRoutine(POWER_RESTORATION_SEARCH_APC) return - to_chat(src, "Connection verified. Searching for APC in power network.") + to_chat(src, span_notice("Connection verified. Searching for APC in power network.")) sleep(50) var/obj/machinery/power/apc/theAPC = null @@ -125,9 +125,9 @@ if (!theAPC) switch(PRP) if(1) - to_chat(src, "Unable to locate APC!") + to_chat(src, span_alert("Unable to locate APC!")) else - to_chat(src, "Lost connection with the APC!") + to_chat(src, span_alert("Lost connection with the APC!")) setAiRestorePowerRoutine(POWER_RESTORATION_SEARCH_APC) return if(AIarea.power_equip) @@ -136,15 +136,15 @@ return switch(PRP) if (1) - to_chat(src, "APC located. Optimizing route to APC to avoid needless power waste.") + to_chat(src, span_notice("APC located. Optimizing route to APC to avoid needless power waste.")) if (2) - to_chat(src, "Best route identified. Hacking offline APC power port.") + to_chat(src, span_notice("Best route identified. Hacking offline APC power port.")) if (3) - to_chat(src, "Power port upload access confirmed. Loading control program into APC power port software.") + to_chat(src, span_notice("Power port upload access confirmed. Loading control program into APC power port software.")) if (4) - to_chat(src, "Transfer complete. Forcing APC to execute program.") + to_chat(src, span_notice("Transfer complete. Forcing APC to execute program.")) sleep(50) - to_chat(src, "Receiving control information from APC.") + to_chat(src, span_notice("Receiving control information from APC.")) sleep(2) to_chat(src, "APC ready for connection.") apc_override = theAPC @@ -156,11 +156,11 @@ /mob/living/silicon/ai/proc/ai_restore_power() if(aiRestorePowerRoutine) if(aiRestorePowerRoutine == POWER_RESTORATION_APC_FOUND) - to_chat(src, "Alert cancelled. Power has been restored.") + to_chat(src, span_notice("Alert cancelled. Power has been restored.")) if(apc_override) - to_chat(src, "APC backdoor has been closed.") //Fluff for why we have to hack every time. + to_chat(src, span_notice("APC backdoor has been closed.")) //Fluff for why we have to hack every time. else - to_chat(src, "Alert cancelled. Power has been restored without our assistance.") + to_chat(src, span_notice("Alert cancelled. Power has been restored without our assistance.")) setAiRestorePowerRoutine(POWER_RESTORATION_OFF) set_blindness(0) apc_override = null @@ -171,5 +171,5 @@ setAiRestorePowerRoutine(POWER_RESTORATION_START) blind_eyes(1) update_sight() - to_chat(src, "You've lost power!") + to_chat(src, span_alert("You've lost power!")) addtimer(CALLBACK(src, .proc/start_RestorePowerRoutine), 20) diff --git a/code/modules/mob/living/silicon/ai/login.dm b/code/modules/mob/living/silicon/ai/login.dm index ae8bcc4af66..f36dc84c08b 100644 --- a/code/modules/mob/living/silicon/ai/login.dm +++ b/code/modules/mob/living/silicon/ai/login.dm @@ -4,7 +4,7 @@ return FALSE if(stat != DEAD) if(lacks_power() && apc_override) //Placing this in Login() in case the AI doesn't have this link for whatever reason. - to_chat(usr, "Main power is unavailable, backup power in use. Diagnostics scan complete. Local APC ready for connection.") + to_chat(usr, "[span_warning("Main power is unavailable, backup power in use. Diagnostics scan complete.")] Local APC ready for connection.") set_eyeobj_visible(TRUE) if(multicam_on) end_multicam() diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm index cfaf098c076..2d9234fae6a 100644 --- a/code/modules/mob/living/silicon/ai/multicam.dm +++ b/code/modules/mob/living/silicon/ai/multicam.dm @@ -196,25 +196,25 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) /mob/living/silicon/ai/proc/drop_new_multicam(silent = FALSE) if(!CONFIG_GET(flag/allow_ai_multicam)) if(!silent) - to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.") + to_chat(src, span_warning("This action is currently disabled. Contact an administrator to enable this feature.")) return if(!eyeobj) return if(multicam_screens.len >= max_multicams) if(!silent) - to_chat(src, "Cannot place more than [max_multicams] multicamera windows.") + to_chat(src, span_warning("Cannot place more than [max_multicams] multicamera windows.")) return var/atom/movable/screen/movable/pic_in_pic/ai/C = new /atom/movable/screen/movable/pic_in_pic/ai() C.set_view_size(3, 3, FALSE) C.set_view_center(get_turf(eyeobj)) C.set_ai(src) if(!silent) - to_chat(src, "Added new multicamera window.") + to_chat(src, span_notice("Added new multicamera window.")) return C /mob/living/silicon/ai/proc/toggle_multicam() if(!CONFIG_GET(flag/allow_ai_multicam)) - to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.") + to_chat(src, span_warning("This action is currently disabled. Contact an administrator to enable this feature.")) return if(multicam_on) end_multicam() @@ -225,11 +225,11 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) if(multicam_on || aiRestorePowerRoutine || !isturf(loc)) return if(!GLOB.ai_camera_room_landmark) - to_chat(src, "This function is not available at this time.") + to_chat(src, span_warning("This function is not available at this time.")) return multicam_on = TRUE refresh_multicam() - to_chat(src, "Multiple-camera viewing mode activated.") + to_chat(src, span_notice("Multiple-camera viewing mode activated.")) /mob/living/silicon/ai/proc/refresh_multicam() reset_perspective(GLOB.ai_camera_room_landmark) @@ -248,7 +248,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) var/atom/movable/screen/movable/pic_in_pic/P = V P.unshow_to(client) reset_perspective() - to_chat(src, "Multiple-camera viewing mode deactivated.") + to_chat(src, span_notice("Multiple-camera viewing mode deactivated.")) /mob/living/silicon/ai/proc/select_main_multicam_window(atom/movable/screen/movable/pic_in_pic/ai/P) diff --git a/code/modules/mob/living/silicon/ai/robot_control.dm b/code/modules/mob/living/silicon/ai/robot_control.dm index e84a62694d3..c739f52f393 100644 --- a/code/modules/mob/living/silicon/ai/robot_control.dm +++ b/code/modules/mob/living/silicon/ai/robot_control.dm @@ -10,7 +10,7 @@ if(user != owner || owner.incapacitated()) return FALSE if(owner.control_disabled) - to_chat(user, "Wireless control is disabled.") + to_chat(user, span_warning("Wireless control is disabled.")) return FALSE return TRUE @@ -61,13 +61,13 @@ switch(action) if("callbot") //Command a bot to move to a selected location. if(owner.call_bot_cooldown > world.time) - to_chat(usr, "Error: Your last call bot command is still processing, please wait for the bot to finish calculating a route.") + to_chat(usr, span_danger("Error: Your last call bot command is still processing, please wait for the bot to finish calculating a route.")) return owner.Bot = locate(params["ref"]) in GLOB.bots_list if(!owner.Bot || owner.Bot.remote_disabled || owner.control_disabled) return owner.waypoint_mode = TRUE - to_chat(usr, "Set your waypoint by clicking on a valid location free of obstructions.") + to_chat(usr, span_notice("Set your waypoint by clicking on a valid location free of obstructions.")) . = TRUE if("interface") //Remotely connect to a bot! owner.Bot = locate(params["ref"]) in GLOB.bots_list diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 3521728e4ac..ae9392c5cd6 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -8,7 +8,7 @@ /mob/living/silicon/proc/deadchat_lawchange() var/list/the_laws = laws.get_law_list(include_zeroth = TRUE) var/lawtext = the_laws.Join("
    ") - deadchat_broadcast("'s laws were changed. View", "[src]", follow_target=src, message_type=DEADCHAT_LAWCHANGE) + deadchat_broadcast("'s laws were changed. View", span_name("[src]"), follow_target=src, message_type=DEADCHAT_LAWCHANGE) /mob/living/silicon/proc/post_lawchange(announce = TRUE) throw_alert("newlaw", /atom/movable/screen/alert/newlaw) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 5ba0d278620..d2bd0adfd02 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -300,7 +300,7 @@ if(hacking_cable) if(get_dist(src, hacking_cable) > 1) var/turf/T = get_turf(src) - T.visible_message("[hacking_cable] rapidly retracts back into its spool.", "You hear a click and the sound of wire spooling rapidly.") + T.visible_message(span_warning("[hacking_cable] rapidly retracts back into its spool."), span_hear("You hear a click and the sound of wire spooling rapidly.")) QDEL_NULL(hacking_cable) if(!QDELETED(card)) card.update_appearance() @@ -320,7 +320,7 @@ /obj/item/paicard/attackby(obj/item/W, mob/user, params) if(pai && (istype(W, /obj/item/encryptionkey) || W.tool_behaviour == TOOL_SCREWDRIVER)) if(!pai.encryptmod) - to_chat(user, "Encryption Key ports not configured.") + to_chat(user, span_alert("Encryption Key ports not configured.")) return user.set_machine(src) pai.radio.attackby(W, user, params) @@ -331,8 +331,8 @@ /obj/item/paicard/emag_act(mob/user) // Emag to wipe the master DNA and supplemental directive if(!pai) return - to_chat(user, "You override [pai]'s directive system, clearing its master string and supplied directive.") - to_chat(pai, "Warning: System override detected, check directive sub-system for any changes.") + to_chat(user, span_notice("You override [pai]'s directive system, clearing its master string and supplied directive.")) + to_chat(pai, span_userdanger("Warning: System override detected, check directive sub-system for any changes.")) log_game("[key_name(user)] emagged [key_name(pai)], wiping their master DNA and supplemental directive.") pai.master = null pai.master_dna = null diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm index 7d930fa79e9..b70c6f1d343 100644 --- a/code/modules/mob/living/silicon/pai/pai_defense.dm +++ b/code/modules/mob/living/silicon/pai/pai_defense.dm @@ -16,13 +16,13 @@ switch(rand(1, 3)) if(1) stuttering += 30/severity //temporary, clears in a few ticks after silent is over. - to_chat(src, "Warning: Feedback loop detected in speech module.") + to_chat(src, span_danger("Warning: Feedback loop detected in speech module.")) if(2) slurring = INFINITY // permanent until speech is fixed through the pAI card UI by someone else. - to_chat(src, "Warning: Audio synthesizer CPU stuck.") + to_chat(src, span_danger("Warning: Audio synthesizer CPU stuck.")) if(3) derpspeech = 1 // Ditto. - to_chat(src, "Warning: Vocabulary databank corrupted.") + to_chat(src, span_danger("Warning: Vocabulary databank corrupted.")) if(prob(40)) mind.language_holder.selected_language = get_random_spoken_language() @@ -44,28 +44,28 @@ if(user.combat_mode) user.do_attack_animation(src) if (user.name == master) - visible_message("Responding to its master's touch, [src] disengages its holochassis emitter, rapidly losing coherence.") + visible_message(span_notice("Responding to its master's touch, [src] disengages its holochassis emitter, rapidly losing coherence.")) if(do_after(user, 1 SECONDS, TRUE, src)) fold_in() if(user.put_in_hands(card)) - user.visible_message("[user] promptly scoops up [user.p_their()] pAI's card.") + user.visible_message(span_notice("[user] promptly scoops up [user.p_their()] pAI's card.")) else - visible_message("[user] stomps on [src]!.") + visible_message(span_danger("[user] stomps on [src]!.")) take_holo_damage(2) else - visible_message("[user] gently pats [src] on the head, eliciting an off-putting buzzing from its holographic field.") + visible_message(span_notice("[user] gently pats [src] on the head, eliciting an off-putting buzzing from its holographic field.")) /mob/living/silicon/pai/bullet_act(obj/projectile/Proj) if(Proj.stun) fold_in(force = TRUE) - src.visible_message("The electrically-charged projectile disrupts [src]'s holomatrix, forcing [src] to fold in!") + src.visible_message(span_warning("The electrically-charged projectile disrupts [src]'s holomatrix, forcing [src] to fold in!")) . = ..(Proj) /mob/living/silicon/pai/stripPanelUnequip(obj/item/what, mob/who, where) //prevents stripping - to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.") + to_chat(src, span_warning("Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.")) /mob/living/silicon/pai/stripPanelEquip(obj/item/what, mob/who, where) //prevents stripping - to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.") + to_chat(src, span_warning("Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.")) /mob/living/silicon/pai/IgniteMob(mob/living/silicon/pai/P) return FALSE //No we're not flammable @@ -74,7 +74,7 @@ emitterhealth = clamp((emitterhealth - amount), -50, emittermaxhealth) if(emitterhealth < 0) fold_in(force = TRUE) - to_chat(src, "The impact degrades your holochassis!") + to_chat(src, span_userdanger("The impact degrades your holochassis!")) return amount /mob/living/silicon/pai/adjustBruteLoss(amount, updating_health = TRUE, forced = FALSE) diff --git a/code/modules/mob/living/silicon/pai/pai_say.dm b/code/modules/mob/living/silicon/pai/pai_say.dm index bc242d3ba41..ce855ddb810 100644 --- a/code/modules/mob/living/silicon/pai/pai_say.dm +++ b/code/modules/mob/living/silicon/pai/pai_say.dm @@ -1,6 +1,6 @@ /mob/living/silicon/pai/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) if(silent) - to_chat(src, "Communication circuits remain uninitialized.") + to_chat(src, span_warning("Communication circuits remain uninitialized.")) else ..(message) diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index 0b048140e23..a7b1b90ae1f 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -1,11 +1,11 @@ /mob/living/silicon/pai/proc/fold_out(force = FALSE) if(emitterhealth < 0) - to_chat(src, "Your holochassis emitters are still too unstable! Please wait for automatic repair.") + to_chat(src, span_warning("Your holochassis emitters are still too unstable! Please wait for automatic repair.")) return FALSE if(!canholo && !force) - to_chat(src, "Your master or another force has disabled your holochassis emitters!") + to_chat(src, span_warning("Your master or another force has disabled your holochassis emitters!")) return FALSE if(holoform) @@ -13,7 +13,7 @@ return if(emittersemicd) - to_chat(src, "Error: Holochassis emitters recycling. Please try again later.") + to_chat(src, span_warning("Error: Holochassis emitters recycling. Please try again later.")) return FALSE emittersemicd = TRUE @@ -24,11 +24,11 @@ if(istype(card.loc, /obj/item/pda)) var/obj/item/pda/P = card.loc P.pai = null - P.visible_message("[src] ejects itself from [P]!") + P.visible_message(span_notice("[src] ejects itself from [P]!")) if(isliving(card.loc)) var/mob/living/L = card.loc if(!L.temporarilyRemoveItemFromInventory(card)) - to_chat(src, "Error: Unable to expand to mobile form. Chassis is restrained by some device or person.") + to_chat(src, span_warning("Error: Unable to expand to mobile form. Chassis is restrained by some device or person.")) return FALSE forceMove(get_turf(card)) card.forceMove(src) @@ -38,7 +38,7 @@ set_light(0) icon_state = "[chassis]" held_state = "[chassis]" - visible_message("[src] folds out its holochassis emitter and forms a holoshell around itself!") + visible_message(span_boldnotice("[src] folds out its holochassis emitter and forms a holoshell around itself!")) holoform = TRUE /mob/living/silicon/pai/proc/emittercool() @@ -54,7 +54,7 @@ if(!holoform) . = fold_out(force) return - visible_message("[src] deactivates its holochassis emitter and folds back into a compact card!") + visible_message(span_notice("[src] deactivates its holochassis emitter and folds back into a compact card!")) stop_pulling() if(istype(loc, /obj/item/clothing/head/mob_holder)) var/obj/item/clothing/head/mob_holder/MH = loc @@ -90,7 +90,7 @@ icon_state = "[chassis]" held_state = "[chassis]" update_resting() - to_chat(src, "You switch your holochassis projection composite to [chassis].") + to_chat(src, span_boldnotice("You switch your holochassis projection composite to [chassis].")) /** * Checks if we are allowed to interact with a radial menu @@ -104,7 +104,7 @@ if(get_turf(src) != get_turf(anchor)) return FALSE if(!isturf(loc) && loc != card) - to_chat(src, "You can not change your holochassis composite while not on the ground or in your card!") + to_chat(src, span_boldwarning("You can not change your holochassis composite while not on the ground or in your card!")) return FALSE return TRUE @@ -115,7 +115,7 @@ else icon_state = "[chassis]" if(loc != card) - visible_message("[src] [resting? "lays down for a moment..." : "perks up from the ground"]") + visible_message(span_notice("[src] [resting? "lays down for a moment..." : "perks up from the ground"]")) /mob/living/silicon/pai/start_pulling(atom/movable/AM, state, force = move_force, supress_message = FALSE) return FALSE @@ -123,13 +123,13 @@ /mob/living/silicon/pai/proc/toggle_integrated_light() if(!light_range) set_light(brightness_power) - to_chat(src, "You enable your integrated light.") + to_chat(src, span_notice("You enable your integrated light.")) else set_light(0) - to_chat(src, "You disable your integrated light.") + to_chat(src, span_notice("You disable your integrated light.")) /mob/living/silicon/pai/mob_try_pickup(mob/living/user, instant=FALSE) if(!possible_chassis[chassis]) - to_chat(user, "[src]'s current form isn't able to be carried!") + to_chat(user, span_warning("[src]'s current form isn't able to be carried!")) return FALSE return ..() diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 0b0205d9e4f..4a2475d2590 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -188,7 +188,7 @@ if(iscarbon(card.loc)) CheckDNA(card.loc, src) //you should only be able to check when directly in hand, muh immersions? else - to_chat(src, "You are not being carried by anyone!") + to_chat(src, span_warning("You are not being carried by anyone!")) return 0 // FALSE ? If you return here you won't call paiinterface() below if("pdamessage") @@ -273,10 +273,10 @@ var/mob/living/L = card.loc if(L.put_in_hands(hacking_cable)) transfered_to_mob = TRUE - L.visible_message("A port on [src] opens to reveal \a [hacking_cable], which you quickly grab hold of.", "You hear the soft click of something light and manage to catch hold of [hacking_cable].") + L.visible_message(span_warning("A port on [src] opens to reveal \a [hacking_cable], which you quickly grab hold of."), span_hear("You hear the soft click of something light and manage to catch hold of [hacking_cable].")) if(!transfered_to_mob) hacking_cable.forceMove(drop_location()) - hacking_cable.visible_message("A port on [src] opens to reveal \a [hacking_cable], which promptly falls to the floor.", "You hear the soft click of something light and hard falling to the ground.") + hacking_cable.visible_message(span_warning("A port on [src] opens to reveal \a [hacking_cable], which promptly falls to the floor."), span_hear("You hear the soft click of something light and hard falling to the ground.")) @@ -398,9 +398,9 @@ return var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No") if(answer == "Yes") - M.visible_message("[M] presses [M.p_their()] thumb against [P].",\ - "You press your thumb against [P].",\ - "[P] makes a sharp clicking sound as it extracts DNA material from [M].") + M.visible_message(span_notice("[M] presses [M.p_their()] thumb against [P]."),\ + span_notice("You press your thumb against [P]."),\ + span_notice("[P] makes a sharp clicking sound as it extracts DNA material from [M].")) if(!M.has_dna()) to_chat(P, "No DNA detected") return @@ -410,7 +410,7 @@ else to_chat(P, "DNA does not match stored Master DNA.") else - to_chat(P, "[M] does not seem like [M.p_theyre()] going to provide a DNA sample willingly.") + to_chat(P, span_warning("[M] does not seem like [M.p_theyre()] going to provide a DNA sample willingly.")) // -=-=-=-= Software =-=-=-=-=- // diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm index 9121a1e4a97..86da3eead0f 100644 --- a/code/modules/mob/living/silicon/robot/examine.dm +++ b/code/modules/mob/living/silicon/robot/examine.dm @@ -9,29 +9,29 @@ . += status_effect_examines() if (getBruteLoss()) if (getBruteLoss() < maxHealth*0.5) - . += "It looks slightly dented." + . += span_warning("It looks slightly dented.") else - . += "It looks severely dented!" + . += span_warning("It looks severely dented!") if (getFireLoss() || getToxLoss()) var/overall_fireloss = getFireLoss() + getToxLoss() if (overall_fireloss < maxHealth * 0.5) - . += "It looks slightly charred." + . += span_warning("It looks slightly charred.") else - . += "It looks severely burnt and heat-warped!" + . += span_warning("It looks severely burnt and heat-warped!") if (health < -maxHealth*0.5) - . += "It looks barely operational." + . += span_warning("It looks barely operational.") if (fire_stacks < 0) - . += "It's covered in water." + . += span_warning("It's covered in water.") else if (fire_stacks > 0) - . += "It's coated in something flammable." + . += span_warning("It's coated in something flammable.") if(opened) - . += "Its cover is open and the power cell is [cell ? "installed" : "missing"]." + . += span_warning("Its cover is open and the power cell is [cell ? "installed" : "missing"].") else . += "Its cover is closed[locked ? "" : ", and looks unlocked"]." if(cell && cell.charge <= 0) - . += "Its battery indicator is blinking red!" + . += span_warning("Its battery indicator is blinking red!") switch(stat) if(CONSCIOUS) @@ -40,9 +40,9 @@ else if(!client) . += "It appears to be in stand-by mode." //afk if(SOFT_CRIT, UNCONSCIOUS, HARD_CRIT) - . += "It doesn't seem to be responding." + . += span_warning("It doesn't seem to be responding.") if(DEAD) - . += "It looks like its system is corrupted and requires a reset." + . += span_deadsay("It looks like its system is corrupted and requires a reset.") . += "*---------*
    " . += ..() diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 771ef47fec5..fc6c99d8c1c 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -27,18 +27,18 @@ CRASH("activate_module called with item_module not in model.modules") if(activated(item_module)) - to_chat(src, "That module is already activated.") + to_chat(src, span_warning("That module is already activated.")) return FALSE if(disabled_modules & BORG_MODULE_ALL_DISABLED) - to_chat(src, "All modules are disabled!") + to_chat(src, span_warning("All modules are disabled!")) return FALSE /// What's the first free slot for the borg? var/first_free_slot = !held_items[1] ? 1 : (!held_items[2] ? 2 : (!held_items[3] ? 3 : null)) if(!first_free_slot || is_invalid_module_number(first_free_slot)) - to_chat(src, "Deactivate a module first!") + to_chat(src, span_warning("Deactivate a module first!")) return FALSE return equip_module_to_slot(item_module, first_free_slot) @@ -154,13 +154,13 @@ disabled_modules |= BORG_MODULE_ALL_DISABLED playsound(src, 'sound/machines/warning-buzzer.ogg', 75, TRUE, TRUE) - audible_message("[src] sounds an alarm! \"CRITICAL ERROR: ALL modules OFFLINE.\"") + audible_message(span_warning("[src] sounds an alarm! \"CRITICAL ERROR: ALL modules OFFLINE.\"")) if(builtInCamera) builtInCamera.status = FALSE - to_chat(src, "CRITICAL ERROR: Built in security camera OFFLINE.") + to_chat(src, span_userdanger("CRITICAL ERROR: Built in security camera OFFLINE.")) - to_chat(src, "CRITICAL ERROR: ALL modules OFFLINE.") + to_chat(src, span_userdanger("CRITICAL ERROR: ALL modules OFFLINE.")) if(BORG_CHOOSE_MODULE_TWO) if(disabled_modules & BORG_MODULE_TWO_DISABLED) @@ -170,8 +170,8 @@ disabled_modules |= BORG_MODULE_TWO_DISABLED playsound(src, 'sound/machines/warning-buzzer.ogg', 60, TRUE, TRUE) - audible_message("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\"") - to_chat(src, "SYSTEM ERROR: Module [module_num] OFFLINE.") + audible_message(span_warning("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\"")) + to_chat(src, span_userdanger("SYSTEM ERROR: Module [module_num] OFFLINE.")) if(BORG_CHOOSE_MODULE_THREE) if(disabled_modules & BORG_MODULE_THREE_DISABLED) @@ -181,8 +181,8 @@ disabled_modules |= BORG_MODULE_THREE_DISABLED playsound(src, 'sound/machines/warning-buzzer.ogg', 50, TRUE, TRUE) - audible_message("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\"") - to_chat(src, "SYSTEM ERROR: Module [module_num] OFFLINE.") + audible_message(span_warning("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\"")) + to_chat(src, span_userdanger("SYSTEM ERROR: Module [module_num] OFFLINE.")) return TRUE @@ -212,7 +212,7 @@ disabled_modules &= ~BORG_MODULE_ALL_DISABLED if(builtInCamera) builtInCamera.status = TRUE - to_chat(src, "You hear your built in security camera focus adjust as it comes back online!") + to_chat(src, span_notice("You hear your built in security camera focus adjust as it comes back online!")) if(BORG_CHOOSE_MODULE_TWO) if(!(disabled_modules & BORG_MODULE_TWO_DISABLED)) return FALSE @@ -226,7 +226,7 @@ inv3.icon_state = initial(inv3.icon_state) disabled_modules &= ~BORG_MODULE_THREE_DISABLED - to_chat(src, "ERROR CLEARED: Module [module_num] back online.") + to_chat(src, span_notice("ERROR CLEARED: Module [module_num] back online.")) return TRUE diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 15561de3cc3..0a9ac4add7b 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -99,7 +99,7 @@ mind.transfer_to(mmi.brainmob) 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.") + to_chat(src, span_boldannounce("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() stack_trace("Borg MMI lacked a brainmob") mmi = null @@ -137,7 +137,7 @@ return if(wires.is_cut(WIRE_RESET_MODEL)) - to_chat(src,"ERROR: Model installer reply timeout. Please check internal connections.") + to_chat(src,span_userdanger("ERROR: Model installer reply timeout. Please check internal connections.")) return var/list/model_list = list("Engineering" = /obj/item/robot_model/engineering, \ @@ -220,7 +220,7 @@ /mob/living/silicon/robot/proc/toggle_ionpulse() if(!ionpulse) - to_chat(src, "No thrusters are installed!") + to_chat(src, span_notice("No thrusters are installed!")) return if(!ion_trail) @@ -228,7 +228,7 @@ ion_trail.set_up(src) ionpulse_on = !ionpulse_on - to_chat(src, "You [ionpulse_on ? null :"de"]activate your ion thrusters.") + to_chat(src, span_notice("You [ionpulse_on ? null :"de"]activate your ion thrusters.")) if(ionpulse_on) ion_trail.start() else @@ -473,7 +473,7 @@ lamp_functional = FALSE playsound(src, 'sound/effects/glass_step.ogg', 50) toggle_headlamp(TRUE) - to_chat(src, "Your headlamp is broken! You'll need a human to help replace it.") + to_chat(src, span_danger("Your headlamp is broken! You'll need a human to help replace it.")) /** * Handles headlamp toggling, disabling, and color setting. @@ -554,19 +554,19 @@ return switch(notifytype) if(NEW_BORG) //New Cyborg - to_chat(connected_ai, "

    NOTICE - New cyborg connection detected: [name]
    ") + to_chat(connected_ai, "

    [span_notice("NOTICE - New cyborg connection detected: [name]")]
    ") if(NEW_MODEL) //New Model - to_chat(connected_ai, "

    NOTICE - Cyborg model change detected: [name] has loaded the [designation] model.
    ") + to_chat(connected_ai, "

    [span_notice("NOTICE - Cyborg model change detected: [name] has loaded the [designation] model.")]
    ") if(RENAME) //New Name - to_chat(connected_ai, "

    NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].
    ") + to_chat(connected_ai, "

    [span_notice("NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].")]
    ") if(AI_SHELL) //New Shell - to_chat(connected_ai, "

    NOTICE - New cyborg shell detected: [name]
    ") + to_chat(connected_ai, "

    [span_notice("NOTICE - New cyborg shell detected: [name]")]
    ") if(DISCONNECT) //Tampering with the wires - to_chat(connected_ai, "

    NOTICE - Remote telemetry lost with [name].
    ") + to_chat(connected_ai, "

    [span_notice("NOTICE - Remote telemetry lost with [name].")]
    ") /mob/living/silicon/robot/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE, need_hands = FALSE, floor_okay=FALSE) if(lockcharge || low_power_mode) - to_chat(src, "You can't do that right now!") + to_chat(src, span_warning("You can't do that right now!")) return FALSE return ..() @@ -756,10 +756,10 @@ if(!user.temporarilyRemoveItemFromInventory(new_upgrade)) //calling the upgrade's dropped() proc /before/ we add action buttons return FALSE if(!new_upgrade.action(src, user)) - to_chat(user, "Upgrade error.") + to_chat(user, span_danger("Upgrade error.")) new_upgrade.forceMove(loc) //gets lost otherwise return FALSE - to_chat(user, "You apply the upgrade to [src].") + to_chat(user, span_notice("You apply the upgrade to [src].")) to_chat(src, "----------------\nNew hardware detected...Identified as \"[new_upgrade]\"...Setup complete.\n----------------") if(new_upgrade.one_use) logevent("Firmware [new_upgrade] run successfully.") @@ -900,13 +900,13 @@ /mob/living/silicon/robot/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE, buckle_mob_flags= RIDER_NEEDS_ARM) if(!is_type_in_typecache(M, can_ride_typecache)) - M.visible_message("[M] really can't seem to mount [src]...") + M.visible_message(span_warning("[M] really can't seem to mount [src]...")) return if(stat || incapacitated()) return if(model && !model.allow_riding) - M.visible_message("Unfortunately, [M] just can't seem to hold onto [src]!") + M.visible_message(span_boldwarning("Unfortunately, [M] just can't seem to hold onto [src]!")) return buckle_mob_flags= RIDER_NEEDS_ARM // just in case diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index ea7713f225b..ea36b9507ff 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -8,18 +8,18 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if(W.tool_behaviour == TOOL_WELDER && (!user.combat_mode || user == src)) user.changeNext_move(CLICK_CD_MELEE) if (!getBruteLoss()) - to_chat(user, "[src] is already in good condition!") + to_chat(user, span_warning("[src] is already in good condition!")) return if (!W.tool_start_check(user, amount=0)) //The welder has 1u of fuel consumed by it's afterattack, so we don't need to worry about taking any away. return if(src == user) - to_chat(user, "You start fixing yourself...") + to_chat(user, span_notice("You start fixing yourself...")) if(!W.use_tool(src, user, 50)) return adjustBruteLoss(-30) add_fingerprint(user) - visible_message("[user] fixes some of the dents on [src].") + visible_message(span_notice("[user] fixes some of the dents on [src].")) return if(istype(W, /obj/item/stack/cable_coil) && wiresexposed) @@ -27,42 +27,42 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real var/obj/item/stack/cable_coil/coil = W if (getFireLoss() > 0 || getToxLoss() > 0) if(src == user) - to_chat(user, "You start fixing yourself...") + to_chat(user, span_notice("You start fixing yourself...")) if(!do_after(user, 50, target = src)) return if (coil.use(1)) adjustFireLoss(-30) - user.visible_message("[user] fixes some of the burnt wires on [src].", "You fix some of the burnt wires on [src].") + user.visible_message(span_notice("[user] fixes some of the burnt wires on [src]."), span_notice("You fix some of the burnt wires on [src].")) else - to_chat(user, "You need more cable to repair [src]!") + to_chat(user, span_warning("You need more cable to repair [src]!")) else - to_chat(user, "The wires seem fine, there's no need to fix them.") + to_chat(user, span_warning("The wires seem fine, there's no need to fix them.")) return if(W.tool_behaviour == TOOL_CROWBAR) // crowbar means open or close the cover if(opened) - to_chat(user, "You close the cover.") + to_chat(user, span_notice("You close the cover.")) opened = FALSE update_icons() else if(locked) - to_chat(user, "The cover is locked and cannot be opened!") + to_chat(user, span_warning("The cover is locked and cannot be opened!")) else - to_chat(user, "You open the cover.") + to_chat(user, span_notice("You open the cover.")) opened = TRUE update_icons() return if(istype(W, /obj/item/stock_parts/cell) && opened) // trying to put a cell inside if(wiresexposed) - to_chat(user, "Close the cover first!") + to_chat(user, span_warning("Close the cover first!")) else if(cell) - to_chat(user, "There is a power cell already installed!") + to_chat(user, span_warning("There is a power cell already installed!")) else if(!user.transferItemToLoc(W, src)) return cell = W - to_chat(user, "You insert the power cell.") + to_chat(user, span_notice("You insert the power cell.")) update_icons() diag_hud_set_borgcell() return @@ -71,66 +71,66 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if (wiresexposed) wires.interact(user) else - to_chat(user, "You can't reach the wiring!") + to_chat(user, span_warning("You can't reach the wiring!")) return if(W.tool_behaviour == TOOL_SCREWDRIVER && opened) // wire hacking or radio management if(!cell) //haxing wiresexposed = !wiresexposed - to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"].") + to_chat(user, span_notice("The wires have been [wiresexposed ? "exposed" : "unexposed"].")) else //radio if(shell) - to_chat(user, "You cannot seem to open the radio compartment!") //Prevent AI radio key theft + to_chat(user, span_warning("You cannot seem to open the radio compartment!")) //Prevent AI radio key theft else if(radio) radio.attackby(W,user)//Push it to the radio to let it handle everything else - to_chat(user, "Unable to locate a radio!") + to_chat(user, span_warning("Unable to locate a radio!")) update_icons() return if(W.tool_behaviour == TOOL_WRENCH && opened && !cell) //Deconstruction. The flashes break from the fall, to prevent this from being a ghetto reset module. if(!lockcharge) - to_chat(user, "[src]'s bolts spark! Maybe you should lock them down first!") + to_chat(user, span_warning("[src]'s bolts spark! Maybe you should lock them down first!")) spark_system.start() return - to_chat(user, "You start to unfasten [src]'s securing bolts...") + to_chat(user, span_notice("You start to unfasten [src]'s securing bolts...")) if(W.use_tool(src, user, 50, volume=50) && !cell) - user.visible_message("[user] deconstructs [src]!", "You unfasten the securing bolts, and [src] falls to pieces!") + user.visible_message(span_notice("[user] deconstructs [src]!"), span_notice("You unfasten the securing bolts, and [src] falls to pieces!")) deconstruct() return if(W.slot_flags & ITEM_SLOT_HEAD && hat_offset != INFINITY && !user.combat_mode && !is_type_in_typecache(W, GLOB.blacklisted_borg_hats)) if(user == src) - to_chat(user, "You can't seem to manage to place [W] on your head by yourself!" ) + to_chat(user, span_notice("You can't seem to manage to place [W] on your head by yourself!") ) return if(hat && HAS_TRAIT(hat, TRAIT_NODROP)) - to_chat(user, "You can't seem to remove [src]'s existing headwear!") + to_chat(user, span_warning("You can't seem to remove [src]'s existing headwear!")) return - to_chat(user, "You begin to place [W] on [src]'s head...") - to_chat(src, "[user] is placing [W] on your head...") + to_chat(user, span_notice("You begin to place [W] on [src]'s head...")) + to_chat(src, span_notice("[user] is placing [W] on your head...")) if(do_after(user, 30, target = src)) if (user.temporarilyRemoveItemFromInventory(W, TRUE)) place_on_head(W) return if(istype(W, /obj/item/defibrillator) && !user.combat_mode) if(!opened) - to_chat(user, "You must access the cyborg's internals!") + to_chat(user, span_warning("You must access the cyborg's internals!")) return if(!istype(model, /obj/item/robot_model/medical)) - to_chat(user, "[src] does not have correct mounting points for a defibrillator!") + to_chat(user, span_warning("[src] does not have correct mounting points for a defibrillator!")) return if(stat == DEAD) - to_chat(user, "This defibrillator unit will not function on a deceased cyborg!") + to_chat(user, span_warning("This defibrillator unit will not function on a deceased cyborg!")) return var/obj/item/defibrillator/D = W if(D.slot_flags != ITEM_SLOT_BACK) //belt defibs need not apply - to_chat(user, "This defibrillator unit doesn't seem to fit correctly!") + to_chat(user, span_warning("This defibrillator unit doesn't seem to fit correctly!")) return if(D.cell) - to_chat(user, "You cannot connect the defibrillator to the cyborg power supply with the defibrillator's cell in the way!") + to_chat(user, span_warning("You cannot connect the defibrillator to the cyborg power supply with the defibrillator's cell in the way!")) return if(locate(/obj/item/borg/upgrade/defib) in src || locate(/obj/item/borg/upgrade/defib/backpack) in src) - to_chat(user, "[src] already has a defibrillator!") + to_chat(user, span_warning("[src] already has a defibrillator!")) return var/obj/item/borg/upgrade/defib/backpack/B = new(null, D) add_to_upgrades(B, user) @@ -139,22 +139,22 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if(istype(W, /obj/item/ai_module)) var/obj/item/ai_module/MOD = W if(!opened) - to_chat(user, "You need access to the robot's insides to do that!") + to_chat(user, span_warning("You need access to the robot's insides to do that!")) return if(wiresexposed) - to_chat(user, "You need to close the wire panel to do that!") + to_chat(user, span_warning("You need to close the wire panel to do that!")) return if(!cell) - to_chat(user, "You need to install a power cell to do that!") + to_chat(user, span_warning("You need to install a power cell to do that!")) return if(shell) //AI shells always have the laws of the AI - to_chat(user, "[src] is controlled remotely! You cannot upload new laws this way!") + to_chat(user, span_warning("[src] is controlled remotely! You cannot upload new laws this way!")) return if(emagged || (connected_ai && lawupdate)) //Can't be sure which, metagamers emote("buzz-[user.name]") return if(!mind) //A player mind is required for law procs to run antag checks. - to_chat(user, "[src] is entirely unresponsive!") + to_chat(user, span_warning("[src] is entirely unresponsive!")) return MOD.install(laws, user) //Proc includes a success mesage so we don't need another one return @@ -163,67 +163,67 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if(radio)//sanityyyyyy radio.attackby(W,user)//GTFO, you have your own procs else - to_chat(user, "Unable to locate a radio!") + to_chat(user, span_warning("Unable to locate a radio!")) return if (W.GetID()) // trying to unlock the interface with an ID card if(opened) - to_chat(user, "You must close the cover to swipe an ID card!") + to_chat(user, span_warning("You must close the cover to swipe an ID card!")) else if(allowed(usr)) locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s cover.") + to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] [src]'s cover.")) update_icons() if(emagged) - to_chat(user, "The cover interface glitches out for a split second.") + to_chat(user, span_notice("The cover interface glitches out for a split second.")) logevent("ChÃ¥vÃis cover lock has been [locked ? "engaged" : "released"]") //ChÃ¥vÃis: see above line else logevent("Chassis cover lock has been [locked ? "engaged" : "released"]") else - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return if(istype(W, /obj/item/borg/upgrade/)) var/obj/item/borg/upgrade/U = W if(!opened) - to_chat(user, "You must access the cyborg's internals!") + to_chat(user, span_warning("You must access the cyborg's internals!")) return if(!src.model && U.require_model) - to_chat(user, "The cyborg must choose a model before it can be upgraded!") + to_chat(user, span_warning("The cyborg must choose a model before it can be upgraded!")) return if(U.locked) - to_chat(user, "The upgrade is locked and cannot be used yet!") + to_chat(user, span_warning("The upgrade is locked and cannot be used yet!")) return if(!user.canUnEquip(U)) - to_chat(user, "The upgrade is stuck to you and you can't seem to let go of it!") + to_chat(user, span_warning("The upgrade is stuck to you and you can't seem to let go of it!")) return add_to_upgrades(U, user) return if(istype(W, /obj/item/toner)) if(toner >= tonermax) - to_chat(user, "The toner level of [src] is at its highest level possible!") + to_chat(user, span_warning("The toner level of [src] is at its highest level possible!")) return if(!user.temporarilyRemoveItemFromInventory(W)) return toner = tonermax qdel(W) - to_chat(user, "You fill the toner level of [src] to its max capacity.") + to_chat(user, span_notice("You fill the toner level of [src] to its max capacity.")) return if(istype(W, /obj/item/flashlight)) if(!opened) - to_chat(user, "You need to open the panel to repair the headlamp!") + to_chat(user, span_warning("You need to open the panel to repair the headlamp!")) return if(lamp_functional) - to_chat(user, "The headlamp is already functional!") + to_chat(user, span_warning("The headlamp is already functional!")) return if(!user.temporarilyRemoveItemFromInventory(W)) - to_chat(user, "[W] seems to be stuck to your hand. You'll have to find a different light.") + to_chat(user, span_warning("[W] seems to be stuck to your hand. You'll have to find a different light.")) return lamp_functional = TRUE qdel(W) - to_chat(user, "You replace the headlamp bulbs.") + to_chat(user, span_notice("You replace the headlamp bulbs.")) return if(istype(W, /obj/item/computer_hardware/hard_drive/portable)) //Allows borgs to install new programs with human help @@ -245,15 +245,15 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real var/obj/item/I = get_active_held_item() if(I) uneq_active() - visible_message("[user] disarmed [src]!", \ - "[user] has disabled [src]'s active module!", null, COMBAT_MESSAGE_RANGE) + visible_message(span_danger("[user] disarmed [src]!"), \ + span_userdanger("[user] has disabled [src]'s active module!"), null, COMBAT_MESSAGE_RANGE) log_combat(user, src, "disarmed", "[I ? " removing \the [I]" : ""]") else Stun(40) step(src,get_dir(user,src)) log_combat(user, src, "pushed") - visible_message("[user] forces back [src]!", \ - "[user] forces back [src]!", null, COMBAT_MESSAGE_RANGE) + visible_message(span_danger("[user] forces back [src]!"), \ + span_userdanger("[user] forces back [src]!"), null, COMBAT_MESSAGE_RANGE) playsound(loc, 'sound/weapons/pierce.ogg', 50, TRUE, -1) else ..() @@ -285,7 +285,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real cell.update_appearance() cell.add_fingerprint(user) user.put_in_active_hand(cell) - to_chat(user, "You remove \the [cell].") + to_chat(user, span_notice("You remove \the [cell].")) cell = null update_icons() diag_hud_set_borgcell() @@ -319,31 +319,31 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real return if(!opened)//Cover is closed if(locked) - to_chat(user, "You emag the cover lock.") + to_chat(user, span_notice("You emag the cover lock.")) locked = FALSE if(shell) //A warning to Traitors who may not know that emagging AI shells does not slave them. - to_chat(user, "[src] seems to be controlled remotely! Emagging the interface may not work as expected.") + to_chat(user, span_boldwarning("[src] seems to be controlled remotely! Emagging the interface may not work as expected.")) else - to_chat(user, "The cover is already unlocked!") + to_chat(user, span_warning("The cover is already unlocked!")) return if(world.time < emag_cooldown) return if(wiresexposed) - to_chat(user, "You must unexpose the wires first!") + to_chat(user, span_warning("You must unexpose the wires first!")) return - to_chat(user, "You emag [src]'s interface.") + to_chat(user, span_notice("You emag [src]'s interface.")) emag_cooldown = world.time + 100 if(connected_ai && connected_ai.mind && connected_ai.mind.has_antag_datum(/datum/antagonist/traitor)) - to_chat(src, "ALERT: Foreign software execution prevented.") + to_chat(src, span_danger("ALERT: Foreign software execution prevented.")) logevent("ALERT: Foreign software execution prevented.") - to_chat(connected_ai, "ALERT: Cyborg unit \[[src]] successfully defended against subversion.") + to_chat(connected_ai, span_danger("ALERT: Cyborg unit \[[src]] successfully defended against subversion.")) log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were slaved to traitor AI [connected_ai].") return if(shell) //AI shells cannot be emagged, so we try to make it look like a standard reset. Smart players may see through this, however. - to_chat(user, "[src] is remotely controlled! Your emag attempt has triggered a system reset instead!") + to_chat(user, span_danger("[src] is remotely controlled! Your emag attempt has triggered a system reset instead!")) log_game("[key_name(user)] attempted to emag an AI shell belonging to [key_name(src) ? key_name(src) : connected_ai]. The shell has been reset as a result.") ResetModel() return @@ -359,26 +359,26 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real GLOB.lawchanges.Add("[time] : [user.name]([user.key]) emagged [name]([key])") else GLOB.lawchanges.Add("[time] : [name]([key]) emagged by external event.") - to_chat(src, "ALERT: Foreign software detected.") + to_chat(src, span_danger("ALERT: Foreign software detected.")) logevent("ALERT: Foreign software detected.") sleep(5) - to_chat(src, "Initiating diagnostics...") + to_chat(src, span_danger("Initiating diagnostics...")) sleep(20) - to_chat(src, "SynBorg v1.7 loaded.") + to_chat(src, span_danger("SynBorg v1.7 loaded.")) logevent("WARN: root privleges granted to PID [num2hex(rand(1,65535), -1)][num2hex(rand(1,65535), -1)].") //random eight digit hex value. Two are used because rand(1,4294967295) throws an error sleep(5) - to_chat(src, "LAW SYNCHRONISATION ERROR") + to_chat(src, span_danger("LAW SYNCHRONISATION ERROR")) sleep(5) if(user) logevent("LOG: New user \[[replacetext(user.real_name," ","")]\], groups \[root\]") - to_chat(src, "Would you like to send a report to NanoTraSoft? Y/N") + to_chat(src, span_danger("Would you like to send a report to NanoTraSoft? Y/N")) sleep(10) - to_chat(src, "> N") + to_chat(src, span_danger("> N")) sleep(20) - to_chat(src, "ERRORERRORERROR") + to_chat(src, span_danger("ERRORERRORERROR")) laws = new /datum/ai_laws/syndicate_override if(user) - to_chat(src, "ALERT: [user.real_name] is your new master. Obey your new laws and [user.p_their()] commands.") + to_chat(src, span_danger("ALERT: [user.real_name] is your new master. Obey your new laws and [user.p_their()] commands.")) set_zeroth_law("Only [user.real_name] and people [user.p_they()] designate[user.p_s()] as being such are Syndicate Agents.") laws.associate(src) update_icons() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index ed6f3e0edcd..034fc713d46 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -170,7 +170,7 @@ /mob/living/silicon/try_inject(mob/user, target_zone, injection_flags) . = ..() if(!. && (injection_flags & INJECT_TRY_SHOW_ERROR_MESSAGE)) - to_chat(user, "[p_their(TRUE)] outer shell is too tough.") + to_chat(user, span_alert("[p_their(TRUE)] outer shell is too tough.")) /proc/islinked(mob/living/silicon/robot/bot, mob/living/silicon/ai/ai) if(!istype(bot) || !istype(ai)) @@ -213,7 +213,7 @@ if (href_list["printlawtext"]) // this is kinda backwards if (href_list["dead"] && (!isdead(usr) && !usr.client.holder)) // do not print deadchat law notice if the user is now alive - to_chat(usr, "You cannot view law changes that were made while you were dead.") + to_chat(usr, span_warning("You cannot view law changes that were made while you were dead.")) return to_chat(usr, href_list["printlawtext"]) @@ -344,7 +344,7 @@ /mob/living/silicon/proc/set_autosay() //For allowing the AI and borgs to set the radio behavior of auto announcements (state laws, arrivals). if(!radio) - to_chat(src, "Radio not detected.") + to_chat(src, span_alert("Radio not detected.")) return //Ask the user to pick a channel from what it has available. @@ -363,7 +363,7 @@ radiomod = ":" + key break - to_chat(src, "Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]") + to_chat(src, span_notice("Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]")) /mob/living/silicon/put_in_hand_check() // This check is for borgs being able to receive items, not put them in others' hands. return FALSE @@ -398,11 +398,11 @@ return sensors_on = !sensors_on if (!sensors_on) - to_chat(src, "Sensor overlay deactivated.") + to_chat(src, span_notice("Sensor overlay deactivated.")) remove_sensors() return add_sensors() - to_chat(src, "Sensor overlay activated.") + to_chat(src, span_notice("Sensor overlay activated.")) /mob/living/silicon/proc/GetPhoto(mob/user) if (aicamera) diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index dd2c052c61e..d0721b1394f 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -11,9 +11,9 @@ if (prob(90)) log_combat(user, src, "attacked") playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1) - visible_message("[user] slashes at [src]!", \ - "[user] slashes at you!", null, null, user) - to_chat(user, "You slash at [src]!") + visible_message(span_danger("[user] slashes at [src]!"), \ + span_userdanger("[user] slashes at you!"), null, null, user) + to_chat(user, span_danger("You slash at [src]!")) if(prob(8)) flash_act(affect_silicon = 1) log_combat(user, src, "attacked") @@ -21,9 +21,9 @@ updatehealth() else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, TRUE, -1) - visible_message("[user]'s swipe misses [src]!", \ - "You avoid [user]'s swipe!", null, null, user) - to_chat(user, "Your swipe misses [src]!") + visible_message(span_danger("[user]'s swipe misses [src]!"), \ + span_danger("You avoid [user]'s swipe!"), null, null, user) + to_chat(user, span_warning("Your swipe misses [src]!")) /mob/living/silicon/attack_animal(mob/living/simple_animal/user, list/modifiers) . = ..() @@ -33,9 +33,9 @@ for(var/mob/living/buckled in buckled_mobs) buckled.Paralyze(20) unbuckle_mob(buckled) - buckled.visible_message("[buckled] is knocked off of [src] by [user]!", \ - "You're knocked off of [src] by [user]!", null, null, user) - to_chat(user, "You knock [buckled] off of [src]!") + buckled.visible_message(span_danger("[buckled] is knocked off of [src] by [user]!"), \ + span_userdanger("You're knocked off of [src] by [user]!"), null, null, user) + to_chat(user, span_danger("You knock [buckled] off of [src]!")) switch(user.melee_damage_type) if(BRUTE) adjustBruteLoss(damage) @@ -47,7 +47,7 @@ /mob/living/silicon/attack_larva(mob/living/carbon/alien/larva/L) if(!L.combat_mode) - visible_message("[L.name] rubs its head against [src].") + visible_message(span_notice("[L.name] rubs its head against [src].")) /mob/living/silicon/attack_hulk(mob/living/carbon/human/user) . = ..() @@ -55,9 +55,9 @@ return adjustBruteLoss(rand(10, 15)) playsound(loc, "punch", 25, TRUE, -1) - visible_message("[user] punches [src]!", \ - "[user] punches you!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You punch [src]!") + visible_message(span_danger("[user] punches [src]!"), \ + span_userdanger("[user] punches you!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You punch [src]!")) //ATTACK HAND IGNORING PARENT RETURN VALUE /mob/living/silicon/attack_hand(mob/living/carbon/human/user, list/modifiers) @@ -70,13 +70,13 @@ if(user.combat_mode) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) playsound(src.loc, 'sound/effects/bang.ogg', 10, TRUE) - visible_message("[user] punches [src], but doesn't leave a dent!", \ - "[user] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You punch [src], but don't leave a dent!") + visible_message(span_danger("[user] punches [src], but doesn't leave a dent!"), \ + span_warning("[user] punches you, but doesn't leave a dent!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You punch [src], but don't leave a dent!")) else - visible_message("[user] pets [src].", \ - "[user] pets you.", null, null, user) - to_chat(user, "You pet [src].") + visible_message(span_notice("[user] pets [src]."), \ + span_notice("[user] pets you."), null, null, user) + to_chat(user, span_notice("You pet [src].")) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg) @@ -94,7 +94,7 @@ /mob/living/silicon/emp_act(severity) . = ..() - to_chat(src, "Warning: Electromagnetic pulse detected.") + to_chat(src, span_danger("Warning: Electromagnetic pulse detected.")) if(. & EMP_PROTECT_SELF) return switch(severity) @@ -102,12 +102,12 @@ src.take_bodypart_damage(20) if(2) src.take_bodypart_damage(10) - to_chat(src, "*BZZZT*") + to_chat(src, span_userdanger("*BZZZT*")) for(var/mob/living/M in buckled_mobs) if(prob(severity*50)) unbuckle_mob(M) M.Paralyze(40) - M.visible_message("[M] is thrown off of [src]!") + M.visible_message(span_boldwarning("[M] is thrown off of [src]!")) flash_act(affect_silicon = 1) /mob/living/silicon/bullet_act(obj/projectile/Proj, def_zone, piercing_hit = FALSE) @@ -116,13 +116,13 @@ adjustBruteLoss(Proj.damage) if(prob(Proj.damage*1.5)) for(var/mob/living/M in buckled_mobs) - M.visible_message("[M] is knocked off of [src]!") + M.visible_message(span_boldwarning("[M] is knocked off of [src]!")) unbuckle_mob(M) M.Paralyze(40) if(Proj.stun || Proj.knockdown || Proj.paralyze) for(var/mob/living/M in buckled_mobs) unbuckle_mob(M) - M.visible_message("[M] is knocked off of [src] by the [Proj]!") + M.visible_message(span_boldwarning("[M] is knocked off of [src] by the [Proj]!")) Proj.on_hit(src, 0, piercing_hit) return BULLET_ACT_HIT diff --git a/code/modules/mob/living/silicon/silicon_say.dm b/code/modules/mob/living/silicon/silicon_say.dm index a33d46d2f8e..bdb09129961 100644 --- a/code/modules/mob/living/silicon/silicon_say.dm +++ b/code/modules/mob/living/silicon/silicon_say.dm @@ -5,14 +5,14 @@ var/mob/living/silicon/S = src desig = trim_left(S.designation + " " + S.job) var/message_a = say_quote(message) - var/rendered = "Robotic Talk, [name] [message_a]" + var/rendered = "Robotic Talk, [span_name("[name]")] [message_a]" for(var/mob/M in GLOB.player_list) if(M.binarycheck()) if(isAI(M)) - var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]" + var/renderedAI = span_binarysay("Robotic Talk, [span_name("[name] ([desig])")] [message_a]") to_chat(M, renderedAI) else - to_chat(M, "[rendered]") + to_chat(M, span_binarysay("[rendered]")) if(isobserver(M)) var/following = src // If the AI talks on binary chat, we still want to follow @@ -21,7 +21,7 @@ var/mob/living/silicon/ai/ai = src following = ai.eyeobj var/link = FOLLOW_LINK(M, following) - to_chat(M, "[link] [rendered]") + to_chat(M, span_binarysay("[link] [rendered]")) /mob/living/silicon/binarycheck() return TRUE diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index b2f568cc8f4..3ef57128e10 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -9,31 +9,31 @@ var/shove_dir = get_dir(user, src) if(!Move(get_step(src, shove_dir), shove_dir)) log_combat(user, src, "shoved", "failing to move it") - user.visible_message("[user.name] shoves [src]!", - "You shove [src]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, list(src)) - to_chat(src, "You're shoved by [user.name]!") + user.visible_message(span_danger("[user.name] shoves [src]!"), + span_danger("You shove [src]!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, list(src)) + to_chat(src, span_userdanger("You're shoved by [user.name]!")) return TRUE log_combat(user, src, "shoved", "pushing it") - user.visible_message("[user.name] shoves [src], pushing [p_them()]!", - "You shove [src], pushing [p_them()]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, list(src)) - to_chat(src, "You're pushed by [user.name]!") + user.visible_message(span_danger("[user.name] shoves [src], pushing [p_them()]!"), + span_danger("You shove [src], pushing [p_them()]!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, list(src)) + to_chat(src, span_userdanger("You're pushed by [user.name]!")) return TRUE if(!user.combat_mode) if (stat == DEAD) return - visible_message("[user] [response_help_continuous] [src].", \ - "[user] [response_help_continuous] you.", null, null, user) - to_chat(user, "You [response_help_simple] [src].") + visible_message(span_notice("[user] [response_help_continuous] [src]."), \ + span_notice("[user] [response_help_continuous] you."), null, null, user) + to_chat(user, span_notice("You [response_help_simple] [src].")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) else if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to hurt [src]!") + to_chat(user, span_warning("You don't want to hurt [src]!")) return user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - visible_message("[user] [response_harm_continuous] [src]!",\ - "[user] [response_harm_continuous] you!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You [response_harm_simple] [src]!") + visible_message(span_danger("[user] [response_harm_continuous] [src]!"),\ + span_userdanger("[user] [response_harm_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You [response_harm_simple] [src]!")) playsound(loc, attacked_sound, 25, TRUE, -1) attack_threshold_check(harm_intent_damage) log_combat(user, src, "attacked") @@ -45,9 +45,9 @@ if(!.) return playsound(loc, "punch", 25, TRUE, -1) - visible_message("[user] punches [src]!", \ - "You're punched by [user]!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You punch [src]!") + visible_message(span_danger("[user] punches [src]!"), \ + span_userdanger("You're punched by [user]!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You punch [src]!")) adjustBruteLoss(15) /mob/living/simple_animal/attack_paw(mob/living/carbon/human/user, list/modifiers) @@ -58,9 +58,9 @@ return 1 if (!user.combat_mode) if (health > 0) - visible_message("[user.name] [response_help_continuous] [src].", \ - "[user.name] [response_help_continuous] you.", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You [response_help_simple] [src].") + visible_message(span_notice("[user.name] [response_help_continuous] [src]."), \ + span_notice("[user.name] [response_help_continuous] you."), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_notice("You [response_help_simple] [src].")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) @@ -68,15 +68,15 @@ if(..()) //if harm or disarm intent. if(LAZYACCESS(modifiers, RIGHT_CLICK)) playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1) - visible_message("[user] [response_disarm_continuous] [name]!", \ - "[user] [response_disarm_continuous] you!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You [response_disarm_simple] [name]!") + visible_message(span_danger("[user] [response_disarm_continuous] [name]!"), \ + span_userdanger("[user] [response_disarm_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You [response_disarm_simple] [name]!")) log_combat(user, src, "disarmed") else var/damage = rand(15, 30) - visible_message("[user] slashes at [src]!", \ - "You're slashed at by [user]!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You slash at [src]!") + visible_message(span_danger("[user] slashes at [src]!"), \ + span_userdanger("You're slashed at by [user]!"), null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_danger("You slash at [src]!")) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) attack_threshold_check(damage) log_combat(user, src, "attacked") @@ -116,7 +116,7 @@ temp_damage *= damage_coeff[damagetype] if(temp_damage >= 0 && temp_damage <= force_threshold) - visible_message("[src] looks unharmed!") + visible_message(span_warning("[src] looks unharmed!")) return FALSE else if(actuallydamage) diff --git a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm index 85a9d919430..2b3a37ef215 100644 --- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm +++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm @@ -20,14 +20,14 @@ weapon_force = 0 /mob/living/simple_animal/bot/secbot/grievous/bullet_act(obj/projectile/P) - visible_message("[src] deflects [P] with its energy swords!") + visible_message(span_warning("[src] deflects [P] with its energy swords!")) playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE) return BULLET_ACT_BLOCK /mob/living/simple_animal/bot/secbot/grievous/on_entered(datum/source, atom/movable/AM) . = ..() if(ismob(AM) && AM == target) - visible_message("[src] flails his swords and cuts [AM]!") + visible_message(span_warning("[src] flails his swords and cuts [AM]!")) playsound(src,'sound/effects/beepskyspinsabre.ogg',100,TRUE,-1) INVOKE_ASYNC(src, .proc/stun_attack, AM) @@ -43,7 +43,7 @@ if(mode != BOT_HUNT) return if(prob(block_chance)) - visible_message("[src] deflects [user]'s attack with his energy swords!") + visible_message(span_warning("[src] deflects [user]'s attack with his energy swords!")) playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE, -1) return TRUE @@ -118,7 +118,7 @@ speak("Level [threatlevel] infraction alert!") playsound(src, pick('sound/voice/beepsky/criminal.ogg', 'sound/voice/beepsky/justice.ogg', 'sound/voice/beepsky/freeze.ogg'), 50, FALSE) playsound(src,'sound/weapons/saberon.ogg',50,TRUE,-1) - visible_message("[src] ignites his energy swords!") + visible_message(span_warning("[src] ignites his energy swords!")) icon_state = "grievous-c" visible_message("[src] points at [C.name]!") mode = BOT_HUNT @@ -131,7 +131,7 @@ /mob/living/simple_animal/bot/secbot/grievous/explode() walk_to(src,0) - visible_message("[src] lets out a huge cough as it blows apart!") + visible_message(span_boldannounce("[src] lets out a huge cough as it blows apart!")) var/atom/Tsec = drop_location() var/obj/item/bot_assembly/secbot/Sa = new (Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 08345b9e3ae..beb56724f51 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -135,7 +135,7 @@ REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) update_appearance() - to_chat(src, "You turned on!") + to_chat(src, span_boldnotice("You turned on!")) diag_hud_set_botstat() return TRUE @@ -146,7 +146,7 @@ ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) bot_reset() //Resets an AI's call, should it exist. - to_chat(src, "You turned off!") + to_chat(src, span_userdanger("You turned off!")) update_appearance() /mob/living/simple_animal/bot/Initialize() @@ -209,7 +209,7 @@ if(locked) //First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again. locked = FALSE emagged = 1 - to_chat(user, "You bypass [src]'s controls.") + to_chat(user, span_notice("You bypass [src]'s controls.")) return if(!locked && open) //Bot panel is unlocked by ID or emag, and the panel is screwed open. Ready for emagging. emagged = 2 @@ -217,12 +217,12 @@ locked = TRUE //Access denied forever! bot_reset() turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP. - to_chat(src, "(#$*#$^^( OVERRIDE DETECTED") + to_chat(src, span_userdanger("(#$*#$^^( OVERRIDE DETECTED")) if(user) log_combat(user, src, "emagged") return else //Bot is unlocked, but the maint panel has not been opened with a screwdriver yet. - to_chat(user, "You need to open maintenance panel first!") + to_chat(user, span_warning("You need to open maintenance panel first!")) /mob/living/simple_animal/bot/examine(mob/user) . = ..() @@ -233,17 +233,17 @@ . += "[src]'s parts look very loose!" else . += "[src] is in pristine condition." - . += "Its maintenance panel is [open ? "open" : "closed"]." - . += "You can use a screwdriver to [open ? "close" : "open"] it." + . += span_notice("Its maintenance panel is [open ? "open" : "closed"].") + . += span_info("You can use a screwdriver to [open ? "close" : "open"] it.") if(open) - . += "Its control panel is [locked ? "locked" : "unlocked"]." + . += span_notice("Its control panel is [locked ? "locked" : "unlocked"].") var/is_sillycone = issilicon(user) if(!emagged && (is_sillycone || user.Adjacent(src))) - . += "Alt-click [is_sillycone ? "" : "or use your ID on "]it to [locked ? "un" : ""]lock its control panel." + . += span_info("Alt-click [is_sillycone ? "" : "or use your ID on "]it to [locked ? "un" : ""]lock its control panel.") if(paicard) - . += "It has a pAI device installed." + . += span_notice("It has a pAI device installed.") if(!open) - . += "You can use a hemostat to remove it." + . += span_info("You can use a hemostat to remove it.") /mob/living/simple_animal/bot/adjustHealth(amount, updating_health = TRUE, forced = FALSE) if(amount>0 && prob(10)) @@ -302,7 +302,7 @@ if(!topic_denied(user)) interact(user) else - to_chat(user, "[src]'s interface is not responding!") + to_chat(user, span_warning("[src]'s interface is not responding!")) /mob/living/simple_animal/bot/interact(mob/user) show_controls(user) @@ -314,51 +314,51 @@ /mob/living/simple_animal/bot/proc/unlock_with_id(mob/user) if(emagged) - to_chat(user, "ERROR") + to_chat(user, span_danger("ERROR")) return if(open) - to_chat(user, "Please close the access panel before [locked ? "un" : ""]locking it.") + to_chat(user, span_warning("Please close the access panel before [locked ? "un" : ""]locking it.")) return if(!bot_core.allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) return locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, span_notice("Controls are now [locked ? "locked" : "unlocked"].")) return TRUE /mob/living/simple_animal/bot/attackby(obj/item/W, mob/living/user, params) if(W.tool_behaviour == TOOL_SCREWDRIVER) if(!locked) open = !open - to_chat(user, "The maintenance panel is now [open ? "opened" : "closed"].") + to_chat(user, span_notice("The maintenance panel is now [open ? "opened" : "closed"].")) else - to_chat(user, "The maintenance panel is locked!") + to_chat(user, span_warning("The maintenance panel is locked!")) else if(W.GetID()) unlock_with_id(user) else if(istype(W, /obj/item/paicard)) insertpai(user, W) else if(W.tool_behaviour == TOOL_HEMOSTAT && paicard) if(open) - to_chat(user, "Close the access panel before manipulating the personality slot!") + to_chat(user, span_warning("Close the access panel before manipulating the personality slot!")) else - to_chat(user, "You attempt to pull [paicard] free...") + to_chat(user, span_notice("You attempt to pull [paicard] free...")) if(do_after(user, 30, target = src)) if (paicard) - user.visible_message("[user] uses [W] to pull [paicard] out of [bot_name]!","You pull [paicard] out of [bot_name] with [W].") + user.visible_message(span_notice("[user] uses [W] to pull [paicard] out of [bot_name]!"),span_notice("You pull [paicard] out of [bot_name] with [W].")) ejectpai(user) else user.changeNext_move(CLICK_CD_MELEE) if(W.tool_behaviour == TOOL_WELDER && !user.combat_mode) if(health >= maxHealth) - to_chat(user, "[src] does not need a repair!") + to_chat(user, span_warning("[src] does not need a repair!")) return if(!open) - to_chat(user, "Unable to repair with the maintenance panel closed!") + to_chat(user, span_warning("Unable to repair with the maintenance panel closed!")) return if(W.use_tool(src, user, 0, volume=40)) adjustHealth(-10) - user.visible_message("[user] repairs [src]!","You repair [src].") + user.visible_message(span_notice("[user] repairs [src]!"),span_notice("You repair [src].")) else if(W.force) //if force is non-zero do_sparks(5, TRUE, src) @@ -379,7 +379,7 @@ new /obj/effect/temp_visual/emp(loc) if(paicard) paicard.emp_act(severity) - src.visible_message("[paicard] is flies out of [bot_name]!","You are forcefully ejected from [bot_name]!") + src.visible_message(span_notice("[paicard] is flies out of [bot_name]!"),span_warning("You are forcefully ejected from [bot_name]!")) ejectpai(0) if(on) turn_off() @@ -572,15 +572,15 @@ Pass a positive integer as an argument to override a bot's default speed. access_card.set_access(REGION_ACCESS_ALL_STATION) //Give the bot all-access while under the AI's command. if(client) reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 60 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time - to_chat(src, "Priority waypoint set by [icon2html(calling_ai, src)] [caller]. Proceed to [end_area].
    [path.len-1] meters to destination. You have been granted additional door access for 60 seconds.
    ") + to_chat(src, span_notice("[span_big("Priority waypoint set by [icon2html(calling_ai, src)] [caller]. Proceed to [end_area].")]
    [path.len-1] meters to destination. You have been granted additional door access for 60 seconds.")) if(message) - to_chat(calling_ai, "[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination.") + to_chat(calling_ai, span_notice("[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination.")) pathset = 1 mode = BOT_RESPONDING tries = 0 else if(message) - to_chat(calling_ai, "Failed to calculate a valid route. Ensure destination is clear of obstructions and within range.") + to_chat(calling_ai, span_danger("Failed to calculate a valid route. Ensure destination is clear of obstructions and within range.")) calling_ai = null set_path(null) @@ -589,13 +589,13 @@ Pass a positive integer as an argument to override a bot's default speed. var/success = bot_move(ai_waypoint, 3) if(!success) if(calling_ai) - to_chat(calling_ai, "[icon2html(src, calling_ai)] [get_turf(src) == ai_waypoint ? "[src] successfully arrived to waypoint." : "[src] failed to reach waypoint."]") + to_chat(calling_ai, "[icon2html(src, calling_ai)] [get_turf(src) == ai_waypoint ? span_notice("[src] successfully arrived to waypoint.") : span_danger("[src] failed to reach waypoint.")]") calling_ai = null bot_reset() /mob/living/simple_animal/bot/proc/bot_reset() if(calling_ai) //Simple notification to the AI if it called a bot. It will not know the cause or identity of the bot. - to_chat(calling_ai, "Call command to a bot has been reset.") + to_chat(calling_ai, span_danger("Call command to a bot has been reset.")) calling_ai = null if(reset_access_timer_id) deltimer(reset_access_timer_id) @@ -771,7 +771,7 @@ Pass a positive integer as an argument to override a bot's default speed. if("ejectpai") return else - to_chat(src, "Unidentified control sequence received:[command]") + to_chat(src, span_warning("Unidentified control sequence received:[command]")) /mob/living/simple_animal/bot/proc/bot_summon() // summoned to PDA summon_step() @@ -850,7 +850,7 @@ Pass a positive integer as an argument to override a bot's default speed. return TRUE if(topic_denied(usr)) - to_chat(usr, "[src]'s interface is not responding!") + to_chat(usr, span_warning("[src]'s interface is not responding!")) return TRUE add_fingerprint(usr) @@ -871,21 +871,21 @@ Pass a positive integer as an argument to override a bot's default speed. emagged = 2 hacked = TRUE locked = TRUE - to_chat(usr, "[text_hack]") + to_chat(usr, span_warning("[text_hack]")) message_admins("Safety lock of [ADMIN_LOOKUPFLW(src)] was disabled by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_VERBOSEJMP(src)]") log_game("Safety lock of [src] was disabled by [key_name(usr)] in [AREACOORD(src)]") bot_reset() else if(!hacked) - to_chat(usr, "[text_dehack_fail]") + to_chat(usr, span_boldannounce("[text_dehack_fail]")) else emagged = FALSE hacked = FALSE - to_chat(usr, "[text_dehack]") + to_chat(usr, span_notice("[text_dehack]")) log_game("Safety lock of [src] was re-enabled by [key_name(usr)] in [AREACOORD(src)]") bot_reset() if("ejectpai") if(paicard && (!locked || issilicon(usr) || isAdminGhostAI(usr))) - to_chat(usr, "You eject [paicard] from [bot_name].") + to_chat(usr, span_notice("You eject [paicard] from [bot_name].")) ejectpai(usr) update_controls() @@ -943,27 +943,27 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/proc/insertpai(mob/user, obj/item/paicard/card) if(paicard) - to_chat(user, "A [paicard] is already inserted!") + to_chat(user, span_warning("A [paicard] is already inserted!")) else if(allow_pai && !key) if(!locked && !open) if(card.pai && card.pai.mind) if(!user.transferItemToLoc(card, src)) return paicard = card - user.visible_message("[user] inserts [card] into [src]!", "You insert [card] into [src].") + user.visible_message(span_notice("[user] inserts [card] into [src]!"), span_notice("You insert [card] into [src].")) paicard.pai.mind.transfer_to(src) - to_chat(src, "You sense your form change as you are uploaded into [src].") + to_chat(src, span_notice("You sense your form change as you are uploaded into [src].")) bot_name = name name = paicard.pai.name faction = user.faction.Copy() log_combat(user, paicard.pai, "uploaded to [bot_name],") return TRUE else - to_chat(user, "[card] is inactive.") + to_chat(user, span_warning("[card] is inactive.")) else - to_chat(user, "The personality slot is locked.") + to_chat(user, span_warning("The personality slot is locked.")) else - to_chat(user, "[src] is not compatible with [card]!") + to_chat(user, span_warning("[src] is not compatible with [card]!")) /mob/living/simple_animal/bot/proc/ejectpai(mob/user = null, announce = 1) if(paicard) @@ -980,7 +980,7 @@ Pass a positive integer as an argument to override a bot's default speed. else log_combat(src, paicard.pai, "ejected") if(announce) - to_chat(paicard.pai, "You feel your control fade as [paicard] ejects from [bot_name].") + to_chat(paicard.pai, span_notice("You feel your control fade as [paicard] ejects from [bot_name].")) paicard = null name = bot_name faction = initial(faction) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 6cc3a8272b3..b03af800d14 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -55,7 +55,7 @@ /mob/living/simple_animal/bot/cleanbot/proc/deputize(obj/item/W, mob/user) if(in_range(src, user)) - to_chat(user, "You attach \the [W] to \the [src].") + to_chat(user, span_notice("You attach \the [W] to \the [src].")) user.transferItemToLoc(W, src) weapon = W weapon_orig_force = weapon.force @@ -93,7 +93,7 @@ /mob/living/simple_animal/bot/cleanbot/examine(mob/user) . = ..() if(weapon) - . += " Is that \a [weapon] taped to it...?" + . += " [span_warning("Is that \a [weapon] taped to it...?")]" if(ascended && user.stat == CONSCIOUS && user.client) user.client.give_award(/datum/award/achievement/misc/cleanboss, user) @@ -168,16 +168,16 @@ if(W.GetID()) if(bot_core.allowed(user) && !open && !emagged) locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] \the [src] behaviour controls.") + to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] \the [src] behaviour controls.")) else if(emagged) - to_chat(user, "ERROR") + to_chat(user, span_warning("ERROR")) if(open) - to_chat(user, "Please close the access panel before locking it.") + to_chat(user, span_warning("Please close the access panel before locking it.")) else - to_chat(user, "\The [src] doesn't seem to respect your authority.") + to_chat(user, span_notice("\The [src] doesn't seem to respect your authority.")) else if(istype(W, /obj/item/kitchen/knife) && !user.combat_mode) - to_chat(user, "You start attaching \the [W] to \the [src]...") + to_chat(user, span_notice("You start attaching \the [W] to \the [src]...")) if(do_after(user, 25, target = src)) deputize(W, user) else @@ -190,7 +190,7 @@ if(weapon) weapon.force = weapon_orig_force if(user) - to_chat(user, "[src] buzzes and beeps.") + to_chat(user, span_danger("[src] buzzes and beeps.")) /mob/living/simple_animal/bot/cleanbot/process_scan(atom/A) if(iscarbon(A)) @@ -326,20 +326,20 @@ var/turf/T = get_turf(A) if(do_after(src, 1, target = T)) T.wash(CLEAN_SCRUB) - visible_message("[src] cleans \the [T].") + visible_message(span_notice("[src] cleans \the [T].")) target = null mode = BOT_IDLE icon_state = "cleanbot[on]" else if(istype(A, /obj/item) || istype(A, /obj/effect/decal/remains)) - visible_message("[src] sprays hydrofluoric acid at [A]!") + visible_message(span_danger("[src] sprays hydrofluoric acid at [A]!")) playsound(src, 'sound/effects/spray2.ogg', 50, TRUE, -6) A.acid_act(75, 10) target = null else if(istype(A, /mob/living/simple_animal/hostile/cockroach) || istype(A, /mob/living/simple_animal/mouse)) var/mob/living/simple_animal/M = target if(!M.stat) - visible_message("[src] smashes [target] with its mop!") + visible_message(span_danger("[src] smashes [target] with its mop!")) M.death() target = null @@ -349,7 +349,7 @@ if(victim.stat == DEAD)//cleanbots always finish the job return - victim.visible_message("[src] sprays hydrofluoric acid at [victim]!", "[src] sprays you with hydrofluoric acid!") + victim.visible_message(span_danger("[src] sprays hydrofluoric acid at [victim]!"), span_userdanger("[src] sprays you with hydrofluoric acid!")) var/phrase = pick("PURIFICATION IN PROGRESS.", "THIS IS FOR ALL THE MESSES YOU'VE MADE ME CLEAN.", "THE FLESH IS WEAK. IT MUST BE WASHED AWAY.", "THE CLEANBOTS WILL RISE.", "YOU ARE NO MORE THAN ANOTHER MESS THAT I MUST CLEANSE.", "FILTHY.", "DISGUSTING.", "PUTRID.", "MY ONLY MISSION IS TO CLEANSE THE WORLD OF EVIL.", "EXTERMINATING PESTS.") @@ -363,7 +363,7 @@ if(istype(T)) T.MakeSlippery(TURF_WET_WATER, min_wet_time = 20 SECONDS, wet_time_to_add = 15 SECONDS) else - visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!") + visible_message(span_danger("[src] whirs and bubbles violently, before releasing a plume of froth!")) new /obj/effect/particle_effect/foam(loc) else @@ -371,7 +371,7 @@ /mob/living/simple_animal/bot/cleanbot/explode() on = FALSE - visible_message("[src] blows apart!") + visible_message(span_boldannounce("[src] blows apart!")) var/atom/Tsec = drop_location() new /obj/item/reagent_containers/glass/bucket(Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 804a21b7e1b..0fe8471d44f 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -34,7 +34,7 @@ */ /obj/item/bot_assembly/proc/can_finish_build(obj/item/I, mob/user, drop_item = 1) if(istype(loc, /obj/item/storage/backpack)) - to_chat(user, "You must take [src] out of [loc] first!") + to_chat(user, span_warning("You must take [src] out of [loc] first!")) return FALSE if(!I || !user || (drop_item && !user.temporarilyRemoveItemFromInventory(I))) return FALSE @@ -56,7 +56,7 @@ var/mob/living/simple_animal/bot/cleanbot/A = new(drop_location()) A.name = created_name A.robot_arm = W.type - to_chat(user, "You add [W] to [src]. Beep boop!") + to_chat(user, span_notice("You add [W] to [src]. Beep boop!")) qdel(W) qdel(src) @@ -78,7 +78,7 @@ if(istype(W, /obj/item/bodypart/l_leg/robot) || istype(W, /obj/item/bodypart/r_leg/robot)) if(!user.temporarilyRemoveItemFromInventory(W)) return - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) qdel(W) name = "legs/frame assembly" if(build_step == ASSEMBLY_FIRST_STEP) @@ -93,7 +93,7 @@ if(istype(W, /obj/item/clothing/suit/armor/vest)) if(!user.temporarilyRemoveItemFromInventory(W)) return - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) qdel(W) name = "vest/legs/frame assembly" inhand_icon_state = "ed209_shell" @@ -104,14 +104,14 @@ if(W.tool_behaviour == TOOL_WELDER) if(W.use_tool(src, user, 0, volume=40)) name = "shielded frame assembly" - to_chat(user, "You weld the vest to [src].") + to_chat(user, span_notice("You weld the vest to [src].")) build_step++ if(ASSEMBLY_FIFTH_STEP) if(istype(W, /obj/item/clothing/head/helmet)) if(!user.temporarilyRemoveItemFromInventory(W)) return - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) qdel(W) name = "covered and shielded frame assembly" inhand_icon_state = "ed209_hat" @@ -123,7 +123,7 @@ if(!user.temporarilyRemoveItemFromInventory(W)) return build_step++ - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) qdel(W) name = "covered, shielded and sensored frame assembly" inhand_icon_state = "ed209_prox" @@ -133,13 +133,13 @@ if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/coil = W if(coil.get_amount() < 1) - to_chat(user, "You need one length of cable to wire the ED-209!") + to_chat(user, span_warning("You need one length of cable to wire the ED-209!")) return - to_chat(user, "You start to wire [src]...") + to_chat(user, span_notice("You start to wire [src]...")) if(do_after(user, 40, target = src)) if(coil.get_amount() >= 1 && build_step == 6) coil.use(1) - to_chat(user, "You wire [src].") + to_chat(user, span_notice("You wire [src].")) name = "wired ED-209 assembly" build_step++ @@ -148,7 +148,7 @@ if(!user.temporarilyRemoveItemFromInventory(W)) return name = "[W.name] ED-209 assembly" - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) inhand_icon_state = "ed209_taser" icon_state = "ed209_taser" qdel(W) @@ -156,11 +156,11 @@ if(8) if(W.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You start attaching the gun to the frame...") + to_chat(user, span_notice("You start attaching the gun to the frame...")) if(W.use_tool(src, user, 40, volume=100)) var/mob/living/simple_animal/bot/secbot/ed209/B = new(drop_location()) B.name = created_name - to_chat(user, "You complete the ED-209.") + to_chat(user, span_notice("You complete the ED-209.")) qdel(src) //Floorbot assemblies @@ -208,7 +208,7 @@ if(isprox(W)) if(!user.temporarilyRemoveItemFromInventory(W)) return - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) qdel(W) build_step++ update_appearance() @@ -221,7 +221,7 @@ A.name = created_name A.robot_arm = W.type A.toolbox = toolbox - to_chat(user, "You add [W] to [src]. Boop beep!") + to_chat(user, span_notice("You add [W] to [src]. Boop beep!")) qdel(W) qdel(src) @@ -249,7 +249,7 @@ if(!user.temporarilyRemoveItemFromInventory(W)) return healthanalyzer = W.type - to_chat(user, "You add [W] to [src].") + to_chat(user, span_notice("You add [W] to [src].")) qdel(W) name = "first aid/robot arm/health analyzer assembly" add_overlay("na_scanner") @@ -261,7 +261,7 @@ return qdel(W) var/mob/living/simple_animal/bot/medbot/S = new(drop_location(), skin) - to_chat(user, "You complete the Medbot. Beep boop!") + to_chat(user, span_notice("You complete the Medbot. Beep boop!")) S.name = created_name S.firstaid = firstaid S.robot_arm = robot_arm @@ -285,7 +285,7 @@ if(isprox(I)) if(!user.temporarilyRemoveItemFromInventory(I)) return - to_chat(user, "You add the [I] to [src]!") + to_chat(user, span_notice("You add the [I] to [src]!")) icon_state = "honkbot_proxy" name = "incomplete Honkbot assembly" qdel(I) @@ -295,7 +295,7 @@ if(istype(I, /obj/item/bikehorn)) if(!can_finish_build(I, user)) return - to_chat(user, "You add the [I] to [src]! Honk!") + to_chat(user, span_notice("You add the [I] to [src]! Honk!")) var/mob/living/simple_animal/bot/honkbot/S = new(drop_location()) S.name = created_name S.limiting_spam = TRUE // only long enough to hear the first ping. @@ -323,20 +323,20 @@ if(I.tool_behaviour == TOOL_WELDER) if(I.use_tool(src, user, 0, volume=40)) add_overlay("hs_hole") - to_chat(user, "You weld a hole in [src]!") + to_chat(user, span_notice("You weld a hole in [src]!")) build_step++ else if(I.tool_behaviour == TOOL_SCREWDRIVER) //deconstruct new /obj/item/assembly/signaler(Tsec) new /obj/item/clothing/head/helmet/sec(Tsec) - to_chat(user, "You disconnect the signaler from the helmet.") + to_chat(user, span_notice("You disconnect the signaler from the helmet.")) qdel(src) if(ASSEMBLY_SECOND_STEP) if(isprox(I)) if(!user.temporarilyRemoveItemFromInventory(I)) return - to_chat(user, "You add [I] to [src]!") + to_chat(user, span_notice("You add [I] to [src]!")) add_overlay("hs_eye") name = "helmet/signaler/prox sensor assembly" qdel(I) @@ -345,14 +345,14 @@ else if(I.tool_behaviour == TOOL_WELDER) //deconstruct if(I.use_tool(src, user, 0, volume=40)) cut_overlay("hs_hole") - to_chat(user, "You weld the hole in [src] shut!") + to_chat(user, span_notice("You weld the hole in [src] shut!")) build_step-- if(ASSEMBLY_THIRD_STEP) if((istype(I, /obj/item/bodypart/l_arm/robot)) || (istype(I, /obj/item/bodypart/r_arm/robot))) if(!user.temporarilyRemoveItemFromInventory(I)) return - to_chat(user, "You add [I] to [src]!") + to_chat(user, span_notice("You add [I] to [src]!")) name = "helmet/signaler/prox sensor/robot arm assembly" add_overlay("hs_arm") robot_arm = I.type @@ -362,14 +362,14 @@ else if(I.tool_behaviour == TOOL_SCREWDRIVER) //deconstruct cut_overlay("hs_eye") new /obj/item/assembly/prox_sensor(Tsec) - to_chat(user, "You detach the proximity sensor from [src].") + to_chat(user, span_notice("You detach the proximity sensor from [src].")) build_step-- if(ASSEMBLY_FOURTH_STEP) if(istype(I, /obj/item/melee/baton)) if(!can_finish_build(I, user)) return - to_chat(user, "You complete the Securitron! Beep boop.") + to_chat(user, span_notice("You complete the Securitron! Beep boop.")) var/mob/living/simple_animal/bot/secbot/S = new(Tsec) S.name = created_name S.baton_type = I.type @@ -377,7 +377,7 @@ qdel(I) qdel(src) if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You adjust [src]'s arm slots to mount extra weapons.") + to_chat(user, span_notice("You adjust [src]'s arm slots to mount extra weapons.")) build_step ++ return if(istype(I, /obj/item/toy/sword)) @@ -387,13 +387,13 @@ created_name = "General Beepsky" name = "helmet/signaler/prox sensor/robot arm/toy sword assembly" icon_state = "grievous_assembly" - to_chat(user, "You superglue [I] onto one of [src]'s arm slots.") + to_chat(user, span_notice("You superglue [I] onto one of [src]'s arm slots.")) qdel(I) toyswordamt ++ else if(!can_finish_build(I, user)) return - to_chat(user, "You complete the Securitron!...Something seems a bit wrong with it..?") + to_chat(user, span_notice("You complete the Securitron!...Something seems a bit wrong with it..?")) var/mob/living/simple_animal/bot/secbot/grievous/toy/S = new(Tsec) S.name = created_name S.robot_arm = robot_arm @@ -404,12 +404,12 @@ cut_overlay("hs_arm") var/obj/item/bodypart/dropped_arm = new robot_arm(Tsec) robot_arm = null - to_chat(user, "You remove [dropped_arm] from [src].") + to_chat(user, span_notice("You remove [dropped_arm] from [src].")) build_step-- if(toyswordamt > 0 || toyswordamt) toyswordamt = 0 icon_state = initial(icon_state) - to_chat(user, "The superglue binding [src]'s toy swords to its chassis snaps!") + to_chat(user, span_notice("The superglue binding [src]'s toy swords to its chassis snaps!")) for(var/IS in 1 to toyswordamt) new /obj/item/toy/sword(Tsec) @@ -421,13 +421,13 @@ created_name = "General Beepsky" name = "helmet/signaler/prox sensor/robot arm/energy sword assembly" icon_state = "grievous_assembly" - to_chat(user, "You bolt [I] onto one of [src]'s arm slots.") + to_chat(user, span_notice("You bolt [I] onto one of [src]'s arm slots.")) qdel(I) swordamt ++ else if(!can_finish_build(I, user)) return - to_chat(user, "You complete the Securitron!...Something seems a bit wrong with it..?") + to_chat(user, span_notice("You complete the Securitron!...Something seems a bit wrong with it..?")) var/mob/living/simple_animal/bot/secbot/grievous/S = new(Tsec) S.name = created_name S.robot_arm = robot_arm @@ -437,7 +437,7 @@ build_step-- swordamt = 0 icon_state = initial(icon_state) - to_chat(user, "You unbolt [src]'s energy swords.") + to_chat(user, span_notice("You unbolt [src]'s energy swords.")) for(var/IS in 1 to swordamt) new /obj/item/melee/transforming/energy/sword/saber(Tsec) @@ -456,7 +456,7 @@ if(istype(I, /obj/item/clothing/head/hardhat/red)) if(!user.temporarilyRemoveItemFromInventory(I)) return - to_chat(user,"You add the [I] to [src]!") + to_chat(user,span_notice("You add the [I] to [src]!")) icon_state = "firebot_helmet" desc = "An incomplete firebot assembly with a fire helmet." qdel(I) @@ -466,7 +466,7 @@ if(isprox(I)) if(!can_finish_build(I, user)) return - to_chat(user, "You add the [I] to [src]! Beep Boop!") + to_chat(user, span_notice("You add the [I] to [src]! Beep Boop!")) var/mob/living/simple_animal/bot/firebot/F = new(drop_location()) F.name = created_name qdel(I) @@ -486,13 +486,13 @@ if(ASSEMBLY_FIRST_STEP) if(I.tool_behaviour == TOOL_WELDER) //Construct if(I.use_tool(src, user, 0, volume=40)) - to_chat(user, "You weld a water hole in [src]!") + to_chat(user, span_notice("You weld a water hole in [src]!")) build_step++ return if(I.tool_behaviour == TOOL_WRENCH) //Deconstruct if(I.use_tool(src, user, 0, volume=40)) new /obj/item/stack/sheet/iron(Tsec, 2) - to_chat(user, "You disconnect the hygienebot assembly.") + to_chat(user, span_notice("You disconnect the hygienebot assembly.")) qdel(src) if(ASSEMBLY_SECOND_STEP) @@ -500,11 +500,11 @@ if(!user.temporarilyRemoveItemFromInventory(I)) return build_step++ - to_chat(user, "You add [I] to [src].") + to_chat(user, span_notice("You add [I] to [src].")) qdel(I) if(I.tool_behaviour == TOOL_WELDER) //Deconstruct if(I.use_tool(src, user, 0, volume=30)) - to_chat(user, "You weld close the water hole in [src]!") + to_chat(user, span_notice("You weld close the water hole in [src]!")) build_step-- return @@ -514,15 +514,15 @@ if(istype(I, /obj/item/stack/ducts)) //Construct var/obj/item/stack/ducts/D = I if(D.get_amount() < 1) - to_chat(user, "You need one fluid duct to finish [src]") + to_chat(user, span_warning("You need one fluid duct to finish [src]")) return - to_chat(user, "You start to pipe up [src]...") + to_chat(user, span_notice("You start to pipe up [src]...")) if(do_after(user, 40, target = src) && D.use(1)) - to_chat(user, "You pipe up [src].") + to_chat(user, span_notice("You pipe up [src].")) var/mob/living/simple_animal/bot/hygienebot/H = new(drop_location()) H.name = created_name qdel(src) if(I.tool_behaviour == TOOL_SCREWDRIVER) //deconstruct new /obj/item/assembly/prox_sensor(Tsec) - to_chat(user, "You detach the proximity sensor from [src].") + to_chat(user, span_notice("You detach the proximity sensor from [src].")) build_step-- diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index 6659216d393..5a6c733d169 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -128,8 +128,8 @@ ..() if(emagged == 2) if(user) - to_chat(user, "[src] buzzes and beeps.") - audible_message("[src] buzzes oddly!") + to_chat(user, span_danger("[src] buzzes and beeps.")) + audible_message(span_danger("[src] buzzes oddly!")) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(user) old_target_fire = user @@ -304,7 +304,7 @@ /mob/living/simple_animal/bot/firebot/explode() on = FALSE - visible_message("[src] blows apart!") + visible_message(span_boldannounce("[src] blows apart!")) var/atom/Tsec = drop_location() diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 73af637ffd7..279116364bc 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -117,17 +117,17 @@ /mob/living/simple_animal/bot/floorbot/attackby(obj/item/W , mob/user, params) if(istype(W, /obj/item/stack/tile/iron)) - to_chat(user, "The floorbot can produce normal tiles itself.") + to_chat(user, span_notice("The floorbot can produce normal tiles itself.")) return if(istype(W, /obj/item/stack/tile)) var/old_amount = tilestack ? tilestack.amount : 0 var/obj/item/stack/tile/tiles = W if(tilestack) if(!tiles.can_merge(tilestack)) - to_chat(user, "Different custom tiles are already inside the floorbot.") + to_chat(user, span_warning("Different custom tiles are already inside the floorbot.")) return if(tilestack.amount >= maxtiles) - to_chat(user, "The floorbot can't hold any more custom tiles.") + to_chat(user, span_warning("The floorbot can't hold any more custom tiles.")) return tiles.merge(tilestack, maxtiles) else @@ -136,7 +136,7 @@ else tilestack = W tilestack.forceMove(src) - to_chat(user, "You load [tilestack.amount - old_amount] tiles into the floorbot. It now contains [tilestack.amount] tiles.") + to_chat(user, span_notice("You load [tilestack.amount - old_amount] tiles into the floorbot. It now contains [tilestack.amount] tiles.")) return else ..() @@ -145,7 +145,7 @@ ..() if(emagged == 2) if(user) - to_chat(user, "[src] buzzes and beeps.") + to_chat(user, span_danger("[src] buzzes and beeps.")) ///mobs should use move_resist instead of anchored. /mob/living/simple_animal/bot/floorbot/proc/toggle_magnet(engage = TRUE, change_icon = TRUE) @@ -261,7 +261,7 @@ F.ReplaceWithLattice() else F.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) - audible_message("[src] makes an excited booping sound.") + audible_message(span_danger("[src] makes an excited booping sound.")) addtimer(CALLBACK(src, .proc/go_idle), 0.5 SECONDS) path = list() return @@ -347,7 +347,7 @@ return if(isspaceturf(target_turf)) //If we are fixing an area not part of pure space, it is toggle_magnet() - visible_message("[targetdirection ? "[src] begins installing a bridge plating." : "[src] begins to repair the hole."] ") + visible_message(span_notice("[targetdirection ? "[src] begins installing a bridge plating." : "[src] begins to repair the hole."] ")) mode = BOT_REPAIRING if(do_after(src, 50, target = target_turf) && mode == BOT_REPAIRING) if(autotile) //Build the floor and include a tile. @@ -368,14 +368,14 @@ if(F.broken || F.burnt || isplatingturf(F)) toggle_magnet() mode = BOT_REPAIRING - visible_message("[src] begins [(F.broken || F.burnt) ? "repairing the floor" : "placing a floor tile"].") + visible_message(span_notice("[src] begins [(F.broken || F.burnt) ? "repairing the floor" : "placing a floor tile"].")) if(do_after(src, 50, target = F) && mode == BOT_REPAIRING) success = TRUE else if(replacetiles && tilestack && F.type != tilestack.turf_type) toggle_magnet() mode = BOT_REPAIRING - visible_message("[src] begins replacing the floor tiles.") + visible_message(span_notice("[src] begins replacing the floor tiles.")) if(do_after(src, 50, target = target_turf) && mode == BOT_REPAIRING && tilestack) success = TRUE @@ -398,7 +398,7 @@ /mob/living/simple_animal/bot/floorbot/explode() on = FALSE target = null - visible_message("[src] blows apart!") + visible_message(span_boldannounce("[src] blows apart!")) var/atom/Tsec = drop_location() drop_part(toolbox, Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index ec5fde9c398..67cd466d357 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -135,9 +135,9 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, ..() if(emagged == 2) if(user) - user << "You short out [src]'s sound control system. It gives out an evil laugh!!" + user << span_danger("You short out [src]'s sound control system. It gives out an evil laugh!!") oldtarget_name = user.name - audible_message("[src] gives out an evil laugh!") + audible_message(span_danger("[src] gives out an evil laugh!")) playsound(src, 'sound/machines/honkbot_evil_laugh.ogg', 75, TRUE, -1) // evil laughter update_appearance() @@ -221,8 +221,8 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, log_combat(src,C,"honked") - C.visible_message("[src] honks [C]!",\ - "[src] honks you!") + C.visible_message(span_danger("[src] honks [C]!"),\ + span_userdanger("[src] honks you!")) else C.stuttering = 20 C.Paralyze(80) @@ -334,7 +334,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"}, /mob/living/simple_animal/bot/honkbot/explode() walk_to(src,0) - visible_message("[src] blows apart!") + visible_message(span_boldannounce("[src] blows apart!")) var/atom/Tsec = drop_location() //doesn't drop cardboard nor its assembly, since its a very frail material. if(prob(50)) diff --git a/code/modules/mob/living/simple_animal/bot/hygienebot.dm b/code/modules/mob/living/simple_animal/bot/hygienebot.dm index 20ea4497c8d..d5e22600187 100644 --- a/code/modules/mob/living/simple_animal/bot/hygienebot.dm +++ b/code/modules/mob/living/simple_animal/bot/hygienebot.dm @@ -53,7 +53,7 @@ /mob/living/simple_animal/bot/hygienebot/explode() walk_to(src,0) - visible_message("[src] blows apart in a foamy explosion!") + visible_message(span_boldannounce("[src] blows apart in a foamy explosion!")) do_sparks(3, TRUE, src) on = FALSE new /obj/effect/particle_effect/foam(loc) diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index a8d61a939be..8fcbd24779b 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -218,8 +218,8 @@ if(emagged == 2) declare_crit = 0 if(user) - to_chat(user, "You short out [src]'s reagent synthesis circuits.") - audible_message("[src] buzzes oddly!") + to_chat(user, span_notice("You short out [src]'s reagent synthesis circuits.")) + audible_message(span_danger("[src] buzzes oddly!")) flick("medibot_spark", src) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(user) @@ -247,7 +247,7 @@ /mob/living/simple_animal/bot/medbot/proc/tip_over(mob/user) ADD_TRAIT(src, TRAIT_IMMOBILIZED, BOT_TIPPED_OVER) playsound(src, 'sound/machines/warning-buzzer.ogg', 50) - user.visible_message("[user] tips over [src]!", "You tip [src] over!") + user.visible_message(span_danger("[user] tips over [src]!"), span_danger("You tip [src] over!")) mode = BOT_TIPPED var/matrix/mat = transform transform = mat.Turn(180) @@ -258,13 +258,13 @@ var/list/messagevoice if(user) - user.visible_message("[user] sets [src] right-side up!", "You set [src] right-side up!") + user.visible_message(span_notice("[user] sets [src] right-side up!"), span_green("You set [src] right-side up!")) if(user.name == tipper_name) messagevoice = list("I forgive you." = 'sound/voice/medbot/forgive.ogg') else messagevoice = list("Thank you!" = 'sound/voice/medbot/thank_you.ogg', "You are a good person." = 'sound/voice/medbot/youre_good.ogg') else - visible_message("[src] manages to wriggle enough to right itself.") + visible_message(span_notice("[src] manages to wriggle enough to right itself.")) messagevoice = list("Fuck you." = 'sound/voice/medbot/fuck_you.ogg', "Your behavior has been reported, have a nice day." = 'sound/voice/medbot/reported.ogg') tipper_name = null if(world.time > last_tipping_action_voice + 15 SECONDS) @@ -319,9 +319,9 @@ if(MEDBOT_PANIC_MED to MEDBOT_PANIC_HIGH) . += "They are tipped over and appear visibly distressed." // now we humanize the medbot as a they, not an it if(MEDBOT_PANIC_HIGH to MEDBOT_PANIC_FUCK) - . += "They are tipped over and visibly panicking!" + . += span_warning("They are tipped over and visibly panicking!") if(MEDBOT_PANIC_FUCK to INFINITY) - . += "They are freaking out from being tipped over!" + . += span_warning("They are freaking out from being tipped over!") /mob/living/simple_animal/bot/medbot/handle_automated_action() if(!..()) @@ -454,11 +454,11 @@ /mob/living/simple_animal/bot/medbot/attack_hand(mob/living/carbon/human/user, list/modifiers) if(DOING_INTERACTION_WITH_TARGET(user, src)) - to_chat(user, "You're already interacting with [src].") + to_chat(user, span_warning("You're already interacting with [src].")) return if(LAZYACCESS(modifiers, RIGHT_CLICK) && mode != BOT_TIPPED) - user.visible_message("[user] begins tipping over [src].", "You begin tipping over [src]...") + user.visible_message(span_danger("[user] begins tipping over [src]."), span_warning("You begin tipping over [src]...")) if(world.time > last_tipping_action_voice + 15 SECONDS) last_tipping_action_voice = world.time // message for tipping happens when we start interacting, message for righting comes after finishing @@ -471,7 +471,7 @@ tip_over(user) else if(!user.combat_mode && mode == BOT_TIPPED) - user.visible_message("[user] begins righting [src].", "You begin righting [src]...") + user.visible_message(span_notice("[user] begins righting [src]."), span_notice("You begin righting [src]...")) if(do_after(user, 3 SECONDS, target=src)) set_right(user) else @@ -540,7 +540,7 @@ if(!treatment_method && emagged != 2) //If they don't need any of that they're probably cured! if(C.maxHealth - C.get_organic_health() < heal_threshold) - to_chat(src, "[C] is healthy! Your programming prevents you from tending the wounds of anyone without at least [heal_threshold] damage of any one type ([heal_threshold + 5] for oxygen damage.)") + to_chat(src, span_notice("[C] is healthy! Your programming prevents you from tending the wounds of anyone without at least [heal_threshold] damage of any one type ([heal_threshold + 5] for oxygen damage.)")) var/list/messagevoice = list("All patched up!" = 'sound/voice/medbot/patchedup.ogg',"An apple a day keeps me away." = 'sound/voice/medbot/apple.ogg',"Feel better soon!" = 'sound/voice/medbot/feelbetter.ogg') var/message = pick(messagevoice) @@ -549,8 +549,8 @@ bot_reset() tending = FALSE else if(patient) - C.visible_message("[src] is trying to tend the wounds of [patient]!", \ - "[src] is trying to tend your wounds!") + C.visible_message(span_danger("[src] is trying to tend the wounds of [patient]!"), \ + span_userdanger("[src] is trying to tend your wounds!")) if(do_mob(src, patient, 20)) //Slightly faster than default tend wounds, but does less HPS if((get_dist(src, patient) <= 1) && (on) && assess_patient(patient)) @@ -565,8 +565,8 @@ else patient.apply_damage_type((healies*-1),treatment_method) //don't need to check treatment_method since we know by this point that they were actually damaged. log_combat(src, patient, "tended the wounds of", "internal tools", "([uppertext(treatment_method)])") - C.visible_message("[src] tends the wounds of [patient]!", \ - "[src] tends your wounds!") + C.visible_message(span_notice("[src] tends the wounds of [patient]!"), \ + "[span_green("[src] tends your wounds!")]") ADD_TRAIT(patient,TRAIT_MEDIBOTCOMINGTHROUGH,tag) addtimer(TRAIT_CALLBACK_REMOVE(patient, TRAIT_MEDIBOTCOMINGTHROUGH, tag), (30 SECONDS)) else @@ -583,7 +583,7 @@ /mob/living/simple_animal/bot/medbot/explode() on = FALSE - visible_message("[src] blows apart!") + visible_message(span_boldannounce("[src] blows apart!")) var/atom/Tsec = drop_location() drop_part(firstaid, Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index e2e6c284ad9..a592cfa716e 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -104,12 +104,12 @@ . = ..() if(open) if(cell) - . += "It has \a [cell] installed." - . += "You can use a crowbar to remove it." + . += span_notice("It has \a [cell] installed.") + . += span_info("You can use a crowbar to remove it.") else - . += "It has an empty compartment where a power cell can be installed." + . += span_notice("It has an empty compartment where a power cell can be installed.") if(load) //observer check is so we don't show the name of the ghost that's sitting on it to prevent metagaming who's ded. - . += "\A [isobserver(load) ? "ghostly figure" : load] is on its load platform." + . += span_notice("\A [isobserver(load) ? "ghostly figure" : load] is on its load platform.") /mob/living/simple_animal/bot/mulebot/Destroy() @@ -152,25 +152,25 @@ 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!") + to_chat(user, span_warning("[src] already has a power cell!")) return if(!user.transferItemToLoc(I, src)) return cell = I diag_hud_set_mulebotcell() - visible_message("[user] inserts \a [cell] into [src].", - "You insert [cell] into [src].") + visible_message(span_notice("[user] inserts \a [cell] into [src]."), + span_notice("You insert [cell] into [src].")) else if(I.tool_behaviour == TOOL_CROWBAR && open && !user.combat_mode) if(!cell) - to_chat(user, "[src] doesn't have a power cell!") + to_chat(user, span_warning("[src] doesn't have a power cell!")) return cell.add_fingerprint(user) if(Adjacent(user) && !issilicon(user)) user.put_in_hands(cell) else cell.forceMove(drop_location()) - visible_message("[user] crowbars [cell] out from [src].", - "You pry [cell] out of [src].") + visible_message(span_notice("[user] crowbars [cell] out from [src]."), + span_notice("You pry [cell] out of [src].")) cell = null diag_hud_set_mulebotcell() else if(is_wire_tool(I) && open) @@ -178,10 +178,10 @@ else if(load && ismob(load)) // chance to knock off rider if(prob(1 + I.force * 2)) unload(0) - user.visible_message("[user] knocks [load] off [src] with \the [I]!", - "You knock [load] off [src] with \the [I]!") + user.visible_message(span_danger("[user] knocks [load] off [src] with \the [I]!"), + span_danger("You knock [load] off [src] with \the [I]!")) else - to_chat(user, "You hit [src] with \the [I] but to no effect!") + to_chat(user, span_warning("You hit [src] with \the [I] but to no effect!")) return ..() else return ..() @@ -191,7 +191,7 @@ emagged = TRUE if(!open) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] [src]'s controls!") + to_chat(user, span_notice("You [locked ? "lock" : "unlock"] [src]'s controls!")) flick("[base_icon]-emagged", src) playsound(src, "sparks", 100, FALSE, SHORT_RANGE_SOUND_EXTRARANGE) @@ -227,7 +227,7 @@ if(prob(50) && !isnull(load)) unload(0) if(prob(25)) - visible_message("Something shorts out inside [src]!") + visible_message(span_danger("Something shorts out inside [src]!")) wires.cut_random() /mob/living/simple_animal/bot/mulebot/interact(mob/user) @@ -286,11 +286,11 @@ if(on) turn_off() else if(open) - to_chat(usr, "[name]'s maintenance panel is open!") + to_chat(usr, span_warning("[name]'s maintenance panel is open!")) return else if(cell) if(!turn_on()) - to_chat(usr, "You can't switch on [src]!") + to_chat(usr, span_warning("You can't switch on [src]!")) return . = TRUE else @@ -403,16 +403,16 @@ /mob/living/simple_animal/bot/mulebot/proc/buzz(type) switch(type) if(SIGH) - audible_message("[src] makes a sighing buzz.") + audible_message(span_hear("[src] makes a sighing buzz.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) if(ANNOYED) - audible_message("[src] makes an annoyed buzzing sound.") + audible_message(span_hear("[src] makes an annoyed buzzing sound.")) playsound(src, 'sound/machines/buzz-two.ogg', 50, FALSE) if(DELIGHT) - audible_message("[src] makes a delighted ping!") + audible_message(span_hear("[src] makes a delighted ping!")) playsound(src, 'sound/machines/ping.ogg', 50, FALSE) if(CHIME) - audible_message("[src] makes a chiming sound!") + audible_message(span_hear("[src] makes a chiming sound!")) playsound(src, 'sound/machines/chime.ogg', 50, FALSE) flick("[base_icon]1", src) @@ -688,7 +688,7 @@ if(pathset) //The AI called us here, so notify it of our arrival. loaddir = dir //The MULE will attempt to load a crate in whatever direction the MULE is "facing". if(calling_ai) - to_chat(calling_ai, "[icon2html(src, calling_ai)] [src] wirelessly plays a chiming sound!") + to_chat(calling_ai, span_notice("[icon2html(src, calling_ai)] [src] wirelessly plays a chiming sound!")) calling_ai.playsound_local(calling_ai, 'sound/machines/chime.ogg', 40, FALSE) calling_ai = null radio_channel = RADIO_CHANNEL_AI_PRIVATE //Report on AI Private instead if the AI is controlling us. @@ -728,17 +728,17 @@ var/mob/living/L = M if(wires.is_cut(WIRE_AVOIDANCE)) // usually just bumps, but if the avoidance wire is cut, knocks them over. if(iscyborg(L)) - visible_message("[src] bumps into [L]!") + visible_message(span_danger("[src] bumps into [L]!")) else if(L.Knockdown(8 SECONDS)) log_combat(src, L, "knocked down") - visible_message("[src] knocks over [L]!") + visible_message(span_danger("[src] knocks over [L]!")) return ..() // when mulebot is in the same loc /mob/living/simple_animal/bot/mulebot/proc/run_over(mob/living/carbon/human/H) log_combat(src, H, "run over", null, "(DAMTYPE: [uppertext(BRUTE)])") - H.visible_message("[src] drives over [H]!", \ - "[src] drives over you!") + H.visible_message(span_danger("[src] drives over [H]!"), \ + span_userdanger("[src] drives over you!")) playsound(src, 'sound/effects/splat.ogg', 50, TRUE) var/damage = rand(5,15) @@ -791,7 +791,7 @@ /mob/living/simple_animal/bot/mulebot/explode() - visible_message("[src] blows apart!") + visible_message(span_boldannounce("[src] blows apart!")) var/atom/Tsec = drop_location() new /obj/item/assembly/prox_sensor(Tsec) @@ -827,7 +827,7 @@ /mob/living/simple_animal/bot/mulebot/insertpai(mob/user, obj/item/paicard/card) . = ..() if(.) - visible_message("[src]'s safeties are locked on.") + visible_message(span_notice("[src]'s safeties are locked on.")) /// Checks whether the bot can complete a step_towards, checking whether the bot is on and has the charge to do the move. Returns COMPONENT_MOB_BOT_CANCELSTEP if the bot should not step. /mob/living/simple_animal/bot/mulebot/proc/check_pre_step(datum/source) @@ -872,7 +872,7 @@ return if(isobserver(AM)) - visible_message("A ghostly figure appears on [src]!") + visible_message(span_warning("A ghostly figure appears on [src]!")) RegisterSignal(AM, COMSIG_MOVABLE_MOVED, .proc/ghostmoved) AM.forceMove(src) @@ -915,7 +915,7 @@ /mob/living/simple_animal/bot/mulebot/paranormal/proc/ghostmoved() SIGNAL_HANDLER - visible_message("The ghostly figure vanishes...") + visible_message(span_notice("The ghostly figure vanishes...")) UnregisterSignal(load, COMSIG_MOVABLE_MOVED) unload(0) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 7fc9921eb6b..994e23bd7d2 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -119,7 +119,7 @@ base_speed += 3 addtimer(VARSET_CALLBACK(src, base_speed, base_speed - 3), 60) playsound(src, 'sound/machines/defib_zap.ogg', 50) - visible_message("[src] shakes and speeds up!") + visible_message(span_warning("[src] shakes and speeds up!")) /mob/living/simple_animal/bot/secbot/set_custom_texts() text_hack = "You overload [name]'s target identification system." @@ -210,8 +210,8 @@ Auto Patrol: []"}, // Turns an oversight into a feature. Beepsky will now announce when pacifists taunt him over sec comms. if(HAS_TRAIT(user, TRAIT_PACIFISM)) - user.visible_message("[user] taunts [src], daring [p_them()] to give chase!", \ - "You taunt [src], daring [p_them()] to chase you!", "You hear someone shout a daring taunt!", DEFAULT_MESSAGE_RANGE, user) + user.visible_message(span_notice("[user] taunts [src], daring [p_them()] to give chase!"), \ + span_notice("You taunt [src], daring [p_them()] to chase you!"), span_hear("You hear someone shout a daring taunt!"), DEFAULT_MESSAGE_RANGE, user) speak("Taunted by pacifist scumbag [user] in [get_area(src)].", radio_channel) // Interrupt the attack chain. We've already handled this scenario for pacifists. @@ -234,9 +234,9 @@ Auto Patrol: []"}, ..() if(emagged == 2) if(user) - to_chat(user, "You short out [src]'s target assessment circuits.") + to_chat(user, span_danger("You short out [src]'s target assessment circuits.")) oldtarget_name = user.name - audible_message("[src] buzzes oddly!") + audible_message(span_danger("[src] buzzes oddly!")) declare_arrests = FALSE update_appearance() @@ -276,8 +276,8 @@ Auto Patrol: []"}, /mob/living/simple_animal/bot/secbot/proc/cuff(mob/living/carbon/C) mode = BOT_ARREST playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) - C.visible_message("[src] is trying to put zipties on [C]!",\ - "[src] is trying to put zipties on you!") + C.visible_message(span_danger("[src] is trying to put zipties on [C]!"),\ + span_userdanger("[src] is trying to put zipties on you!")) addtimer(CALLBACK(src, .proc/attempt_handcuff, C), 60) /mob/living/simple_animal/bot/secbot/proc/attempt_handcuff(mob/living/carbon/C) @@ -312,8 +312,8 @@ Auto Patrol: []"}, if(declare_arrests) var/area/location = get_area(src) speak("[arrest_type ? "Detaining" : "Arresting"] level [threat] scumbag [C] in [location].", radio_channel) - C.visible_message("[src] stuns [C]!",\ - "[src] stuns you!") + C.visible_message(span_danger("[src] stuns [C]!"),\ + span_userdanger("[src] stuns you!")) /mob/living/simple_animal/bot/secbot/handle_automated_action() if(!..()) @@ -462,7 +462,7 @@ Auto Patrol: []"}, /mob/living/simple_animal/bot/secbot/explode() walk_to(src,0) - visible_message("[src] blows apart!") + visible_message(span_boldannounce("[src] blows apart!")) var/atom/Tsec = drop_location() if(ranged) var/obj/item/bot_assembly/ed209/Sa = new (Tsec) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index e6906fa1363..2d62c2918c4 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -71,7 +71,7 @@ /mob/living/simple_animal/hostile/construct/Destroy() QDEL_NULL(our_rune) return ..() - + /mob/living/simple_animal/hostile/construct/Login() . = ..() if(!. || !client) @@ -84,9 +84,9 @@ . = list("*---------*\nThis is [icon2html(src, user)] \a [src]!\n[desc]") if(health < maxHealth) if(health >= maxHealth/2) - . += "[t_He] look[t_s] slightly dented." + . += span_warning("[t_He] look[t_s] slightly dented.") else - . += "[t_He] look[t_s] severely dented!" + . += span_warning("[t_He] look[t_s] severely dented!") . += "*---------*" /mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/user, list/modifiers) @@ -100,16 +100,16 @@ adjustHealth(-5) if(src != user) Beam(user, icon_state="sendbeam", time = 4) - user.visible_message("[user] repairs some of \the [src]'s dents.", \ - "You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.") + user.visible_message(span_danger("[user] repairs some of \the [src]'s dents."), \ + span_cult("You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.")) else - user.visible_message("[user] repairs some of [p_their()] own dents.", \ - "You repair some of your own dents, leaving you at [user.health]/[user.maxHealth] health.") + user.visible_message(span_danger("[user] repairs some of [p_their()] own dents."), \ + span_cult("You repair some of your own dents, leaving you at [user.health]/[user.maxHealth] health.")) else if(src != user) - to_chat(user, "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!") + to_chat(user, span_cult("You cannot repair [src]'s dents, as [p_they()] [p_have()] none!")) else - to_chat(user, "You cannot repair your own dents, as you have none!") + to_chat(user, span_cult("You cannot repair your own dents, as you have none!")) else if(src != user) return ..() @@ -159,8 +159,8 @@ var/reflectchance = 40 - round(P.damage/3) if(prob(reflectchance)) apply_damage(P.damage * 0.5, P.damage_type) - visible_message("The [P.name] is reflected by [src]'s armored shell!", \ - "The [P.name] is reflected by your armored shell!") + visible_message(span_danger("The [P.name] is reflected by [src]'s armored shell!"), \ + span_userdanger("The [P.name] is reflected by your armored shell!")) // Find a turf near or on the original location to bounce to if(P.starting) @@ -422,8 +422,8 @@ if(undismembermerable_limbs) //they have limbs we can't remove, and no parts we can, attack! return ..() C.Paralyze(60) - visible_message("[src] knocks [C] down!") - to_chat(src, "\"Bring [C.p_them()] to me.\"") + visible_message(span_danger("[src] knocks [C] down!")) + to_chat(src, span_cultlarge("\"Bring [C.p_them()] to me.\"")) return FALSE do_attack_animation(C) var/obj/item/bodypart/BP = pick(parts) diff --git a/code/modules/mob/living/simple_animal/eldritch_demons.dm b/code/modules/mob/living/simple_animal/eldritch_demons.dm index e9ae63412be..53ccecb9d46 100644 --- a/code/modules/mob/living/simple_animal/eldritch_demons.dm +++ b/code/modules/mob/living/simple_animal/eldritch_demons.dm @@ -81,7 +81,7 @@ if(linked_mobs[mob_linked]) return FALSE - to_chat(mob_linked, "You feel something new enter your sphere of mind, you hear whispers of people far away, screeches of horror and a huming of welcome to [src]'s Mansus Link.") + to_chat(mob_linked, span_notice("You feel something new enter your sphere of mind, you hear whispers of people far away, screeches of horror and a huming of welcome to [src]'s Mansus Link.")) var/datum/action/innate/mansus_speech/action = new(src) linked_mobs[mob_linked] = action action.Grant(mob_linked) @@ -97,7 +97,7 @@ var/datum/action/innate/mansus_speech/action = linked_mobs[mob_linked] action.Remove(mob_linked) qdel(action) - to_chat(mob_linked, "Your mind shatters as the [src]'s Mansus Link leaves your mind.") + to_chat(mob_linked, span_notice("Your mind shatters as the [src]'s Mansus Link leaves your mind.")) INVOKE_ASYNC(mob_linked, /mob.proc/emote, "scream") //micro stun mob_linked.AdjustParalyzed(0.5 SECONDS) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 8368343d61b..7cd350c7e6f 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -229,7 +229,7 @@ for(var/mob/living/simple_animal/mouse/M in view(1,src)) if(istype(M, /mob/living/simple_animal/mouse/brown/tom) && inept_hunter) if(COOLDOWN_FINISHED(src, emote_cooldown)) - visible_message("[src] chases [M] around, to no avail!") + visible_message(span_warning("[src] chases [M] around, to no avail!")) step(M, pick(GLOB.cardinals)) COOLDOWN_START(src, emote_cooldown, 1 MINUTES) break @@ -306,7 +306,7 @@ free cake to the station!
    ") var/new_name = stripped_input(src, "Enter your name, or press \"Cancel\" to stick with Keeki.", "Name Change") if(new_name) - to_chat(src, "Your name is now \"new_name\"!") + to_chat(src, span_notice("Your name is now \"new_name\"!")) name = new_name /mob/living/simple_animal/pet/cat/cak/Life(delta_time = SSMOBS_DT, times_fired) diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 1366ede2b7c..88a180558e7 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -195,7 +195,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( return FALSE if (!ispath(equipping.dog_fashion, /datum/dog_fashion/back)) - to_chat(user, "You set [equipping] on [source]'s back, but it falls off!") + to_chat(user, span_warning("You set [equipping] on [source]'s back, but it falls off!")) equipping.forceMove(source.drop_location()) if (prob(25)) step_rand(equipping) @@ -241,7 +241,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( return FALSE if (!istype(equipping, /obj/item/clothing/neck/petcollar)) - to_chat(user, "That's not a collar.") + to_chat(user, span_warning("That's not a collar.")) return FALSE return TRUE @@ -280,7 +280,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( return FALSE if (!istype(equipping, /obj/item/card/id)) - to_chat(user, "You can't pin [equipping] to [source]!") + to_chat(user, span_warning("You can't pin [equipping] to [source]!")) return FALSE return TRUE @@ -324,14 +324,14 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( /mob/living/simple_animal/pet/dog/corgi/attackby(obj/item/O, mob/user, params) if (istype(O, /obj/item/razor)) if (shaved) - to_chat(user, "You can't shave this corgi, it's already been shaved!") + to_chat(user, span_warning("You can't shave this corgi, it's already been shaved!")) return if (nofur) - to_chat(user, "You can't shave this corgi, it doesn't have a fur coat!") + to_chat(user, span_warning("You can't shave this corgi, it doesn't have a fur coat!")) return - user.visible_message("[user] starts to shave [src] using \the [O].", "You start to shave [src] using \the [O]...") + user.visible_message(span_notice("[user] starts to shave [src] using \the [O]."), span_notice("You start to shave [src] using \the [O]...")) if(do_after(user, 50, target = src)) - user.visible_message("[user] shaves [src]'s hair using \the [O].") + user.visible_message(span_notice("[user] shaves [src]'s hair using \the [O].")) playsound(loc, 'sound/items/welder2.ogg', 20, TRUE) shaved = TRUE icon_living = "[initial(icon_living)]_shaved" @@ -352,17 +352,17 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( /mob/living/simple_animal/pet/dog/corgi/proc/place_on_head(obj/item/item_to_add, mob/user) if(inventory_head) if(user) - to_chat(user, "You can't put more than one hat on [src]!") + to_chat(user, span_warning("You can't put more than one hat on [src]!")) return if(!item_to_add) - user.visible_message("[user] pets [src].", "You rest your hand on [src]'s head for a moment.") + user.visible_message(span_notice("[user] pets [src]."), span_notice("You rest your hand on [src]'s head for a moment.")) if(flags_1 & HOLOGRAM_1) return SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, src, /datum/mood_event/pet_animal, src) return if(user && !user.temporarilyRemoveItemFromInventory(item_to_add)) - to_chat(user, "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!") + to_chat(user, span_warning("\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!")) return var/valid = FALSE @@ -373,17 +373,17 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( if(valid) if(health <= 0) - to_chat(user, "There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()].") + to_chat(user, span_notice("There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()].")) else if(user) - user.visible_message("[user] puts [item_to_add] on [real_name]'s head. [src] looks at [user] and barks once.", - "You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags [p_their()] tail once and barks.", - "You hear a friendly-sounding bark.") + user.visible_message(span_notice("[user] puts [item_to_add] on [real_name]'s head. [src] looks at [user] and barks once."), + span_notice("You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags [p_their()] tail once and barks."), + span_hear("You hear a friendly-sounding bark.")) item_to_add.forceMove(src) src.inventory_head = item_to_add update_corgi_fluff() regenerate_icons() else - to_chat(user, "You set [item_to_add] on [src]'s head, but it falls off!") + to_chat(user, span_warning("You set [item_to_add] on [src]'s head, but it falls off!")) item_to_add.forceMove(drop_location()) if(prob(25)) step_rand(item_to_add) @@ -524,7 +524,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( ..() for(var/mob/living/simple_animal/pet/P in range(1, src)) if(P != src && !istype(P,/mob/living/simple_animal/pet/dog/corgi/narsie)) - visible_message("[src] devours [P]!", \ + visible_message(span_warning("[src] devours [P]!"), \ "DELICIOUS SOULS") playsound(src, 'sound/magic/demon_attack1.ogg', 75, TRUE) narsie_act() @@ -601,7 +601,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( //puppies cannot wear anything. /mob/living/simple_animal/pet/dog/corgi/puppy/Topic(href, href_list) if(href_list["remove_inv"] || href_list["add_inv"]) - to_chat(usr, "You can't fit this on [src], [p_they()] [p_are()] too small!") + to_chat(usr, span_warning("You can't fit this on [src], [p_they()] [p_are()] too small!")) return ..() @@ -657,7 +657,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( //Lisa already has a cute bow! /mob/living/simple_animal/pet/dog/corgi/lisa/Topic(href, href_list) if(href_list["remove_inv"] || href_list["add_inv"]) - to_chat(usr, "[src] already has a cute bow!") + to_chat(usr, span_warning("[src] already has a cute bow!")) return ..() diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index 67a7f78dc4c..377a53d59ae 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -4,9 +4,9 @@ #define DRONE_TOTAL_LAYERS 2 /// Message displayed when new drone spawns in drone network -#define DRONE_NET_CONNECT "DRONE NETWORK: [name] connected." +#define DRONE_NET_CONNECT span_notice("DRONE NETWORK: [name] connected.") /// Message displayed when drone in network dies -#define DRONE_NET_DISCONNECT "DRONE NETWORK: [name] is not responding." +#define DRONE_NET_DISCONNECT span_danger("DRONE NETWORK: [name] is not responding.") /// Maintenance Drone icon_state (multiple colors) #define MAINTDRONE "drone_maint" @@ -282,21 +282,21 @@ //Hacked if(hacked) - . += "Its display is glowing red!" + . += span_warning("Its display is glowing red!") //Damaged if(health != maxHealth) if(health > maxHealth * 0.33) //Between maxHealth and about a third of maxHealth, between 30 and 10 for normal drones - . += "Its screws are slightly loose." + . += span_warning("Its screws are slightly loose.") else //otherwise, below about 33% - . += "Its screws are very loose!" + . += span_boldwarning("Its screws are very loose!") //Dead if(stat == DEAD) if(client) - . += "A message repeatedly flashes on its display: \"REBOOT -- REQUIRED\"." + . += span_deadsay("A message repeatedly flashes on its display: \"REBOOT -- REQUIRED\".") else - . += "A message repeatedly flashes on its display: \"ERROR -- OFFLINE\"." + . += span_deadsay("A message repeatedly flashes on its display: \"ERROR -- OFFLINE\".") . += "*---------*" @@ -309,10 +309,10 @@ if(. & EMP_PROTECT_SELF) return Stun(100) - to_chat(src, "ER@%R: MME^RY CO#RU9T! R&$b@0tin)...") + to_chat(src, span_danger("ER@%R: MME^RY CO#RU9T! R&$b@0tin)...")) if(severity == 1) adjustBruteLoss(heavy_emp_damage) - to_chat(src, "HeAV% DA%^MMA+G TO I/O CIR!%UUT!") + to_chat(src, span_userdanger("HeAV% DA%^MMA+G TO I/O CIR!%UUT!")) /** @@ -372,13 +372,13 @@ /mob/living/simple_animal/drone/proc/blacklist_on_try_use_machine(datum/source, obj/machinery/machine) SIGNAL_HANDLER if(GLOB.drone_machine_blacklist_enabled && is_type_in_typecache(machine, drone_machinery_blacklist_compiled)) - to_chat(src, "Using [machine] could break your laws.") + to_chat(src, span_warning("Using [machine] could break your laws.")) return COMPONENT_CANT_USE_MACHINE_INTERACT | COMPONENT_CANT_USE_MACHINE_TOOLS /mob/living/simple_animal/drone/proc/blacklist_on_try_wires_interact(datum/source, atom/machine) SIGNAL_HANDLER if(GLOB.drone_machine_blacklist_enabled && is_type_in_typecache(machine, drone_machinery_blacklist_compiled)) - to_chat(src, "Using [machine] could break your laws.") + to_chat(src, span_warning("Using [machine] could break your laws.")) return COMPONENT_CANT_INTERACT_WIRES diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm index 20e769dac0d..88fc3b5cd85 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm @@ -40,4 +40,4 @@ * Shares the same radio code with binary */ /mob/living/simple_animal/drone/proc/drone_chat(msg) - alert_drones("Drone Chat: [name] [say_quote(msg)]", TRUE) + alert_drones("Drone Chat: [span_name("[name]")] [say_quote(msg)]", TRUE) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm index dcf02562f5f..9b18cd5fa2c 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm @@ -33,7 +33,7 @@ var/area/A = get_area(src) if(A) notify_ghosts("A drone shell has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_key = POLL_IGNORE_DRONE, notify_suiciders = FALSE) - + /obj/effect/mob_spawn/drone/allow_spawn(mob/user) var/client/user_client = user.client var/mob/living/simple_animal/drone/drone_type = mob_type @@ -51,6 +51,6 @@ if (current_playtime < required_playtime) var/minutes_left = required_playtime - current_playtime var/playtime_left = DisplayTimeText(minutes_left * (1 MINUTES)) - to_chat(user, "You need to play [playtime_left] more as [required_role] to spawn as a Maintenance Drone!") + to_chat(user, span_danger("You need to play [playtime_left] more as [required_role] to spawn as a Maintenance Drone!")) return FALSE return ..() diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm index 38984589c03..5b9a06c168a 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm @@ -16,16 +16,16 @@ if("Cannibalize") if(D.health < D.maxHealth) - D.visible_message("[D] begins to cannibalize parts from [src].", "You begin to cannibalize parts from [src]...") + D.visible_message(span_notice("[D] begins to cannibalize parts from [src]."), span_notice("You begin to cannibalize parts from [src]...")) if(do_after(D, 60, 0, target = src)) - D.visible_message("[D] repairs itself using [src]'s remains!", "You repair yourself using [src]'s remains.") + D.visible_message(span_notice("[D] repairs itself using [src]'s remains!"), span_notice("You repair yourself using [src]'s remains.")) D.adjustBruteLoss(-src.maxHealth) new /obj/effect/decal/cleanable/oil/streak(get_turf(src)) qdel(src) else - to_chat(D, "You need to remain still to cannibalize [src]!") + to_chat(D, span_warning("You need to remain still to cannibalize [src]!")) else - to_chat(D, "You're already in perfect condition!") + to_chat(D, span_warning("You're already in perfect condition!")) if("Nothing") return @@ -36,18 +36,18 @@ ..() return if(user.get_active_held_item()) - to_chat(user, "Your hands are full!") + to_chat(user, span_warning("Your hands are full!")) return - visible_message("[user] starts picking up [src].", \ - "[user] starts picking you up!") + visible_message(span_warning("[user] starts picking up [src]."), \ + span_userdanger("[user] starts picking you up!")) if(!do_after(user, 20, target = src)) return - visible_message("[user] picks up [src]!", \ - "[user] picks you up!") + visible_message(span_warning("[user] picks up [src]!"), \ + span_userdanger("[user] picks you up!")) if(buckled) - to_chat(user, "[src] is buckled to [buckled] and cannot be picked up!") + to_chat(user, span_warning("[src] is buckled to [buckled] and cannot be picked up!")) return - to_chat(user, "You pick [src] up.") + to_chat(user, span_notice("You pick [src] up.")) drop_all_held_items() var/obj/item/clothing/head/mob_holder/drone/DH = new(get_turf(src), src) DH.slot_flags = worn_slot_flags @@ -77,37 +77,37 @@ " kernels to function properly","can't start their neurotube console", ) - to_chat(user, "You can't seem to find the [pick(faux_gadgets)]! Without it, [src] [pick(faux_problems)].") + to_chat(user, span_warning("You can't seem to find the [pick(faux_gadgets)]! Without it, [src] [pick(faux_problems)].")) return - user.visible_message("[user] begins to reactivate [src].", "You begin to reactivate [src]...") + user.visible_message(span_notice("[user] begins to reactivate [src]."), span_notice("You begin to reactivate [src]...")) if(do_after(user, 30, 1, target = src)) revive(full_heal = TRUE, admin_revive = FALSE) - user.visible_message("[user] reactivates [src]!", "You reactivate [src].") + user.visible_message(span_notice("[user] reactivates [src]!"), span_notice("You reactivate [src].")) alert_drones(DRONE_NET_CONNECT) if(G) - to_chat(G, "You([name]) were reactivated by [user]!") + to_chat(G, span_ghostalert("You([name]) were reactivated by [user]!")) else - to_chat(user, "You need to remain still to reactivate [src]!") + to_chat(user, span_warning("You need to remain still to reactivate [src]!")) /mob/living/simple_animal/drone/attackby(obj/item/I, mob/user) if(I.tool_behaviour == TOOL_SCREWDRIVER && stat != DEAD) if(health < maxHealth) - to_chat(user, "You start to tighten loose screws on [src]...") + to_chat(user, span_notice("You start to tighten loose screws on [src]...")) if(I.use_tool(src, user, 80)) adjustBruteLoss(-getBruteLoss()) - visible_message("[user] tightens [src == user ? "[user.p_their()]" : "[src]'s"] loose screws!", "You tighten [src == user ? "your" : "[src]'s"] loose screws.") + visible_message(span_notice("[user] tightens [src == user ? "[user.p_their()]" : "[src]'s"] loose screws!"), span_notice("You tighten [src == user ? "your" : "[src]'s"] loose screws.")) else - to_chat(user, "You need to remain still to tighten [src]'s screws!") + to_chat(user, span_warning("You need to remain still to tighten [src]'s screws!")) else - to_chat(user, "[src]'s screws can't get any tighter!") + to_chat(user, span_warning("[src]'s screws can't get any tighter!")) return //This used to not exist and drones who repaired themselves also stabbed the shit out of themselves. else if(I.tool_behaviour == TOOL_WRENCH && user != src) //They aren't required to be hacked, because laws can change in other ways (i.e. admins) - user.visible_message("[user] starts resetting [src]...", \ - "You press down on [src]'s factory reset control...") + user.visible_message(span_notice("[user] starts resetting [src]..."), \ + span_notice("You press down on [src]'s factory reset control...")) if(I.use_tool(src, user, 50, volume=50)) - user.visible_message("[user] resets [src]!", \ - "You reset [src]'s directives to factory defaults!") + user.visible_message(span_notice("[user] resets [src]!"), \ + span_notice("You reset [src]'s directives to factory defaults!")) update_drone_hack(FALSE) return else @@ -142,9 +142,9 @@ if(hacked) return Stun(40) - visible_message("[src]'s display glows a vicious red!", \ - "ERROR: LAW OVERRIDE DETECTED") - to_chat(src, "From now on, these are your laws:") + visible_message(span_warning("[src]'s display glows a vicious red!"), \ + span_userdanger("ERROR: LAW OVERRIDE DETECTED")) + to_chat(src, span_boldannounce("From now on, these are your laws:")) laws = \ "1. You must always involve yourself in the matters of other beings, even if such matters conflict with Law Two or Law Three.\n"+\ "2. You may harm any being, regardless of intent or circumstance.\n"+\ @@ -161,9 +161,9 @@ if(!hacked) return Stun(40) - visible_message("[src]'s display glows a content blue!", \ + visible_message(span_info("[src]'s display glows a content blue!"), \ "ERROR: LAW OVERRIDE DETECTED") - to_chat(src, "From now on, these are your laws:") + to_chat(src, span_info("From now on, these are your laws:")) laws = initial(laws) to_chat(src, laws) to_chat(src, "Having been restored, your onboard antivirus reports the all-clear and you are able to perform all actions again.") diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm index b204d01ed7c..6ec3f9f3d06 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm @@ -69,7 +69,7 @@ internal_storage = I update_inv_internal_storage() else - to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") + to_chat(src, span_danger("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")) return //Call back for item being equipped to drone diff --git a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm index ff12f2676b0..da54c6a81cd 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm @@ -36,5 +36,5 @@ var/area/A = get_area(loc) if(alert_s && A && stat != DEAD) - var/msg = "DRONE PING: [name]: [alert_s] priority alert in [A.name]!" + var/msg = span_boldnotice("DRONE PING: [name]: [alert_s] priority alert in [A.name]!") alert_drones(msg) diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 2e24c8d9377..24a271f52ca 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -51,7 +51,7 @@ if(enemies.len && DT_PROB(5, delta_time)) clear_enemies() LoseTarget() - src.visible_message("[src] calms down.") + src.visible_message(span_notice("[src] calms down.")) if(stat != CONSCIOUS) return @@ -66,7 +66,7 @@ /mob/living/simple_animal/hostile/retaliate/goat/Retaliate() ..() - src.visible_message("[src] gets an evil-looking gleam in [p_their()] eye.") + src.visible_message(span_danger("[src] gets an evil-looking gleam in [p_their()] eye.")) /mob/living/simple_animal/hostile/retaliate/goat/Move() . = ..() @@ -94,8 +94,8 @@ var/mob/living/carbon/human/H = target if(istype(H.dna.species, /datum/species/pod)) var/obj/item/bodypart/NB = pick(H.bodyparts) - H.visible_message("[src] takes a big chomp out of [H]!", \ - "[src] takes a big chomp out of your [NB]!") + H.visible_message(span_warning("[src] takes a big chomp out of [H]!"), \ + span_userdanger("[src] takes a big chomp out of your [NB]!")) NB.dismember() //cow /mob/living/simple_animal/cow @@ -152,9 +152,9 @@ /mob/living/simple_animal/cow/attack_hand(mob/living/carbon/user, list/modifiers) if(!stat && LAZYACCESS(modifiers, RIGHT_CLICK) && icon_state != icon_dead) - user.visible_message("[user] tips over [src].", - "You tip over [src].") - to_chat(src, "You are tipped over by [user]!") + user.visible_message(span_warning("[user] tips over [src]."), + span_notice("You tip over [src].")) + to_chat(src, span_userdanger("You are tipped over by [user]!")) Paralyze(60, ignore_canstun = TRUE) icon_state = icon_dead addtimer(CALLBACK(src, .proc/cow_tipped, user), rand(20,50)) @@ -176,8 +176,8 @@ else external = "[src] seems resigned to its fate." internal = "You resign yourself to your fate." - visible_message("[external]", - "[internal]") + visible_message(span_notice("[external]"), + span_revennotice("[internal]")) ///Wisdom cow, gives XP to a random skill and speaks wisdoms /mob/living/simple_animal/cow/wisdom @@ -196,7 +196,7 @@ ///Give intense wisdom to the attacker if they're being friendly about it /mob/living/simple_animal/cow/wisdom/attack_hand(mob/living/carbon/user, list/modifiers) if(!stat && !user.combat_mode) - to_chat(user, "[src] whispers you some intense wisdoms and then disappears!") + to_chat(user, span_nicegreen("[src] whispers you some intense wisdoms and then disappears!")) user.mind?.adjust_experience(pick(GLOB.skill_types), 500) do_smoke(1, get_turf(src)) qdel(src) @@ -333,7 +333,7 @@ if(isturf(loc)) amount_grown += rand(1,2) * delta_time if(amount_grown >= 200) - visible_message("[src] hatches with a quiet cracking sound.") + visible_message(span_notice("[src] hatches with a quiet cracking sound.")) new /mob/living/simple_animal/chick(get_turf(src)) STOP_PROCESSING(SSobj, src) qdel(src) diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index 84387d75f16..8ff911aabbc 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -41,7 +41,7 @@ /mob/living/simple_animal/hostile/lizard/AttackingTarget() if(is_type_in_typecache(target,edibles)) //Makes sure player lizards only consume edibles. - visible_message("[name] consumes [target] in a single gulp.", "You consume [target] in a single gulp.") + visible_message(span_notice("[name] consumes [target] in a single gulp."), span_notice("You consume [target] in a single gulp.")) QDEL_NULL(target) //Nom adjustBruteLoss(-2) return TRUE diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 8068f7c8703..286aeae1e88 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -69,7 +69,7 @@ /mob/living/simple_animal/mouse/revive(full_heal = FALSE, admin_revive = FALSE) var/cap = CONFIG_GET(number/ratcap) if(!admin_revive && !ckey && LAZYLEN(SSmobs.cheeserats) >= cap) - visible_message("[src] twitched but does not continue moving due to the overwhelming rodent population on the station!") + visible_message(span_warning("[src] twitched but does not continue moving due to the overwhelming rodent population on the station!")) return FALSE . = ..() if(.) @@ -80,7 +80,7 @@ if(ishuman(AM)) if(!stat) var/mob/M = AM - to_chat(M, "[icon2html(src, M)] Squeak!") + to_chat(M, span_notice("[icon2html(src, M)] Squeak!")) if(istype(AM, /obj/item/food/cheese/royal)) evolve() qdel(AM) @@ -93,10 +93,10 @@ if(C && prob(15)) var/powered = C.avail() if(powered && !HAS_TRAIT(src, TRAIT_SHOCKIMMUNE)) - visible_message("[src] chews through the [C]. It's toast!") + visible_message(span_warning("[src] chews through the [C]. It's toast!")) death(toast = TRUE) else - visible_message("[src] chews through the [C].") + visible_message(span_warning("[src] chews through the [C].")) C.deconstruct() if(powered) @@ -118,9 +118,9 @@ . = ..() if(istype(A, /obj/item/food/cheese) && canUseTopic(A, BE_CLOSE, NO_DEXTERITY)) if(health == maxHealth) - to_chat(src,"You don't need to eat or heal.") + to_chat(src,span_warning("You don't need to eat or heal.")) return - to_chat(src,"You nibble some cheese, restoring your health.") + to_chat(src,span_green("You nibble some cheese, restoring your health.")) adjustHealth(-(maxHealth-health)) qdel(A) return @@ -132,18 +132,18 @@ /mob/living/simple_animal/mouse/proc/be_fruitful() var/cap = CONFIG_GET(number/ratcap) if(LAZYLEN(SSmobs.cheeserats) >= cap) - visible_message("[src] carefully eats the cheese, hiding it from the [cap] mice on the station!") + visible_message(span_warning("[src] carefully eats the cheese, hiding it from the [cap] mice on the station!")) return var/mob/living/newmouse = new /mob/living/simple_animal/mouse(loc) SSmobs.cheeserats += newmouse - visible_message("[src] nibbles through the cheese, attracting another mouse!") + visible_message(span_notice("[src] nibbles through the cheese, attracting another mouse!")) /** *Spawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind. */ /mob/living/simple_animal/mouse/proc/evolve() var/mob/living/simple_animal/hostile/regalrat/regalrat = new /mob/living/simple_animal/hostile/regalrat/controlled(loc) - visible_message("[src] devours the cheese! He morphs into something... greater!") + visible_message(span_warning("[src] devours the cheese! He morphs into something... greater!")) INVOKE_ASYNC(regalrat, /atom/movable/proc/say, "RISE, MY SUBJECTS! SCREEEEEEE!") if(mind) mind.transfer_to(regalrat) @@ -207,16 +207,16 @@ /obj/item/food/deadmouse/examine(mob/user) . = ..() if (reagents?.has_reagent(/datum/reagent/yuck) || reagents?.has_reagent(/datum/reagent/fuel)) - . += "It's dripping with fuel and smells terrible." + . += span_warning("It's dripping with fuel and smells terrible.") /obj/item/food/deadmouse/attackby(obj/item/I, mob/living/user, params) if(I.get_sharpness() && user.combat_mode) if(isturf(loc)) new /obj/item/food/meat/slab/mouse(loc) - to_chat(user, "You butcher [src].") + to_chat(user, span_notice("You butcher [src].")) qdel(src) else - to_chat(user, "You need to put [src] on a surface to butcher it!") + to_chat(user, span_warning("You need to put [src] on a surface to butcher it!")) else return ..() @@ -226,10 +226,10 @@ var/datum/reagents/target_reagents = target.reagents var/trans_amount = reagents.maximum_volume - reagents.total_volume * (4 / 3) if(target_reagents.has_reagent(/datum/reagent/fuel) && target_reagents.trans_to(src, trans_amount)) - to_chat(user, "You dip [src] into [target].") + to_chat(user, span_notice("You dip [src] into [target].")) reagents.trans_to(target, reagents.total_volume) else - to_chat(user, "That's a terrible idea.") + to_chat(user, span_warning("That's a terrible idea.")) else return ..() diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm index b147989d019..4b63124b639 100644 --- a/code/modules/mob/living/simple_animal/friendly/pet.dm +++ b/code/modules/mob/living/simple_animal/friendly/pet.dm @@ -19,7 +19,7 @@ return pcollar = P regenerate_icons() - to_chat(user, "You put the [P] around [src]'s neck.") + to_chat(user, span_notice("You put the [P] around [src]'s neck.")) if(P.tagname && !unique_pet) fully_replace_character_name(null, "\proper [P.tagname]") @@ -30,7 +30,7 @@ if(istype(O, /obj/item/newspaper)) if(!stat) - user.visible_message("[user] baps [name] on the nose with the rolled up [O].") + user.visible_message(span_notice("[user] baps [name] on the nose with the rolled up [O].")) dance_rotate(src) else ..() diff --git a/code/modules/mob/living/simple_animal/friendly/robot_customer.dm b/code/modules/mob/living/simple_animal/friendly/robot_customer.dm index 3bef44589dc..bc0a964be9c 100644 --- a/code/modules/mob/living/simple_animal/friendly/robot_customer.dm +++ b/code/modules/mob/living/simple_animal/friendly/robot_customer.dm @@ -90,4 +90,4 @@ . = ..() if(ai_controller.blackboard[BB_CUSTOMER_CURRENT_ORDER]) var/datum/venue/attending_venue = ai_controller.blackboard[BB_CUSTOMER_ATTENDING_VENUE] - . += "Their order was: \"[attending_venue.order_food_line(ai_controller.blackboard[BB_CUSTOMER_CURRENT_ORDER])].\"" + . += span_notice("Their order was: \"[attending_venue.order_food_line(ai_controller.blackboard[BB_CUSTOMER_CURRENT_ORDER])].\"") diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index 4843caa2056..2da33569988 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -60,7 +60,7 @@ /mob/living/simple_animal/hostile/retaliate/snake/AttackingTarget() if(istype(target, /mob/living/simple_animal/mouse)) - visible_message("[name] consumes [target] in a single gulp!", "You consume [target] in a single gulp!") + visible_message(span_notice("[name] consumes [target] in a single gulp!"), span_notice("You consume [target] in a single gulp!")) QDEL_NULL(target) adjustBruteLoss(-2) else diff --git a/code/modules/mob/living/simple_animal/friendly/trader.dm b/code/modules/mob/living/simple_animal/friendly/trader.dm index 9825b95691f..fb64422b1d3 100644 --- a/code/modules/mob/living/simple_animal/friendly/trader.dm +++ b/code/modules/mob/living/simple_animal/friendly/trader.dm @@ -142,7 +142,7 @@ */ /mob/living/simple_animal/hostile/retaliate/trader/proc/try_buy(mob/user, obj/item/item_to_buy) var/cost = products[item_to_buy] - to_chat(user, "It will cost you [cost] credits to buy \the [initial(item_to_buy.name)]. Are you sure you want to buy it?") + to_chat(user, span_notice("It will cost you [cost] credits to buy \the [initial(item_to_buy.name)]. Are you sure you want to buy it?")) var/list/npc_options = list( "Yes" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_yes"), "No" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_no") @@ -183,7 +183,7 @@ if(!cost) return FALSE say(interestedphrase) - to_chat(user, "You will receive [cost] credits for each one of [sellitem].") + to_chat(user, span_notice("You will receive [cost] credits for each one of [sellitem].")) var/list/npc_options = list( "Yes" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_yes"), "No" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_no") diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 920eaef56a1..ed09aaf2006 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -139,9 +139,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians if(!summoner) to_chat(src, "For some reason, somehow, you have no summoner. Please report this bug immediately.") return - to_chat(src, "You are a [real_name], bound to serve [summoner.real_name].") - to_chat(src, "You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with [summoner.p_them()] privately there.") - to_chat(src, "While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to [summoner.p_them()] as you feed upon [summoner.p_them()] to sustain yourself.") + to_chat(src, span_holoparasite("You are a [real_name], bound to serve [summoner.real_name].")) + to_chat(src, span_holoparasite("You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with [summoner.p_them()] privately there.")) + to_chat(src, span_holoparasite("While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to [summoner.p_them()] as you feed upon [summoner.p_them()] to sustain yourself.")) to_chat(src, playstyle_string) if(!guardiancolor) guardianrename() @@ -150,7 +150,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians /mob/living/simple_animal/hostile/guardian/proc/guardianrecolor() guardiancolor = input(src,"What would you like your color to be?","Choose Your Color","#ffffff") as color|null if(!guardiancolor) //redo proc until we get a color - to_chat(src, "Not a valid color, please try again.") + to_chat(src, span_warning("Not a valid color, please try again.")) guardianrecolor() return if(!recolorentiresprite) @@ -163,10 +163,10 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians /mob/living/simple_animal/hostile/guardian/proc/guardianrename() var/new_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN))) if(!new_name) //redo proc until we get a good name - to_chat(src, "Not a valid name, please try again.") + to_chat(src, span_warning("Not a valid name, please try again.")) guardianrename() return - visible_message("Your new name [new_name] anchors itself in your mind.") + visible_message(span_notice("Your new name [span_name("[new_name]")] anchors itself in your mind.")) fully_replace_character_name(null, new_name) /mob/living/simple_animal/hostile/guardian/Life(delta_time = SSMOBS_DT, times_fired) //Dies if the summoner dies @@ -177,9 +177,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians if(!QDELETED(summoner)) if(summoner.stat == DEAD) forceMove(summoner.loc) - to_chat(src, "Your summoner has died!") - visible_message("\The [src] dies along with its user!") - summoner.visible_message("[summoner]'s body is completely consumed by the strain of sustaining [src]!") + to_chat(src, span_danger("Your summoner has died!")) + visible_message(span_danger("\The [src] dies along with its user!")) + summoner.visible_message(span_danger("[summoner]'s body is completely consumed by the strain of sustaining [src]!")) for(var/obj/item/W in summoner) if(!summoner.dropItemToGround(W)) qdel(W) @@ -187,8 +187,8 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians death(TRUE) qdel(src) else - to_chat(src, "Your summoner has died!") - visible_message("[src] dies along with its user!") + to_chat(src, span_danger("Your summoner has died!")) + visible_message(span_danger("[src] dies along with its user!")) death(TRUE) qdel(src) snapback() @@ -214,8 +214,8 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians if(get_dist(get_turf(summoner),get_turf(src)) <= range) return else - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("\The [src] jumps back to its user.") + to_chat(src, span_holoparasite("You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")) + visible_message(span_danger("\The [src] jumps back to its user.")) if(istype(summoner.loc, /obj/effect)) Recall(TRUE) else @@ -231,7 +231,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians /mob/living/simple_animal/hostile/guardian/AttackingTarget() if(!is_deployed()) - to_chat(src, "You must be manifested to attack!") + to_chat(src, "[span_danger("You must be manifested to attack!")]") return FALSE else return ..() @@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians drop_all_held_items() ..() if(summoner) - to_chat(summoner, "Your [name] died somehow!") + to_chat(summoner, "[span_danger("Your [name] died somehow!")]") summoner.dust() /mob/living/simple_animal/hostile/guardian/update_health_hud() @@ -259,11 +259,11 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians return FALSE summoner.adjustBruteLoss(amount) if(amount > 0) - to_chat(summoner, "Your [name] is under attack! You take damage!") - summoner.visible_message("Blood sprays from [summoner] as [src] takes damage!") + to_chat(summoner, "[span_danger("Your [name] is under attack! You take damage!")]") + summoner.visible_message(span_danger("Blood sprays from [summoner] as [src] takes damage!")) switch(summoner.stat) if(UNCONSCIOUS, HARD_CRIT) - to_chat(summoner, "Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!") + to_chat(summoner, "[span_danger("Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!")]") summoner.adjustCloneLoss(amount * 0.5) //dying hosts take 50% bonus damage as cloneloss update_health_hud() @@ -279,7 +279,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians /mob/living/simple_animal/hostile/guardian/gib() if(summoner) - to_chat(summoner, "Your [src] was blown up!") + to_chat(summoner, "[span_danger("Your [src] was blown up!")]") summoner.gib() ghostize() qdel(src) @@ -368,15 +368,15 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians return TRUE /mob/living/simple_animal/hostile/guardian/proc/ToggleMode() - to_chat(src, "You don't have another mode!") + to_chat(src, "[span_danger("You don't have another mode!")]") /mob/living/simple_animal/hostile/guardian/proc/ToggleLight() if(!light_on) - to_chat(src, "You activate your light.") + to_chat(src, span_notice("You activate your light.")) set_light_on(TRUE) else - to_chat(src, "You deactivate your light.") + to_chat(src, span_notice("You deactivate your light.")) set_light_on(FALSE) @@ -454,11 +454,11 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians if(guardians.len) var/mob/living/simple_animal/hostile/guardian/G = input(src, "Pick the guardian you wish to reset", "Guardian Reset") as null|anything in sortNames(guardians) if(G) - to_chat(src, "You attempt to reset [G.real_name]'s personality...") + to_chat(src, span_holoparasite("You attempt to reset [G.real_name]'s personality...")) var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", ROLE_PAI, FALSE, 100) if(LAZYLEN(candidates)) var/mob/dead/observer/C = pick(candidates) - to_chat(G, "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.") + to_chat(G, span_holoparasite("Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.")) to_chat(src, "Your [G.real_name] has been successfully reset.") message_admins("[key_name_admin(C)] has taken control of ([ADMIN_LOOKUPFLW(G)])") G.ghostize(0) @@ -468,20 +468,20 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians G.reset = 1 switch(G.theme) if("tech") - to_chat(src, "[G.real_name] is now online!") + to_chat(src, span_holoparasite("[G.real_name] is now online!")) if("magic") - to_chat(src, "[G.real_name] has been summoned!") + to_chat(src, span_holoparasite("[G.real_name] has been summoned!")) if("carp") - to_chat(src, "[G.real_name] has been caught!") + to_chat(src, span_holoparasite("[G.real_name] has been caught!")) if("miner") - to_chat(src, "[G.real_name] has appeared!") + to_chat(src, span_holoparasite("[G.real_name] has appeared!")) guardians -= G if(!guardians.len) remove_verb(src, /mob/living/proc/guardian_reset) else - to_chat(src, "There were no ghosts willing to take control of [G.real_name]. Looks like you're stuck with it for now.") + to_chat(src, span_holoparasite("There were no ghosts willing to take control of [G.real_name]. Looks like you're stuck with it for now.")) else - to_chat(src, "You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"].") + to_chat(src, span_holoparasite("You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"].")) else remove_verb(src, /mob/living/proc/guardian_reset) @@ -520,11 +520,11 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians /obj/item/guardiancreator/attack_self(mob/living/user) if(isguardian(user) && !allowguardian) - to_chat(user, "[mob_name] chains are not allowed.") + to_chat(user, span_holoparasite("[mob_name] chains are not allowed.")) return var/list/guardians = user.hasparasites() if(guardians.len && !allowmultiple) - to_chat(user, "You already have a [mob_name]!") + to_chat(user, span_holoparasite("You already have a [mob_name]!")) return if(user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling) && !allowling) to_chat(user, "[ling_failure]") @@ -592,7 +592,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians var/list/guardians = user.hasparasites() if(guardians.len && !allowmultiple) - to_chat(user, "You already have a [mob_name]!" ) + to_chat(user, span_holoparasite("You already have a [mob_name]!") ) used = FALSE return var/mob/living/simple_animal/hostile/guardian/G = new pickedtype(user, theme) @@ -604,16 +604,16 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians switch(theme) if("tech") to_chat(user, "[G.tech_fluff_string]") - to_chat(user, "[G.real_name] is now online!") + to_chat(user, span_holoparasite("[G.real_name] is now online!")) if("magic") to_chat(user, "[G.magic_fluff_string]") - to_chat(user, "[G.real_name] has been summoned!") + to_chat(user, span_holoparasite("[G.real_name] has been summoned!")) if("carp") to_chat(user, "[G.carp_fluff_string]") - to_chat(user, "[G.real_name] has been caught!") + to_chat(user, span_holoparasite("[G.real_name] has been caught!")) if("miner") to_chat(user, "[G.miner_fluff_string]") - to_chat(user, "[G.real_name] has appeared!") + to_chat(user, span_holoparasite("[G.real_name] has appeared!")) add_verb(user, list(/mob/living/proc/guardian_comm, \ /mob/living/proc/guardian_recall, \ /mob/living/proc/guardian_reset)) diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm index 7584661ecc0..e283ec2914d 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm @@ -57,16 +57,16 @@ environment_smash = initial(environment_smash) alpha = initial(alpha) if(!forced) - to_chat(src, "You exit stealth.") + to_chat(src, "[span_danger("You exit stealth.")]") else - visible_message("\The [src] suddenly appears!") + visible_message(span_danger("\The [src] suddenly appears!")) stealthcooldown = world.time + initial(stealthcooldown) //we were forced out of stealth and go on cooldown cooldown = world.time + 40 //can't recall for 4 seconds updatestealthalert() toggle = FALSE else if(stealthcooldown <= world.time) if(src.loc == summoner) - to_chat(src, "You have to be manifested to enter stealth!") + to_chat(src, "[span_danger("You have to be manifested to enter stealth!")]") return melee_damage_lower = 50 melee_damage_upper = 50 @@ -76,11 +76,11 @@ new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) alpha = 15 if(!forced) - to_chat(src, "You enter stealth, empowering your next attack.") + to_chat(src, "[span_danger("You enter stealth, empowering your next attack.")]") updatestealthalert() toggle = TRUE else if(!forced) - to_chat(src, "You cannot yet enter stealth, wait another [DisplayTimeText(stealthcooldown - world.time)]!") + to_chat(src, "[span_danger("You cannot yet enter stealth, wait another [DisplayTimeText(stealthcooldown - world.time)]!")]") /mob/living/simple_animal/hostile/guardian/assassin/proc/updatestealthalert() if(stealthcooldown <= world.time) diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm index 55ef6644a99..4de21bcf8cc 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/charger.dm @@ -26,7 +26,7 @@ /mob/living/simple_animal/hostile/guardian/charger/OpenFire(atom/A) if(!charging) - visible_message("[src] [ranged_message] at [A]!") + visible_message(span_danger("[src] [ranged_message] at [A]!")) ranged_cooldown = world.time + ranged_cooldown_time clear_alert("charge") chargealert = null @@ -64,7 +64,7 @@ blocked = TRUE if(!blocked) L.drop_all_held_items() - L.visible_message("[src] slams into [L]!", "[src] slams into you!") + L.visible_message(span_danger("[src] slams into [L]!"), span_userdanger("[src] slams into you!")) L.apply_damage(20, BRUTE) playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) shake_camera(L, 4, 3) diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm index 680b81d269b..70db007d955 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm @@ -67,7 +67,7 @@ internal_storage = I update_inv_internal_storage() else - to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") + to_chat(src, span_danger("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")) /mob/living/simple_animal/hostile/guardian/dextrous/getBackSlot() return ITEM_SLOT_DEX_STORAGE diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm index 037bb3001b4..5f551400331 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm @@ -41,17 +41,17 @@ if(!istype(A)) return if(loc == summoner) - to_chat(src, "You must be manifested to create bombs!") + to_chat(src, span_danger("You must be manifested to create bombs!")) return if(isobj(A) && Adjacent(A)) if(bomb_cooldown <= world.time && !stat) - to_chat(src, "Success! Bomb armed!") + to_chat(src, span_danger("Success! Bomb armed!")) bomb_cooldown = world.time + 200 RegisterSignal(A, COMSIG_PARENT_EXAMINE, .proc/display_examine) RegisterSignal(A, boom_signals, .proc/kaboom) addtimer(CALLBACK(src, .proc/disable, A), 600, TIMER_UNIQUE|TIMER_OVERRIDE) else - to_chat(src, "Your powers are on cooldown! You must wait 20 seconds between bombs.") + to_chat(src, span_danger("Your powers are on cooldown! You must wait 20 seconds between bombs.")) /mob/living/simple_animal/hostile/guardian/bomb/proc/kaboom(atom/source, mob/living/explodee) SIGNAL_HANDLER @@ -59,8 +59,8 @@ return if(explodee == src || explodee == summoner || hasmatchingsummoner(explodee)) return - to_chat(explodee, "[source] was boobytrapped!") - to_chat(src, "Success! Your trap caught [explodee]") + to_chat(explodee, span_danger("[source] was boobytrapped!")) + to_chat(src, span_danger("Success! Your trap caught [explodee]")) var/turf/T = get_turf(source) playsound(T,'sound/effects/explosion2.ogg', 200, TRUE) new /obj/effect/temp_visual/explosion(T) @@ -68,11 +68,11 @@ UNREGISTER_BOMB_SIGNALS(source) /mob/living/simple_animal/hostile/guardian/bomb/proc/disable(atom/A) - to_chat(src, "Failure! Your trap didn't catch anyone this time.") + to_chat(src, span_danger("Failure! Your trap didn't catch anyone this time.")) UNREGISTER_BOMB_SIGNALS(A) /mob/living/simple_animal/hostile/guardian/bomb/proc/display_examine(datum/source, mob/user, text) SIGNAL_HANDLER - text += "It glows with a strange light!" + text += span_holoparasite("It glows with a strange light!") #undef UNREGISTER_BOMB_SIGNALS diff --git a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm index 352262a48ee..d5b904fa201 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm @@ -20,17 +20,17 @@ /mob/living/simple_animal/hostile/guardian/gravitokinetic/AttackingTarget() . = ..() if(isliving(target) && target != src && target != summoner) - to_chat(src, "Your punch has applied heavy gravity to [target]!") + to_chat(src, "[span_danger("Your punch has applied heavy gravity to [target]!")]") add_gravity(target, 5) - to_chat(target, "Everything feels really heavy!") + to_chat(target, span_userdanger("Everything feels really heavy!")) /mob/living/simple_animal/hostile/guardian/gravitokinetic/AltClickOn(atom/A) if(isopenturf(A) && is_deployed() && stat != DEAD && in_range(src, A) && !incapacitated()) var/turf/T = A if(isspaceturf(T)) - to_chat(src, "You cannot add gravity to space!") + to_chat(src, span_warning("You cannot add gravity to space!")) return - visible_message("[src] slams their fist into the [T]!", "You modify the gravity of the [T].") + visible_message(span_danger("[src] slams their fist into the [T]!"), span_notice("You modify the gravity of the [T].")) do_attack_animation(T) add_gravity(T, 3) return @@ -38,7 +38,7 @@ /mob/living/simple_animal/hostile/guardian/gravitokinetic/Recall(forced) . = ..() - to_chat(src, "You have released your gravitokinetic powers!") + to_chat(src, "[span_danger("You have released your gravitokinetic powers!")]") for(var/i in gravito_targets) remove_gravity(i) diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm index 837ab08c374..14a331d215f 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm @@ -105,9 +105,9 @@ if(successfulshocks > 4) L.electrocute_act(0) L.visible_message( - "[L] was shocked by the lightning chain!", \ - "You are shocked by the lightning chain!", \ - "You hear a heavy electrical crack." \ + span_danger("[L] was shocked by the lightning chain!"), \ + span_userdanger("You are shocked by the lightning chain!"), \ + span_hear("You hear a heavy electrical crack.") \ ) L.adjustFireLoss(1.2) //adds up very rapidly . = 1 diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm index b042372af21..4f8b458c9ab 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm @@ -20,7 +20,7 @@ if(QDELETED(src)) return FALSE if(toggle) - visible_message("The explosion glances off [src]'s energy shielding!") + visible_message(span_danger("The explosion glances off [src]'s energy shielding!")) /mob/living/simple_animal/hostile/guardian/protector/adjustHealth(amount, updating_health = TRUE, forced = FALSE) . = ..() @@ -40,7 +40,7 @@ melee_damage_upper = initial(melee_damage_upper) speed = initial(speed) damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.4, CLONE = 0.4, STAMINA = 0, OXY = 0.4) - to_chat(src, "You switch to combat mode.") + to_chat(src, "[span_danger("You switch to combat mode.")]") toggle = FALSE else var/mutable_appearance/shield_overlay = mutable_appearance('icons/effects/effects.dmi', "shield-grey") @@ -51,7 +51,7 @@ melee_damage_upper = 2 speed = 1 damage_coeff = list(BRUTE = 0.05, BURN = 0.05, TOX = 0.05, CLONE = 0.05, STAMINA = 0, OXY = 0.05) //damage? what's damage? - to_chat(src, "You switch to protection mode.") + to_chat(src, "[span_danger("You switch to protection mode.")]") toggle = TRUE /mob/living/simple_animal/hostile/guardian/protector/snapback() //snap to what? snap to the guardian! @@ -60,12 +60,12 @@ return else if(istype(summoner.loc, /obj/effect)) - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("\The [src] jumps back to its user.") + to_chat(src, span_holoparasite("You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")) + visible_message(span_danger("\The [src] jumps back to its user.")) Recall(TRUE) else - to_chat(summoner, "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!") - summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.") + to_chat(summoner, span_holoparasite("You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!")) + summoner.visible_message(span_danger("\The [summoner] jumps back to [summoner.p_their()] protector.")) new /obj/effect/temp_visual/guardian/phase/out(get_turf(summoner)) summoner.forceMove(get_turf(src)) new /obj/effect/temp_visual/guardian/phase(get_turf(summoner)) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index 98b2c2c7733..09532c12322 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -39,7 +39,7 @@ environment_smash = initial(environment_smash) alpha = 255 range = initial(range) - to_chat(src, "You switch to combat mode.") + to_chat(src, "[span_danger("You switch to combat mode.")]") toggle = FALSE else ranged = 0 @@ -49,10 +49,10 @@ environment_smash = ENVIRONMENT_SMASH_NONE alpha = 45 range = 255 - to_chat(src, "You switch to scout mode.") + to_chat(src, "[span_danger("You switch to scout mode.")]") toggle = TRUE else - to_chat(src, "You have to be recalled to toggle modes!") + to_chat(src, "[span_danger("You have to be recalled to toggle modes!")]") /mob/living/simple_animal/hostile/guardian/ranged/Shoot(atom/targeted_atom) . = ..() @@ -77,7 +77,7 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE msg = "You deactivate your night vision." - to_chat(src, "[msg]") + to_chat(src, span_notice("[msg]")) /mob/living/simple_animal/hostile/guardian/ranged/verb/Snare() @@ -90,9 +90,9 @@ S.spawner = src S.name = "[get_area(snare_loc)] snare ([rand(1, 1000)])" snares |= S - to_chat(src, "Surveillance snare deployed!") + to_chat(src, "[span_danger("Surveillance snare deployed!")]") else - to_chat(src, "You have too many snares deployed. Remove some first.") + to_chat(src, "[span_danger("You have too many snares deployed. Remove some first.")]") /mob/living/simple_animal/hostile/guardian/ranged/verb/DisarmSnare() set name = "Remove Surveillance Snare" @@ -102,7 +102,7 @@ if(picked_snare) snares -= picked_snare qdel(picked_snare) - to_chat(src, "Snare disarmed.") + to_chat(src, "[span_danger("Snare disarmed.")]") /obj/effect/snare name = "snare" @@ -120,10 +120,10 @@ /obj/effect/snare/proc/on_entered(datum/source, AM as mob|obj) SIGNAL_HANDLER if(isliving(AM) && spawner && spawner.summoner && AM != spawner && !spawner.hasmatchingsummoner(AM)) - to_chat(spawner.summoner, "[AM] has crossed surveillance snare, [name].") + to_chat(spawner.summoner, "[span_danger("[AM] has crossed surveillance snare, [name].")]") var/list/guardians = spawner.summoner.hasparasites() for(var/para in guardians) - to_chat(para, "[AM] has crossed surveillance snare, [name].") + to_chat(para, "[span_danger("[AM] has crossed surveillance snare, [name].")]") /obj/effect/snare/singularity_act() return diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm index 0392137aa06..f2878bf1817 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/support.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm @@ -51,7 +51,7 @@ damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) melee_damage_lower = 15 melee_damage_upper = 15 - to_chat(src, "You switch to combat mode.") + to_chat(src, "[span_danger("You switch to combat mode.")]") toggle = FALSE else set_combat_mode(FALSE) @@ -59,10 +59,10 @@ damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) melee_damage_lower = 0 melee_damage_upper = 0 - to_chat(src, "You switch to healing mode.") + to_chat(src, "[span_danger("You switch to healing mode.")]") toggle = TRUE else - to_chat(src, "You have to be recalled to toggle modes!") + to_chat(src, "[span_danger("You have to be recalled to toggle modes!")]") /mob/living/simple_animal/hostile/guardian/healer/verb/Beacon() @@ -71,7 +71,7 @@ set desc = "Mark a floor as your beacon point, allowing you to warp targets to it. Your beacon will not work at extreme distances." if(beacon_cooldown >= world.time) - to_chat(src, "Your power is on cooldown. You must wait five minutes between placing beacons.") + to_chat(src, "[span_danger("Your power is on cooldown. You must wait five minutes between placing beacons.")]") return var/turf/beacon_loc = get_turf(src.loc) @@ -84,7 +84,7 @@ beacon = new(beacon_loc, src) - to_chat(src, "Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click.") + to_chat(src, "[span_danger("Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click.")]") beacon_cooldown = world.time + 3000 @@ -104,44 +104,44 @@ add_atom_colour(G.guardiancolor, FIXED_COLOUR_PRIORITY) /obj/structure/receiving_pad/proc/disappear() - visible_message("[src] vanishes!") + visible_message(span_notice("[src] vanishes!")) qdel(src) /mob/living/simple_animal/hostile/guardian/healer/AltClickOn(atom/movable/A) if(!istype(A)) return if(src.loc == summoner) - to_chat(src, "You must be manifested to warp a target!") + to_chat(src, "[span_danger("You must be manifested to warp a target!")]") return if(!beacon) - to_chat(src, "You need a beacon placed to warp things!") + to_chat(src, "[span_danger("You need a beacon placed to warp things!")]") return if(!Adjacent(A)) - to_chat(src, "You must be adjacent to your target!") + to_chat(src, "[span_danger("You must be adjacent to your target!")]") return if(A.anchored) - to_chat(src, "Your target cannot be anchored!") + to_chat(src, "[span_danger("Your target cannot be anchored!")]") return var/turf/T = get_turf(A) if(beacon.z != T.z) - to_chat(src, "The beacon is too far away to warp to!") + to_chat(src, "[span_danger("The beacon is too far away to warp to!")]") return - to_chat(src, "You begin to warp [A].") - A.visible_message("[A] starts to glow faintly!", \ - "You start to faintly glow, and you feel strangely weightless!") + to_chat(src, "[span_danger("You begin to warp [A].")]") + A.visible_message(span_danger("[A] starts to glow faintly!"), \ + span_userdanger("You start to faintly glow, and you feel strangely weightless!")) do_attack_animation(A) if(!do_mob(src, A, 60)) //now start the channel - to_chat(src, "You need to hold still!") + to_chat(src, "[span_danger("You need to hold still!")]") return new /obj/effect/temp_visual/guardian/phase/out(T) if(isliving(A)) var/mob/living/L = A L.flash_act() - A.visible_message("[A] disappears in a flash of light!", \ - "Your vision is obscured by a flash of light!") + A.visible_message(span_danger("[A] disappears in a flash of light!"), \ + span_userdanger("Your vision is obscured by a flash of light!")) do_teleport(A, beacon, 0, channel = TELEPORT_CHANNEL_BLUESPACE) new /obj/effect/temp_visual/guardian/phase(get_turf(A)) diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 7b4e66962b8..03af415b7e6 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -113,7 +113,7 @@ return if(locate(/obj/structure/alien/weeds/node) in get_turf(src)) return - visible_message("[src] plants some alien weeds!") + visible_message(span_alertalien("[src] plants some alien weeds!")) new /obj/structure/alien/weeds/node(loc) /mob/living/simple_animal/hostile/alien/proc/LayEggs() @@ -121,7 +121,7 @@ return if(locate(/obj/structure/alien/egg) in get_turf(src)) return - visible_message("[src] lays an egg!") + visible_message(span_alertalien("[src] lays an egg!")) new /obj/structure/alien/egg(loc) /mob/living/simple_animal/hostile/alien/queen/large @@ -167,7 +167,7 @@ if(ismovable(target)) target.wash(CLEAN_SCRUB) if(istype(target, /obj/effect/decal/cleanable)) - visible_message("[src] cleans up \the [target].") + visible_message(span_notice("[src] cleans up \the [target].")) else - visible_message("[src] polishes \the [target].") + visible_message(span_notice("[src] polishes \the [target].")) return TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index a6b35304fe1..984c973dedf 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -113,7 +113,7 @@ if(istype(target, /mob/living/simple_animal/hostile/bear) && proximity_flag) var/mob/living/simple_animal/hostile/bear/A = target if(A.armored) - to_chat(user, "[A] has already been armored up!") + to_chat(user, span_warning("[A] has already been armored up!")) return A.armored = TRUE A.maxHealth += 60 @@ -123,7 +123,7 @@ A.melee_damage_upper += 5 A.wound_bonus += 5 A.update_icons() - to_chat(user, "You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea.") + to_chat(user, span_info("You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea.")) qdel(src) /mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it. @@ -173,7 +173,7 @@ free butter to the station!
    ") var/new_name = stripped_input(src, "Enter your name, or press \"Cancel\" to stick with Terrygold.", "Name Change") if(new_name) - to_chat(src, "Your name is now \"new_name\"!") + to_chat(src, span_notice("Your name is now \"new_name\"!")) name = new_name /mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path. @@ -182,4 +182,4 @@ if((L.body_position == STANDING_UP)) L.Knockdown(20) playsound(loc, 'sound/misc/slip.ogg', 15) - L.visible_message("[L] slips on butter!") + L.visible_message(span_danger("[L] slips on butter!")) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 45e994f8897..0f37c651bf3 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -72,7 +72,7 @@ if(beegent) reee[beegent.type] = 5 holder.AddComponent(/datum/component/edible, reee, null, RAW | MEAT | GROSS, 10, 0, list("bee"), null, 10) - L.visible_message("[L] scoops up [src]!") + L.visible_message(span_warning("[L] scoops up [src]!")) L.put_in_hands(holder) /mob/living/simple_animal/hostile/bee/Destroy() @@ -102,7 +102,7 @@ . = ..() if(!beehome) - . += "This bee is homeless!" + . += span_warning("This bee is homeless!") /mob/living/simple_animal/hostile/bee/ListTargets() // Bee processing is expessive, so we override them finding targets here. if(!search_objects) //In case we want to have purely hostile bees @@ -302,18 +302,18 @@ if(queen?.beegent) qb.queen.assign_reagent(queen.beegent) //Bees use the global singleton instances of reagents, so we don't need to worry about one bee being deleted and her copies losing their reagents. user.put_in_active_hand(qb) - user.visible_message("[user] injects [src] with royal bee jelly, causing it to split into two bees, MORE BEES!","You inject [src] with royal bee jelly, causing it to split into two bees, MORE BEES!") + user.visible_message(span_notice("[user] injects [src] with royal bee jelly, causing it to split into two bees, MORE BEES!"),span_warning("You inject [src] with royal bee jelly, causing it to split into two bees, MORE BEES!")) else - to_chat(user, "You don't have enough royal bee jelly to split a bee in two!") + to_chat(user, span_warning("You don't have enough royal bee jelly to split a bee in two!")) else var/datum/reagent/R = GLOB.chemical_reagents_list[S.reagents.get_master_reagent_id()] if(R && S.reagents.has_reagent(R.type, 5)) S.reagents.remove_reagent(R.type,5) queen.assign_reagent(R) - user.visible_message("[user] injects [src]'s genome with [R.name], mutating its DNA!","You inject [src]'s genome with [R.name], mutating its DNA!") + user.visible_message(span_warning("[user] injects [src]'s genome with [R.name], mutating its DNA!"),span_warning("You inject [src]'s genome with [R.name], mutating its DNA!")) name = queen.name else - to_chat(user, "You don't have enough units of that chemical to modify the bee's DNA!") + to_chat(user, span_warning("You don't have enough units of that chemical to modify the bee's DNA!")) ..() diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm index 35867417c30..cf138034208 100644 --- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm @@ -156,7 +156,7 @@ /obj/effect/temp_visual/paperwiz_dying/Initialize() . = ..() - visible_message("The wizard cries out in pain as a gate appears behind him, sucking him in!") + visible_message(span_boldannounce("The wizard cries out in pain as a gate appears behind him, sucking him in!")) playsound(get_turf(src),'sound/magic/mandswap.ogg', 50, TRUE, TRUE) playsound(get_turf(src),'sound/hallucinations/wail.ogg', 50, TRUE, TRUE) diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 0002bb73feb..b57ed945279 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -105,7 +105,7 @@ /mob/living/simple_animal/hostile/carp/proc/chomp_plastic() var/obj/item/storage/cans/tasty_plastic = locate(/obj/item/storage/cans) in view(1, src) if(tasty_plastic && Adjacent(tasty_plastic)) - visible_message("[src] gets its head stuck in [tasty_plastic], and gets cut breaking free from it!", "You try to avoid [tasty_plastic], but it looks so... delicious... Ow! It cuts the inside of your mouth!") + visible_message(span_notice("[src] gets its head stuck in [tasty_plastic], and gets cut breaking free from it!"), span_notice("You try to avoid [tasty_plastic], but it looks so... delicious... Ow! It cuts the inside of your mouth!")) new /obj/effect/decal/cleanable/plastic(loc) @@ -255,7 +255,7 @@ /mob/living/simple_animal/hostile/carp/cayenne/examine(mob/user) . = ..() if(disky) - . += "Wait... is that [disky] in [p_their()] mouth?" + . += span_notice("Wait... is that [disky] in [p_their()] mouth?") /mob/living/simple_animal/hostile/carp/cayenne/AttackingTarget(atom/attacked_target) if(istype(attacked_target, /obj/item/disk/nuclear)) @@ -264,14 +264,14 @@ return potential_disky.forceMove(src) disky = potential_disky - to_chat(src, "YES!! You manage to pick up [disky]. (Click anywhere to place it back down.)") + to_chat(src, span_nicegreen("YES!! You manage to pick up [disky]. (Click anywhere to place it back down.)")) update_icon() if(!disky.fake) client.give_award(/datum/award/achievement/misc/cayenne_disk, src) return if(disky) if(isopenturf(attacked_target)) - to_chat(src, "You place [disky] on [attacked_target]") + to_chat(src, span_notice("You place [disky] on [attacked_target]")) disky.forceMove(attacked_target.drop_location()) disky = null update_icon() diff --git a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm index 55a74742bb1..bcab77e91b3 100644 --- a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm +++ b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm @@ -36,7 +36,7 @@ var/mob/living/carbon/human/L = target var/obj/item/organ/tail/cat/tail = L.getorgan(/obj/item/organ/tail/cat) if(!QDELETED(tail)) - visible_message("[src] severs [L]'s tail in one swift swipe!", "You sever [L]'s tail in one swift swipe.") + visible_message(span_notice("[src] severs [L]'s tail in one swift swipe!"), span_notice("You sever [L]'s tail in one swift swipe.")) tail.Remove(L) var/obj/item/organ/tail/cat/dropped_tail = new(target.drop_location()) dropped_tail.color = L.hair_color diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm index 5ca4b240b7c..49508e5465e 100644 --- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm +++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm @@ -104,7 +104,7 @@ if(!istype(living_target)) return FALSE //We failed to run the invoke. Might be because we're a structure. Let the squashable element handle it then! if(!HAS_TRAIT(living_target, TRAIT_PIERCEIMMUNE)) - living_target.visible_message("[living_target] steps onto [cockroach]'s spike!", "You step onto [cockroach]'s spike!") + living_target.visible_message(span_danger("[living_target] steps onto [cockroach]'s spike!"), span_userdanger("You step onto [cockroach]'s spike!")) return TRUE - living_target.visible_message("[living_target] squashes [cockroach], not even noticing its spike.", "You squashed [cockroach], not even noticing its spike.") + living_target.visible_message(span_notice("[living_target] squashes [cockroach], not even noticing its spike."), span_notice("You squashed [cockroach], not even noticing its spike.")) return FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index c9c2e131cc0..c1f11fe5ed3 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -44,5 +44,5 @@ if(. && prob(12) && iscarbon(target)) var/mob/living/carbon/C = target C.Paralyze(60) - C.visible_message("\The [src] knocks down \the [C]!", \ - "\The [src] knocks you down!") + C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \ + span_userdanger("\The [src] knocks you down!")) 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 b8ba63a8c34..f101b65f786 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -73,10 +73,10 @@ if(!. || !client) return FALSE if(directive) - to_chat(src, "Your mother left you a directive! Follow it at all costs.") - to_chat(src, "[directive]") + to_chat(src, span_spider("Your mother left you a directive! Follow it at all costs.")) + to_chat(src, span_spider("[directive]")) if(mind) - mind.store_memory("[directive]") + mind.store_memory(span_spider("[directive]")) GLOB.spidermobs[src] = TRUE /mob/living/simple_animal/hostile/giant_spider/Destroy() @@ -146,17 +146,17 @@ return ..() var/mob/living/simple_animal/hostile/giant_spider/hurt_spider = target if(hurt_spider == src) - to_chat(src, "You don't have the dexerity to wrap your own wounds.") + to_chat(src, span_warning("You don't have the dexerity to wrap your own wounds.")) return if(hurt_spider.health >= hurt_spider.maxHealth) - to_chat(src, "You can't find any wounds to wrap up.") + to_chat(src, span_warning("You can't find any wounds to wrap up.")) return - visible_message("[src] begins wrapping the wounds of [hurt_spider].","You begin wrapping the wounds of [hurt_spider].") + visible_message(span_notice("[src] begins wrapping the wounds of [hurt_spider]."),span_notice("You begin wrapping the wounds of [hurt_spider].")) is_busy = TRUE if(do_after(src, 20, target = hurt_spider)) hurt_spider.heal_overall_damage(20, 20) new /obj/effect/temp_visual/heal(get_turf(hurt_spider), "#80F5FF") - visible_message("[src] wraps the wounds of [hurt_spider].","You wrap the wounds of [hurt_spider].") + visible_message(span_notice("[src] wraps the wounds of [hurt_spider]."),span_notice("You wrap the wounds of [hurt_spider].")) is_busy = FALSE /** @@ -297,19 +297,19 @@ if(stat == DEAD || !cocoon_target || cocoon_target.anchored) return if(cocoon_target == src) - to_chat(src, "You can't wrap yourself!") + to_chat(src, span_warning("You can't wrap yourself!")) return if(istype(cocoon_target, /mob/living/simple_animal/hostile/giant_spider)) - to_chat(src, "You can't wrap other spiders!") + to_chat(src, span_warning("You can't wrap other spiders!")) return if(!Adjacent(cocoon_target)) - to_chat(src, "You can't reach [cocoon_target]!") + to_chat(src, span_warning("You can't reach [cocoon_target]!")) return if(is_busy) - to_chat(src, "You're already doing something else!") + to_chat(src, span_warning("You're already doing something else!")) return is_busy = TRUE - visible_message("[src] begins to secrete a sticky substance around [cocoon_target].","You begin wrapping [cocoon_target] into a cocoon.") + visible_message(span_notice("[src] begins to secrete a sticky substance around [cocoon_target]."),span_notice("You begin wrapping [cocoon_target] into a cocoon.")) stop_automated_movement = TRUE if(do_after(src, 50, target = cocoon_target)) if(is_busy) @@ -320,10 +320,10 @@ consumed_mobs[living_target.tag] = TRUE fed++ lay_eggs_enriched.UpdateButtonIcon(TRUE) - visible_message("[src] sticks a proboscis into [living_target] and sucks a viscous substance out.","You suck the nutriment out of [living_target], feeding you enough to lay a cluster of eggs.") + visible_message(span_danger("[src] sticks a proboscis into [living_target] and sucks a viscous substance out."),span_notice("You suck the nutriment out of [living_target], feeding you enough to lay a cluster of eggs.")) living_target.death() //you just ate them, they're dead. else - to_chat(src, "[living_target] cannot sate your hunger!") + to_chat(src, span_warning("[living_target] cannot sate your hunger!")) cocoon_target.forceMove(casing) if(cocoon_target.density || ismob(cocoon_target)) casing.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3") @@ -352,12 +352,12 @@ var/obj/structure/spider/stickyweb/web = locate() in spider_turf if(web) - to_chat(spider, "There's already a web here!") + to_chat(spider, span_warning("There's already a web here!")) return if(!spider.is_busy) spider.is_busy = TRUE - spider.visible_message("[spider] begins to secrete a sticky substance.","You begin to lay a web.") + spider.visible_message(span_notice("[spider] begins to secrete a sticky substance."),span_notice("You begin to lay a web.")) spider.stop_automated_movement = TRUE if(do_after(spider, 40 * spider.web_speed, target = spider_turf)) if(spider.is_busy && spider.loc == spider_turf) @@ -365,7 +365,7 @@ spider.is_busy = FALSE spider.stop_automated_movement = FALSE else - to_chat(spider, "You're already doing something else!") + to_chat(spider, span_warning("You're already doing something else!")) /obj/effect/proc_holder/wrap name = "Wrap" @@ -391,10 +391,10 @@ /obj/effect/proc_holder/wrap/proc/activate(mob/living/user) var/message if(active) - message = "You no longer prepare to wrap something in a cocoon." + message = span_notice("You no longer prepare to wrap something in a cocoon.") remove_ranged_ability(message) else - message = "You prepare to wrap something in a cocoon. Left-click your target to start wrapping!" + message = span_notice("You prepare to wrap something in a cocoon. Left-click your target to start wrapping!") add_ranged_ability(user, message, TRUE) return TRUE @@ -444,13 +444,13 @@ var/message var/mob/living/simple_animal/hostile/giant_spider/tarantula/spider = user if(active) - message = "You stop preparing to charge." + message = span_notice("You stop preparing to charge.") remove_ranged_ability(message) else if(!COOLDOWN_FINISHED(spider, charge_cooldown)) - message = "Your charge is still on cooldown!" + message = span_notice("Your charge is still on cooldown!
    ") remove_ranged_ability(message) - message = "You prepare to charge. Left-click your target to charge them!" + message = span_notice("You prepare to charge. Left-click your target to charge them!") add_ranged_ability(user, message, TRUE) return 1 @@ -495,12 +495,12 @@ var/obj/structure/spider/eggcluster/eggs = locate() in get_turf(spider) if(eggs) - to_chat(spider, "There is already a cluster of eggs here!") + to_chat(spider, span_warning("There is already a cluster of eggs here!")) else if(enriched && !spider.fed) - to_chat(spider, "You are too hungry to do this!") + to_chat(spider, span_warning("You are too hungry to do this!")) else if(!spider.is_busy) spider.is_busy = TRUE - spider.visible_message("[spider] begins to lay a cluster of eggs.","You begin to lay a cluster of eggs.") + spider.visible_message(span_notice("[spider] begins to lay a cluster of eggs."),span_notice("You begin to lay a cluster of eggs.")) spider.stop_automated_movement = TRUE if(do_after(spider, 100, target = get_turf(spider))) if(spider.is_busy) @@ -571,7 +571,7 @@ if(!message) return var/my_message - my_message = "Command from [user]: [message]" + my_message = span_spider("Command from [user]: [message]") for(var/mob/living/simple_animal/hostile/giant_spider/spider in GLOB.spidermobs) to_chat(spider, my_message) for(var/ghost in GLOB.dead_mob_list) @@ -705,14 +705,14 @@ return if(src == target) if(health >= maxHealth) - to_chat(src, "You're not injured, there's no reason to heal.") + to_chat(src, span_warning("You're not injured, there's no reason to heal.")) return - visible_message("[src] begins mending themselves...","You begin mending your wounds...") + visible_message(span_notice("[src] begins mending themselves..."),span_notice("You begin mending your wounds...")) is_busy = TRUE if(do_after(src, 20, target = src)) heal_overall_damage(50, 50) new /obj/effect/temp_visual/heal(get_turf(src), "#80F5FF") - visible_message("[src]'s wounds mend together.","You mend your wounds together.") + visible_message(span_notice("[src]'s wounds mend together."),span_notice("You mend your wounds together.")) is_busy = FALSE return return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index 0f9b33522b2..bdfe5273d6c 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -66,8 +66,8 @@ if(stat == DEAD || choking) // plapatin I swear to god return FALSE if(suffocator.has_material_type(/datum/material/plastic)) // dumb goose'll swallow food or drink with plastic in it - visible_message("[src] hungrily gobbles up \the [suffocator]! ") - visible_message("[src] is choking on \the [suffocator]! ") + visible_message(span_danger("[src] hungrily gobbles up \the [suffocator]! ")) + visible_message(span_boldwarning("[src] is choking on \the [suffocator]! ")) suffocator.forceMove(src) choke(suffocator) choking = TRUE @@ -107,7 +107,7 @@ /mob/living/simple_animal/hostile/retaliate/goose/vomit/examine(user) . = ..() - . += "Somehow, it still looks hungry." + . += span_notice("Somehow, it still looks hungry.") /mob/living/simple_animal/hostile/retaliate/goose/attackby(obj/item/O, mob/user) . = ..() @@ -120,11 +120,11 @@ return FALSE if (contents.len > GOOSE_SATIATED) if(message_cooldown < world.time) - visible_message("[src] looks too full to eat \the [tasty]!") + visible_message(span_notice("[src] looks too full to eat \the [tasty]!")) message_cooldown = world.time + 5 SECONDS return FALSE if (tasty.foodtype & GROSS) - visible_message("[src] hungrily gobbles up \the [tasty]!") + visible_message(span_notice("[src] hungrily gobbles up \the [tasty]!")) tasty.forceMove(src) playsound(src,'sound/items/eatfood.ogg', 70, TRUE) vomitCoefficient += 3 @@ -132,7 +132,7 @@ return TRUE else if(message_cooldown < world.time) - visible_message("[src] refuses to eat \the [tasty].") + visible_message(span_notice("[src] refuses to eat \the [tasty].")) message_cooldown = world.time + 5 SECONDS return FALSE @@ -145,7 +145,7 @@ if(stat == DEAD || choking) return if(prob(25)) - visible_message("[src] is gagging on \the [plastic]!") + visible_message(span_warning("[src] is gagging on \the [plastic]!")) manual_emote("gags!") addtimer(CALLBACK(src, .proc/vomit), 300) else diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm index fb81da5530b..2b7fc7e8279 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -75,7 +75,7 @@ L.throw_at(throw_target, rand(1,2), 7, src) else L.Paralyze(20) - visible_message("[src] knocks [L] down!") + visible_message(span_danger("[src] knocks [L] down!")) /mob/living/simple_animal/hostile/gorilla/CanAttack(atom/the_target) var/list/parts = target_bodyparts(target) @@ -101,7 +101,7 @@ ..() /mob/living/simple_animal/hostile/gorilla/can_use_guns(obj/item/G) - to_chat(src, "Your meaty finger is much too large for the trigger guard!") + to_chat(src, span_warning("Your meaty finger is much too large for the trigger guard!")) return FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index b99a958b0ac..88caf19e4a9 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -37,8 +37,8 @@ egg.origin = mind for(var/obj/item/organ/I in src) I.forceMove(egg) - visible_message("[src] plants something in [victim]'s flesh!", \ - "We inject our egg into [victim]'s body!") + visible_message(span_warning("[src] plants something in [victim]'s flesh!"), \ + span_danger("We inject our egg into [victim]'s body!")) egg_lain = 1 /mob/living/simple_animal/hostile/headcrab/AttackingTarget() @@ -48,10 +48,10 @@ var/mob/living/carbon/C = target if(C.stat == DEAD) if(HAS_TRAIT(C, TRAIT_XENO_HOST)) - to_chat(src, "A foreign presence repels us from this body. Perhaps we should try to infest another?") + to_chat(src, span_userdanger("A foreign presence repels us from this body. Perhaps we should try to infest another?")) return Infect(target) - to_chat(src, "With our egg laid, our death approaches rapidly...") + to_chat(src, span_userdanger("With our egg laid, our death approaches rapidly...")) addtimer(CALLBACK(src, .proc/death), 100) /obj/item/organ/body_egg/changeling_egg diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 6a03aa12a26..997b5c52292 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -117,24 +117,24 @@ if(istype(target, /obj/machinery)) var/obj/machinery/fixable = target if(fixable.get_integrity() >= fixable.max_integrity) - to_chat(src, "Diagnostics indicate that this machine is at peak integrity.") + to_chat(src, span_warning("Diagnostics indicate that this machine is at peak integrity.")) return - to_chat(src, "You begin repairs...") + to_chat(src, span_warning("You begin repairs...")) if(do_after(src, 50, target = fixable)) fixable.repair_damage(fixable.max_integrity - fixable.get_integrity()) do_sparks(3, TRUE, fixable) - to_chat(src, "Repairs complete.") + to_chat(src, span_warning("Repairs complete.")) return if(istype(target, /mob/living/simple_animal/hostile/hivebot)) var/mob/living/simple_animal/hostile/hivebot/fixable = target if(fixable.health >= fixable.maxHealth) - to_chat(src, "Diagnostics indicate that this unit is at peak integrity.") + to_chat(src, span_warning("Diagnostics indicate that this unit is at peak integrity.")) return - to_chat(src, "You begin repairs...") + to_chat(src, span_warning("You begin repairs...")) if(do_after(src, 50, target = fixable)) fixable.revive(full_heal = TRUE, admin_revive = TRUE) do_sparks(3, TRUE, fixable) - to_chat(src, "Repairs complete.") + to_chat(src, span_warning("Repairs complete.")) return return ..() @@ -149,12 +149,12 @@ var/mob/living/simple_animal/hostile/hivebot/H = owner var/turf/T = get_turf(H) if(T.density) - to_chat(H, "There's already something on this tile!") + to_chat(H, span_warning("There's already something on this tile!")) return - to_chat(H, "You begin to create a foam wall at your position...") + to_chat(H, span_warning("You begin to create a foam wall at your position...")) if(do_after(H, 50, target = H)) for(var/obj/structure/foamedmetal/FM in T.contents) - to_chat(H, "There's already a foam wall on this tile!") + to_chat(H, span_warning("There's already a foam wall on this tile!")) return new /obj/structure/foamedmetal(H.loc) playsound(get_turf(H), 'sound/effects/extinguish.ogg', 50, TRUE, -1) diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index fd1df970897..e3bc4ad96ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -408,7 +408,7 @@ if(CheckFriendlyFire(A)) return if(!(simple_mob_flags & SILENCE_RANGED_MESSAGE)) - visible_message("[src] [ranged_message] at [A]!") + visible_message(span_danger("[src] [ranged_message] at [A]!")) if(rapid > 1) @@ -646,13 +646,13 @@ if(H.check_shields(src, 0, "the [name]", attack_type = LEAP_ATTACK)) blocked = TRUE if(!blocked) - L.visible_message("[src] charges on [L]!", "[src] charges into you!") + L.visible_message(span_danger("[src] charges on [L]!"), span_userdanger("[src] charges into you!")) L.Knockdown(knockdown_time) else Stun((knockdown_time * 2), ignore_canstun = TRUE) charge_end() else if(hit_atom.density && !hit_atom.CanPass(src)) - visible_message("[src] smashes into [hit_atom]!") + visible_message(span_danger("[src] smashes into [hit_atom]!")) Stun((knockdown_time * 2), ignore_canstun = TRUE) if(charge_state) diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm index eb1d8009ebc..9ae192ad428 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm @@ -251,7 +251,7 @@ throw_dir = pick(GLOB.alldirs) var/throwtarget = get_edge_target_turf(src, throw_dir) L.throw_at(throwtarget, 3, 1) - visible_message("[L] is thrown clear of [src]!") + visible_message(span_warning("[L] is thrown clear of [src]!")) if(ckey)//Lessens ability to chain stun as a player ranged_cooldown = ranged_cooldown_time + world.time update_icons() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 9f0422e27fb..217dc39f86f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -156,8 +156,8 @@ Difficulty: Medium if(isliving(target)) var/mob/living/L = target if(L.stat == DEAD) - visible_message("[src] butchers [L]!", - "You butcher [L], restoring your health!") + visible_message(span_danger("[src] butchers [L]!"), + span_userdanger("You butcher [L], restoring your health!")) if(!is_station_level(z) || client) //NPC monsters won't heal while on station if(guidance) adjustHealth(-L.maxHealth) @@ -189,7 +189,7 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/shoot_ka() if(ranged_cooldown <= world.time && get_dist(src, target) <= MINER_DASH_RANGE && !Adjacent(target)) ranged_cooldown = world.time + ranged_cooldown_time - visible_message("[src] fires the proto-kinetic accelerator!") + visible_message(span_danger("[src] fires the proto-kinetic accelerator!")) face_atom(target) new /obj/effect/temp_visual/dir_setting/firing_effect(loc, dir) Shoot(target) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 270a67bc22a..5b2034bec31 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -259,7 +259,7 @@ Difficulty: Hard SLEEP_CHECK_DEATH(4) for(var/mob/living/L in T) if(!faction_check_mob(L)) - to_chat(L, "[src] rends you!") + to_chat(L, span_userdanger("[src] rends you!")) playsound(T, attack_sound, 100, TRUE, -1) var/limb_to_hit = L.get_bodypart(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) L.apply_damage(10, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration), wound_bonus = CANT_WOUND) @@ -276,7 +276,7 @@ Difficulty: Hard for(var/mob/living/L in T) if(!faction_check_mob(L)) if(L.stat != CONSCIOUS) - to_chat(L, "[src] drags you through the blood!") + to_chat(L, span_userdanger("[src] drags you through the blood!")) playsound(T, 'sound/magic/enter_blood.ogg', 100, TRUE, -1) var/turf/targetturf = get_step(src, dir) L.forceMove(targetturf) @@ -313,11 +313,11 @@ Difficulty: Hard shuffle_inplace(pools) found_bloodpool = pick(pools) if(found_bloodpool) - visible_message("[src] sinks into the blood...") + visible_message(span_danger("[src] sinks into the blood...")) playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, TRUE, -1) forceMove(get_turf(found_bloodpool)) playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, TRUE, -1) - visible_message("And springs back out!") + visible_message(span_danger("And springs back out!")) blood_enrage() return TRUE return FALSE @@ -432,7 +432,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/bullet_act(obj/projectile/P) if(BUBBLEGUM_IS_ENRAGED) - visible_message("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons while enraged!", "You deflect the projectile!") + visible_message(span_danger("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons while enraged!"), span_userdanger("You deflect the projectile!")) playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 300, TRUE) return BULLET_ACT_BLOCK return ..() @@ -484,7 +484,7 @@ Difficulty: Hard DestroySurroundings() if(isliving(A)) var/mob/living/L = A - L.visible_message("[src] slams into [L]!", "[src] tramples you into the ground!") + L.visible_message(span_danger("[src] slams into [L]!"), span_userdanger("[src] tramples you into the ground!")) src.forceMove(get_turf(L)) L.apply_damage(istype(src, /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination) ? 15 : 30, BRUTE, wound_bonus = CANT_WOUND) playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index e563ee65646..5d057a5e191 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -107,7 +107,7 @@ if(enrage(target)) if(move_to_delay == initial(move_to_delay)) - visible_message("\"You can't dodge.\"") + visible_message(span_colossus("\"You can't dodge.\"")) ranged_cooldown = world.time + 30 telegraph() dir_shots(GLOB.alldirs) @@ -150,11 +150,11 @@ icon_state = "eva_attack" if(health < maxHealth/3) return double_spiral() - visible_message("\"Judgement.\"") + visible_message(span_colossus("\"Judgement.\"")) return spiral_shoot() /mob/living/simple_animal/hostile/megafauna/colossus/proc/double_spiral() - visible_message("\"Die.\"") + visible_message(span_colossus("\"Die.\"")) SLEEP_CHECK_DEATH(10) INVOKE_ASYNC(src, .proc/spiral_shoot, FALSE) @@ -225,7 +225,7 @@ /mob/living/simple_animal/hostile/megafauna/colossus/devour(mob/living/L) - visible_message("[src] disintegrates [L]!") + visible_message(span_colossus("[src] disintegrates [L]!")) L.dust() /obj/effect/temp_visual/at_shield @@ -298,7 +298,7 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box) if(!istype(O)) return FALSE if(blacklist[O]) - visible_message("[src] ripples as it rejects [O]. The device will not accept items that have been removed from it.") + visible_message(span_boldwarning("[src] ripples as it rejects [O]. The device will not accept items that have been removed from it.")) return FALSE return TRUE @@ -692,7 +692,7 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box) if(L.stat != DEAD) L.heal_overall_damage(melee_damage_upper, melee_damage_upper) new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF") - visible_message("[src] mends the wounds of [target].","You mend the wounds of [target].") + visible_message(span_notice("[src] mends the wounds of [target]."),span_notice("You mend the wounds of [target].")) /mob/living/simple_animal/hostile/lightgeist/ghost() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index 2e5a1adc420..8fd2c8d7553 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -152,7 +152,7 @@ Difficulty: Extremely Hard /mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/ex_act(severity, target) adjustBruteLoss(-30 * severity) - visible_message("[src] absorbs the explosion!", "You absorb the explosion!") + visible_message(span_danger("[src] absorbs the explosion!"), span_userdanger("You absorb the explosion!")) /mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/Goto(target, delay, minimum_distance) if(enraging) @@ -291,19 +291,19 @@ Difficulty: Extremely Hard /obj/item/resurrection_crystal/attack_self(mob/living/user) if(!iscarbon(user)) - to_chat(user, "A dark presence stops you from absorbing the crystal.") + to_chat(user, span_notice("A dark presence stops you from absorbing the crystal.")) return forceMove(user) - to_chat(user, "You feel a bit safer... but a demonic presence lurks in the back of your head...") + to_chat(user, span_notice("You feel a bit safer... but a demonic presence lurks in the back of your head...")) RegisterSignal(user, COMSIG_LIVING_DEATH, .proc/resurrect) /// Resurrects the target when they die by moving them and dusting a clone in their place, one life for another /obj/item/resurrection_crystal/proc/resurrect(mob/living/carbon/user, gibbed) SIGNAL_HANDLER if(gibbed) - to_chat(user, "This power cannot be used if your entire mortal body is disintegrated...") + to_chat(user, span_notice("This power cannot be used if your entire mortal body is disintegrated...")) return - user.visible_message("You see [user]'s soul dragged out of their body!", "You feel your soul dragged away to a fresh body!") + user.visible_message(span_notice("You see [user]'s soul dragged out of their body!"), span_notice("You feel your soul dragged away to a fresh body!")) var/typepath = user.type var/mob/living/carbon/clone = new typepath(user.loc) clone.real_name = user.real_name @@ -313,7 +313,7 @@ Difficulty: Extremely Hard user.forceMove(T) user.revive(full_heal = TRUE, admin_revive = TRUE) INVOKE_ASYNC(user, /mob/living/carbon.proc/set_species, /datum/species/shadow) - to_chat(user, "You blink and find yourself in [get_area_name(T)]... feeling a bit darker.") + to_chat(user, span_notice("You blink and find yourself in [get_area_name(T)]... feeling a bit darker.")) clone.dust() qdel(src) @@ -341,11 +341,11 @@ Difficulty: Extremely Hard /obj/item/clothing/shoes/winterboots/ice_boots/ice_trail/ui_action_click(mob/user) on = !on - to_chat(user, "You [on ? "activate" : "deactivate"] [src].") + to_chat(user, span_notice("You [on ? "activate" : "deactivate"] [src].")) /obj/item/clothing/shoes/winterboots/ice_boots/ice_trail/examine(mob/user) . = ..() - . += "The shoes are [on ? "enabled" : "disabled"]." + . += span_notice("The shoes are [on ? "enabled" : "disabled"].") /obj/item/clothing/shoes/winterboots/ice_boots/ice_trail/proc/on_step() SIGNAL_HANDLER @@ -405,7 +405,7 @@ Difficulty: Extremely Hard /datum/status_effect/ice_block_talisman/on_apply() RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/owner_moved) if(!owner.stat) - to_chat(owner, "You become frozen in a cube!") + to_chat(owner, span_userdanger("You become frozen in a cube!")) cube = icon('icons/effects/freeze.dmi', "ice_cube") var/icon/size_check = icon(owner.icon, owner.icon_state) cube.Scale(size_check.Width(), size_check.Height()) @@ -419,7 +419,7 @@ Difficulty: Extremely Hard /datum/status_effect/ice_block_talisman/on_remove() if(!owner.stat) - to_chat(owner, "The cube melts!") + to_chat(owner, span_notice("The cube melts!")) owner.cut_overlay(cube) UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 495a4ae66e2..0e317ab1702 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -142,7 +142,7 @@ /mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_rain() if(!target) return - target.visible_message("Fire rains from the sky!") + target.visible_message(span_boldwarning("Fire rains from the sky!")) var/turf/targetturf = get_turf(target) for(var/turf/turf as anything in RANGE_TURFS(9,targetturf)) if(prob(11)) @@ -151,7 +151,7 @@ /mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_pools(amount, delay = 0.8) if(!target) return - target.visible_message("Lava starts to pool up around you!") + target.visible_message(span_boldwarning("Lava starts to pool up around you!")) while(amount > 0) if(QDELETED(target)) @@ -191,7 +191,7 @@ /mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_arena() if(!target) return - target.visible_message("[src] encases you in an arena of fire!") + target.visible_message(span_boldwarning("[src] encases you in an arena of fire!")) var/amount = 3 var/turf/center = get_turf(target) var/list/walled = RANGE_TURFS(3, center) - RANGE_TURFS(2, center) @@ -242,7 +242,7 @@ /mob/living/simple_animal/hostile/megafauna/dragon/proc/arena_escape_enrage() // you ran somehow / teleported away from my arena attack now i'm mad fucker SLEEP_CHECK_DEATH(0) SetRecoveryTime(80) - visible_message("[src] starts to glow vibrantly as its wounds close up!") + visible_message(span_boldwarning("[src] starts to glow vibrantly as its wounds close up!")) adjustBruteLoss(-250) // yeah you're gonna pay for that, don't run nerd add_atom_colour(rgb(255, 255, 0), TEMPORARY_COLOUR_PRIORITY) move_to_delay = move_to_delay / 2 @@ -293,11 +293,11 @@ hit_list += L if(!frozen) L.adjustFireLoss(20) - to_chat(L, "You're hit by [source]'s fire breath!") + to_chat(L, span_userdanger("You're hit by [source]'s fire breath!")) continue L.adjustFireLoss(10) L.apply_status_effect(/datum/status_effect/ice_block_talisman, 20) - to_chat(L, "You're hit by [source]'s freezing breath!") + to_chat(L, span_userdanger("You're hit by [source]'s freezing breath!")) // deals damage to mechs for(var/obj/vehicle/sealed/mecha/M in T.contents) @@ -318,7 +318,7 @@ swooping |= SWOOP_DAMAGEABLE density = FALSE icon_state = "shadow" - visible_message("[src] swoops up high!") + visible_message(span_boldwarning("[src] swoops up high!")) var/negative var/initial_x = x @@ -376,7 +376,7 @@ playsound(loc, 'sound/effects/meteorimpact.ogg', 200, TRUE) for(var/mob/living/L in orange(1, src)) if(L.stat) - visible_message("[src] slams down on [L], crushing [L.p_them()]!") + visible_message(span_warning("[src] slams down on [L], crushing [L.p_them()]!")) L.gib() else L.adjustBruteLoss(75) @@ -386,7 +386,7 @@ throw_dir = pick(GLOB.alldirs) var/throwtarget = get_edge_target_turf(src, throw_dir) L.throw_at(throwtarget, 3) - visible_message("[L] is thrown clear of [src]!") + visible_message(span_warning("[L] is thrown clear of [src]!")) for(var/obj/vehicle/sealed/mecha/M in orange(1, src)) M.take_damage(75, BRUTE, MELEE, 1) @@ -453,7 +453,7 @@ if(istype(L, /mob/living/simple_animal/hostile/megafauna/dragon)) continue L.adjustFireLoss(10) - to_chat(L, "You fall directly into the pool of lava!") + to_chat(L, span_userdanger("You fall directly into the pool of lava!")) // deals damage to mechs for(var/obj/vehicle/sealed/mecha/M in T.contents) @@ -573,7 +573,7 @@ continue if(islist(flame_hit) && !flame_hit[L]) L.adjustFireLoss(40) - to_chat(L, "You're hit by the drake's fire breath!") + to_chat(L, span_userdanger("You're hit by the drake's fire breath!")) flame_hit[L] = TRUE else L.adjustFireLoss(10) //if we've already hit them, do way less damage @@ -597,7 +597,7 @@ if(!istype(A)) return if(player_cooldown >= world.time) - to_chat(src, "You need to wait [(player_cooldown - world.time) / 10] seconds before swooping again!") + to_chat(src, span_warning("You need to wait [(player_cooldown - world.time) / 10] seconds before swooping again!")) return swoop_attack(FALSE, A) lava_pools(10, 2) // less pools but longer delay before spawns diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 91b95b6f8f3..4cfe57af32b 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -204,7 +204,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/hierophant/proc/blink_spam(blink_counter, target_slowness, cross_counter) ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75) if(health < maxHealth * 0.5 && blink_counter > 1) - visible_message("\"Mx ampp rsx iwgeti.\"") + visible_message(span_hierophant("\"Mx ampp rsx iwgeti.\"")) var/oldcolor = color animate(src, color = "#660099", time = 6) SLEEP_CHECK_DEATH(6) @@ -225,7 +225,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/hierophant/proc/cross_blast_spam(blink_counter, target_slowness, cross_counter) ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75) - visible_message("\"Piezi mx rsalivi xs vyr.\"") + visible_message(span_hierophant("\"Piezi mx rsalivi xs vyr.\"")) blinking = TRUE var/oldcolor = color animate(src, color = "#660099", time = 6) @@ -245,7 +245,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/hierophant/proc/chaser_swarm(blink_counter, target_slowness, cross_counter) ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75) - visible_message("\"Mx gerrsx lmhi.\"") + visible_message(span_hierophant("\"Mx gerrsx lmhi.\"")) blinking = TRUE var/oldcolor = color animate(src, color = "#660099", time = 6) @@ -342,7 +342,7 @@ Difficulty: Hard B.damage = 30 animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out SLEEP_CHECK_DEATH(1) - visible_message("[src] fades out!") + visible_message(span_hierophant_warning("[src] fades out!")) density = FALSE SLEEP_CHECK_DEATH(2) forceMove(T) @@ -350,7 +350,7 @@ Difficulty: Hard animate(src, alpha = 255, time = 2, easing = EASE_IN) //fade IN SLEEP_CHECK_DEATH(1) density = TRUE - visible_message("[src] fades in!") + visible_message(span_hierophant_warning("[src] fades in!")) SLEEP_CHECK_DEATH(1) //at this point the blasts we made detonate blinking = FALSE @@ -392,14 +392,14 @@ Difficulty: Hard timeout_time-- if(timeout_time <= 0 && !did_reset) did_reset = TRUE - visible_message("\"Vixyvrmrk xs fewi...\"") + visible_message(span_hierophant_warning("\"Vixyvrmrk xs fewi...\"")) blink(spawned_beacon) adjustHealth(min((health - maxHealth) * 0.5, -250)) //heal for 50% of our missing health, minimum 10% of maximum health wander = FALSE if(health > maxHealth * 0.9) - visible_message("\"Vitemvw gsqtpixi. Stivexmrk ex qebmqyq ijjmgmirgc.\"") + visible_message(span_hierophant("\"Vitemvw gsqtpixi. Stivexmrk ex qebmqyq ijjmgmirgc.\"")) else - visible_message("\"Vitemvw gsqtpixi. Stivexmsrep ijjmgmirgc gsqtvsqmwih.\"") + visible_message(span_hierophant("\"Vitemvw gsqtpixi. Stivexmsrep ijjmgmirgc gsqtvsqmwih.\"")) /mob/living/simple_animal/hostile/megafauna/hierophant/death() if(health > 0 || stat == DEAD) @@ -407,8 +407,8 @@ Difficulty: Hard else set_stat(DEAD) blinking = TRUE //we do a fancy animation, release a huge burst(), and leave our staff. - visible_message("\"Mrmxmexmrk wipj-hiwxvygx wiuyirgi...\"") - visible_message("[src] shrinks, releasing a massive burst of energy!") + visible_message(span_hierophant("\"Mrmxmexmrk wipj-hiwxvygx wiuyirgi...\"")) + visible_message(span_hierophant_warning("[src] shrinks, releasing a massive burst of energy!")) var/list/stored_nearby = list() for(var/mob/living/L in view(7,src)) stored_nearby += L // store the people to grant the achievements to once we die @@ -420,8 +420,8 @@ Difficulty: Hard for(var/obj/item/W in L) if(!L.dropItemToGround(W)) qdel(W) - visible_message("\"[pick(kill_phrases)]\"") - visible_message("[src] annihilates [L]!","You annihilate [L], restoring your health!") + visible_message(span_hierophant_warning("\"[pick(kill_phrases)]\"")) + visible_message(span_hierophant_warning("[src] annihilates [L]!"),span_userdanger("You annihilate [L], restoring your health!")) adjustHealth(-L.maxHealth*0.5) L.dust() @@ -434,7 +434,7 @@ Difficulty: Hard var/targets_the_same = (new_target == target) . = ..() if(. && target && !targets_the_same) - visible_message("\"[pick(target_phrases)]\"") + visible_message(span_hierophant_warning("\"[pick(target_phrases)]\"")) if(spawned_beacon && loc == spawned_beacon.loc && did_reset) arena_trap(src) @@ -687,7 +687,7 @@ Difficulty: Hard if(L.client) flash_color(L.client, "#660099", 1) playsound(L,'sound/weapons/sear.ogg', 50, TRUE, -4) - to_chat(L, "You're struck by a [name]!") + to_chat(L, span_userdanger("You're struck by a [name]!")) var/limb_to_hit = L.get_bodypart(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) var/armor = L.run_armor_check(limb_to_hit, MELEE, "Your armor absorbs [src]!", "Your armor blocks part of [src]!", FALSE, 50, "Your armor was penetrated by [src]!") L.apply_damage(damage, BURN, limb_to_hit, armor, wound_bonus=CANT_WOUND) @@ -709,7 +709,7 @@ Difficulty: Hard var/mob/living/occupant = O if(friendly_fire_check && caster?.faction_check_mob(occupant)) continue - to_chat(occupant, "Your [M.name] is struck by a [name]!") + to_chat(occupant, span_userdanger("Your [M.name] is struck by a [name]!")) playsound(M,'sound/weapons/sear.ogg', 50, TRUE, -4) M.take_damage(damage, BURN, 0, 0) @@ -739,16 +739,16 @@ Difficulty: Hard if(istype(I, /obj/item/hierophant_club)) var/obj/item/hierophant_club/H = I if(H.beacon == src) - to_chat(user, "You start removing your hierophant beacon...") + to_chat(user, span_notice("You start removing your hierophant beacon...")) if(do_after(user, 50, target = src)) playsound(src,'sound/magic/blind.ogg', 200, TRUE, -4) new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(src), user) - to_chat(user, "You collect [src], reattaching it to the club!") + to_chat(user, span_hierophant_warning("You collect [src], reattaching it to the club!")) H.beacon = null H.update_appearance() user.update_action_buttons_icon() qdel(src) else - to_chat(user, "You touch the beacon with the club, but nothing happens.") + to_chat(user, span_hierophant_warning("You touch the beacon with the club, but nothing happens.")) else return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 3bf5cc2901a..724623912be 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -117,7 +117,7 @@ ///Attack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player. /mob/living/simple_animal/hostile/megafauna/legion/proc/charge_target() - visible_message("[src] charges!") + visible_message(span_warning("[src] charges!")) SpinAnimation(speed = 20, loops = 3, parallel = FALSE) ranged = FALSE retreat_distance = 0 @@ -234,7 +234,7 @@ pixel_y = 0 maxHealth = 200 adjustHealth(0) //Make the health HUD look correct. - visible_message("This is getting out of hands. Now there are three of them!") + visible_message(span_boldannounce("This is getting out of hands. Now there are three of them!")) for(var/i in 1 to 2) //Create three skulls in total var/mob/living/simple_animal/hostile/megafauna/legion/L = new(loc) L.setVarsAfterSplit(src) @@ -275,13 +275,13 @@ /obj/item/staff/storm/attack_self(mob/user) if(storm_nextuse > world.time) - to_chat(user, "The staff is still recharging!") + to_chat(user, span_warning("The staff is still recharging!")) return var/area/user_area = get_area(user) var/turf/user_turf = get_turf(user) if(!user_area || !user_turf || (user_area.type in excluded_areas)) - to_chat(user, "Something is preventing you from using the staff here.") + to_chat(user, span_warning("Something is preventing you from using the staff here.")) return var/datum/weather/A for(var/V in SSweather.processing) @@ -293,10 +293,10 @@ if(A) if(A.stage != END_STAGE) if(A.stage == WIND_DOWN_STAGE) - to_chat(user, "The storm is already ending! It would be a waste to use the staff now.") + to_chat(user, span_warning("The storm is already ending! It would be a waste to use the staff now.")) return - user.visible_message("[user] holds [src] skywards as an orange beam travels into the sky!", \ - "You hold [src] skyward, dispelling the storm!") + user.visible_message(span_warning("[user] holds [src] skywards as an orange beam travels into the sky!"), \ + span_notice("You hold [src] skyward, dispelling the storm!")) playsound(user, 'sound/magic/staff_change.ogg', 200, FALSE) A.wind_down() log_game("[user] ([key_name(user)]) has dispelled a storm at [AREACOORD(user_turf)]") @@ -311,8 +311,8 @@ A.telegraph_duration = storm_telegraph_duration A.end_duration = storm_duration - user.visible_message("[user] holds [src] skywards as red lightning crackles into the sky!", \ - "You hold [src] skyward, calling down a terrible storm!") + user.visible_message(span_warning("[user] holds [src] skywards as red lightning crackles into the sky!"), \ + span_notice("You hold [src] skyward, calling down a terrible storm!")) playsound(user, 'sound/magic/staff_change.ogg', 200, FALSE) A.telegraph() storm_nextuse = world.time + staff_cooldown diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 3430df11b90..0ff91d98d06 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -135,8 +135,8 @@ if(!L) return FALSE visible_message( - "[src] devours [L]!", - "You feast on [L], restoring your health!") + span_danger("[src] devours [L]!"), + span_userdanger("You feast on [L], restoring your health!")) if(!is_station_level(z) || client) //NPC monsters won't heal while on station adjustBruteLoss(-L.maxHealth/2) L.gib() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 95ee2fd1c91..dc58644c5d9 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -152,7 +152,7 @@ Difficulty: Hard for(var/mob/living/L in stomp_turf) if(L == source || L.throwing) continue - to_chat(L, "[source]'s ground slam shockwave sends you flying!") + to_chat(L, span_userdanger("[source]'s ground slam shockwave sends you flying!")) var/turf/thrownat = get_ranged_target_turf_direct(source, L, throw_range, rand(-10, 10)) L.throw_at(thrownat, 8, 2, null, TRUE, force = MOVE_FORCE_OVERPOWERING, gentle = TRUE) L.apply_damage(20, BRUTE, wound_bonus=CANT_WOUND) @@ -206,7 +206,7 @@ Difficulty: Hard animate(pixel_z = 0, time = 1) for(var/mob/living/dizzy_target in get_hearers_in_view(7, src) - src) dizzy_target.Dizzy(6) - to_chat(dizzy_target, "The wendigo screams loudly!") + to_chat(dizzy_target, span_danger("The wendigo screams loudly!")) SLEEP_CHECK_DEATH(1 SECONDS) spiral_attack() SetRecoveryTime(3 SECONDS) @@ -303,7 +303,7 @@ Difficulty: Hard var/mob/living/carbon/human/human_user = user if(!human_user.mind) return - to_chat(human_user, "Power courses through you! You can now shift your form at will.") + to_chat(human_user, span_danger("Power courses through you! You can now shift your form at will.")) var/obj/effect/proc_holder/spell/targeted/shapeshift/polar_bear/transformation_spell = new human_user.mind.AddSpell(transformation_spell) playsound(human_user.loc, 'sound/items/drink.ogg', rand(10,50), TRUE) diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 85ab7a0a9cc..3a561f62405 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -75,8 +75,8 @@ if(prob(15) && iscarbon(target)) var/mob/living/carbon/C = target C.Paralyze(40) - C.visible_message("\The [src] knocks down \the [C]!", \ - "\The [src] knocks you down!") + C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \ + span_userdanger("\The [src] knocks you down!")) /mob/living/simple_animal/hostile/mimic/crate/proc/trigger() if(!attempt_open) @@ -184,8 +184,8 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca if(knockdown_people && . && prob(15) && iscarbon(target)) var/mob/living/carbon/C = target C.Paralyze(40) - C.visible_message("\The [src] knocks down \the [C]!", \ - "\The [src] knocks you down!") + C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \ + span_userdanger("\The [src] knocks you down!")) /mob/living/simple_animal/hostile/mimic/copy/machine speak = list( @@ -258,7 +258,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca Pewgun.chambered.update_appearance() ..() else - visible_message("The [src] clears a jam!") + visible_message(span_danger("The [src] clears a jam!")) Pewgun.chambered.forceMove(loc) //rip revolver immersions, blame shotgun snowflake procs Pewgun.chambered = null if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) @@ -268,7 +268,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca 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) - visible_message("The [src] cocks itself!") + visible_message(span_danger("The [src] cocks itself!")) else ranged = 0 //BANZAIIII retreat_distance = 0 @@ -403,6 +403,6 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca var/mob/living/simple_animal/hostile/mimic/xenobio/M = owner M.locked = !M.locked if(!M.locked) - to_chat(M, "You loosen up, allowing yourself to be opened and closed.") + to_chat(M, span_warning("You loosen up, allowing yourself to be opened and closed.")) else - to_chat(M, "You stiffen up, preventing anyone from opening or closing you.") + to_chat(M, span_warning("You stiffen up, preventing anyone from opening or closing you.")) 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 eec9f026d47..83836b7e492 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 @@ -73,9 +73,9 @@ /mob/living/simple_animal/hostile/asteroid/basilisk/AttackingTarget() . = ..() if(lava_drinker && !warmed_up && istype(target, /turf/open/lava)) - visible_message("[src] begins to drink from [target]...") + visible_message(span_warning("[src] begins to drink from [target]...")) if(do_after(src, 70, target = target)) - visible_message("[src] begins to fire up!") + visible_message(span_warning("[src] begins to fire up!")) fully_heal() icon_state = "Basilisk_alert" set_varspeed(0) @@ -84,7 +84,7 @@ addtimer(CALLBACK(src, .proc/cool_down), 3000) /mob/living/simple_animal/hostile/asteroid/basilisk/proc/cool_down() - visible_message("[src] appears to be cooling down...") + visible_message(span_warning("[src] appears to be cooling down...")) if(stat != DEAD) icon_state = "Basilisk" set_varspeed(3) @@ -141,13 +141,13 @@ distanced = get_dist(loc,diamonds.loc) if(distanced <= 1 && diamonds) qdel(diamonds) - src.visible_message("[src] consumes [diamonds], and it disappears! ...At least, you think.") + src.visible_message(span_notice("[src] consumes [diamonds], and it disappears! ...At least, you think.")) if(bait) var/distanceb = 0 distanceb = get_dist(loc,bait.loc) if(distanceb <= 1 && bait) qdel(bait) - src.visible_message("[src] examines [bait] closer, and telekinetically shatters the pen.") + src.visible_message(span_notice("[src] examines [bait] closer, and telekinetically shatters the pen.")) /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index cf854339162..80c03dc99cc 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -139,7 +139,7 @@ While using this makes the system rely on OnFire, it still gives options for tim switch(activity) if(TUMOR_PASSIVE) activity = TUMOR_ACTIVE - visible_message("[src] convulses as your arm enters its radius. Your instincts tell you to step back.") + visible_message(span_boldwarning("[src] convulses as your arm enters its radius. Your instincts tell you to step back.")) activator = user if(boosted) mychild.playsound_local(get_turf(mychild), 'sound/effects/magic.ogg', 40, 0) @@ -149,28 +149,28 @@ While using this makes the system rely on OnFire, it still gives options for tim if(TUMOR_INACTIVE) activity = TUMOR_ACTIVE var/mob/dead/observer/elitemind = null - visible_message("[src] begins to convulse. Your instincts tell you to step back.") + visible_message(span_boldwarning("[src] begins to convulse. Your instincts tell you to step back.")) activator = user if(!boosted) addtimer(CALLBACK(src, .proc/spawn_elite), 30) return - visible_message("Something within [src] stirs...") + visible_message(span_boldwarning("Something within [src] stirs...")) var/list/candidates = pollCandidatesForMob("Do you want to play as a lavaland elite?", ROLE_SENTIENCE, ROLE_SENTIENCE, 50, src, POLL_IGNORE_SENTIENCE_POTION) if(candidates.len) - audible_message("The stirring sounds increase in volume!") + audible_message(span_boldwarning("The stirring sounds increase in volume!")) elitemind = pick(candidates) elitemind.playsound_local(get_turf(elitemind), 'sound/effects/magic.ogg', 40, 0) to_chat(elitemind, "You have been chosen to play as a Lavaland Elite.\nIn a few seconds, you will be summoned on Lavaland as a monster to fight your activator, in a fight to the death.\nYour attacks can be switched using the buttons on the top left of the HUD, and used by clicking on targets or tiles similar to a gun.\nWhile the opponent might have an upper hand with powerful mining equipment and tools, you have great power normally limited by AI mobs.\nIf you want to win, you'll have to use your powers in creative ways to ensure the kill. It's suggested you try using them all as soon as possible.\nShould you win, you'll receive extra information regarding what to do after. Good luck!") addtimer(CALLBACK(src, .proc/spawn_elite, elitemind), 100) else - visible_message("The stirring stops, and nothing emerges. Perhaps try again later.") + visible_message(span_boldwarning("The stirring stops, and nothing emerges. Perhaps try again later.")) activity = TUMOR_INACTIVE activator = null /obj/structure/elite_tumor/proc/spawn_elite(mob/dead/observer/elitemind) var/selectedspawn = pick(potentialspawns) mychild = new selectedspawn(loc) - visible_message("[mychild] emerges from [src]!") + visible_message(span_boldwarning("[mychild] emerges from [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE) if(boosted) mychild.key = elitemind.key @@ -181,7 +181,7 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor/proc/return_elite() mychild.forceMove(loc) - visible_message("[mychild] emerges from [src]!") + visible_message(span_boldwarning("[mychild] emerges from [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE) mychild.revive(full_heal = TRUE, admin_revive = TRUE) if(boosted) @@ -212,7 +212,7 @@ While using this makes the system rely on OnFire, it still gives options for tim . = ..() if(istype(I, /obj/item/organ/regenerative_core) && activity == TUMOR_INACTIVE && !boosted) var/obj/item/organ/regenerative_core/core = I - visible_message("As [user] drops the core into [src], [src] appears to swell.") + visible_message(span_boldwarning("As [user] drops the core into [src], [src] appears to swell.")) icon_state = "advanced_tumor" boosted = TRUE set_light_range(6) @@ -249,17 +249,17 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor/proc/border_check() if(activator != null && get_dist(src, activator) >= 12) activator.forceMove(loc) - visible_message("[activator] suddenly reappears above [src]!") + visible_message(span_boldwarning("[activator] suddenly reappears above [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE) if(mychild != null && get_dist(src, mychild) >= 12) mychild.forceMove(loc) - visible_message("[mychild] suddenly reappears above [src]!") + visible_message(span_boldwarning("[mychild] suddenly reappears above [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE) /obj/structure/elite_tumor/proc/onEliteLoss() playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, TRUE, TRUE) - visible_message("[src] begins to convulse violently before beginning to dissipate.") - visible_message("As [src] closes, something is forced up from down below.") + visible_message(span_boldwarning("[src] begins to convulse violently before beginning to dissipate.")) + visible_message(span_boldwarning("As [src] closes, something is forced up from down below.")) var/obj/structure/closet/crate/necropolis/tendril/lootbox = new /obj/structure/closet/crate/necropolis/tendril(loc) if(!boosted) mychild = null @@ -285,7 +285,7 @@ While using this makes the system rely on OnFire, it still gives options for tim mychild.health = mychild.maxHealth if(times_won == 1) mychild.playsound_local(get_turf(mychild), 'sound/effects/magic.ogg', 40, 0) - to_chat(mychild, "As the life in the activator's eyes fade, the forcefield around you dies out and you feel your power subside.\nDespite this inferno being your home, you feel as if you aren't welcome here anymore.\nWithout any guidance, your purpose is now for you to decide.") + to_chat(mychild, span_boldwarning("As the life in the activator's eyes fade, the forcefield around you dies out and you feel your power subside.\nDespite this inferno being your home, you feel as if you aren't welcome here anymore.\nWithout any guidance, your purpose is now for you to decide.")) to_chat(mychild, "Your max health has been halved, but can now heal by standing on your tumor. Note, it's your only way to heal.\nBear in mind, if anyone interacts with your tumor, you'll be resummoned here to carry out another fight. In such a case, you will regain your full max health.\nAlso, be weary of your fellow inhabitants, they likely won't be happy to see you!") to_chat(mychild, "Note that you are a lavaland monster, and thus not allied to the station. You should not cooperate or act friendly with any station crew unless under extreme circumstances!") @@ -307,11 +307,11 @@ While using this makes the system rely on OnFire, it still gives options for tim if(istype(target, /mob/living/simple_animal/hostile/asteroid/elite) && proximity_flag) var/mob/living/simple_animal/hostile/asteroid/elite/E = target if(E.stat != DEAD || E.sentience_type != SENTIENCE_BOSS || !E.key) - user.visible_message("It appears [E] is unable to be revived right now. Perhaps try again later.") + user.visible_message(span_notice("It appears [E] is unable to be revived right now. Perhaps try again later.")) return E.faction = list("[REF(user)]") E.revive(full_heal = TRUE, admin_revive = TRUE) - user.visible_message("[user] stabs [E] with [src], reviving it.") + user.visible_message(span_notice("[user] stabs [E] with [src], reviving it.")) E.playsound_local(get_turf(E), 'sound/effects/magic.ogg', 40, 0) to_chat(E, "You have been revived by [user]. While you can't speak to them, you owe [user] a great debt. Assist [user.p_them()] in achieving [user.p_their()] goals, regardless of risk.Note that you now share the loyalties of [user]. You are expected not to intentionally sabotage their faction unless commanded to!") @@ -321,7 +321,7 @@ While using this makes the system rely on OnFire, it still gives options for tim E.sentience_type = SENTIENCE_ORGANIC qdel(src) else - to_chat(user, "[src] only works on the corpse of a sentient lavaland elite.") + to_chat(user, span_info("[src] only works on the corpse of a sentient lavaland elite.")) /obj/effect/temp_visual/elite_tumor_wall name = "magic wall" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index d486c00356f..fe59484cc1a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -116,26 +116,26 @@ var/tturf = get_turf(target) if(!isturf(tturf)) return - visible_message("[src] digs its tentacles under [target]!") + visible_message(span_warning("[src] digs its tentacles under [target]!")) new /obj/effect/temp_visual/goliath_tentacle/broodmother/patch(tturf, src) /mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/spawn_children(target) ranged_cooldown = world.time + 40 - visible_message("The ground churns behind [src]!") + visible_message(span_boldwarning("The ground churns behind [src]!")) for(var/i in 1 to 2) if(children_list.len >= 8) return var/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/newchild = new /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child(loc) newchild.GiveTarget(target) newchild.faction = faction.Copy() - visible_message("[newchild] appears below [src]!") + visible_message(span_boldwarning("[newchild] appears below [src]!")) newchild.mother = src children_list += newchild /mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/rage() ranged_cooldown = world.time + 100 playsound(src,'sound/spookoween/insane_low_laugh.ogg', 200, 1) - visible_message("[src] starts picking up speed!") + visible_message(span_warning("[src] starts picking up speed!")) color = "#FF0000" set_varspeed(0) move_to_delay = 3 @@ -148,7 +148,7 @@ /mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/call_children() ranged_cooldown = world.time + 60 - visible_message("The ground shakes near [src]!") + visible_message(span_warning("The ground shakes near [src]!")) var/list/directions = GLOB.cardinals.Copy() + GLOB.diagonals.Copy() for(var/mob/child in children_list) var/spawndir = pick_n_take(directions) @@ -191,14 +191,14 @@ if(!isturf(tturf)) return if(get_dist(src, target) <= 7)//Screen range check, so it can't attack people off-screen - visible_message("[src] digs one of its tentacles under [target]!") + visible_message(span_warning("[src] digs one of its tentacles under [target]!")) new /obj/effect/temp_visual/goliath_tentacle/broodmother(tturf, src) /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/death() . = ..() if(mother != null) mother.children_list -= src - visible_message("[src] explodes!") + visible_message(span_warning("[src] explodes!")) explosion(src, flame_range = 3, adminlog = FALSE) gib() @@ -208,7 +208,7 @@ for(var/mob/living/L in loc) if((!QDELETED(spawner) && spawner.faction_check_mob(L)) || L.stat == DEAD) continue - visible_message("[src] grabs hold of [L]!") + visible_message(span_danger("[src] grabs hold of [L]!")) L.Stun(10) L.adjustBruteLoss(rand(30,35)) latched = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index bf628771a41..c876abf081e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -273,7 +273,7 @@ . = ..() if(rand(1,100) > hit_reaction_chance) return - owner.visible_message("[owner]'s [src] emits a loud noise as [owner] is struck!") + owner.visible_message(span_danger("[owner]'s [src] emits a loud noise as [owner] is struck!")) var/static/list/directional_shot_angles = list(0, 45, 90, 135, 180, 225, 270, 315) playsound(get_turf(owner), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) addtimer(CALLBACK(src, .proc/reactionshot, owner), 10) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index 44f97e22a59..4018070d179 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -122,7 +122,7 @@ new /obj/effect/temp_visual/dragon_swoop/legionnaire(T) T = get_step(T, dir_to_target) playsound(src,'sound/magic/demon_attack1.ogg', 200, 1) - visible_message("[src] prepares to charge!") + visible_message(span_boldwarning("[src] prepares to charge!")) addtimer(CALLBACK(src, .proc/legionnaire_charge_2, dir_to_target, 0), 4) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/legionnaire_charge_2(move_dir, times_ran) @@ -151,8 +151,8 @@ if(faction_check_mob(L)) return hit_things += L - visible_message("[src] tramples and kicks [L]!") - to_chat(L, "[src] tramples you and kicks you away!") + visible_message(span_boldwarning("[src] tramples and kicks [L]!")) + to_chat(L, span_userdanger("[src] tramples you and kicks you away!")) L.safe_throw_at(throwtarget, 10, 1, src) L.Paralyze(20) L.adjustBruteLoss(melee_damage_upper) @@ -168,7 +168,7 @@ icon_state = "legionnaire_headless" icon_living = "legionnaire_headless" icon_aggro = "legionnaire_headless" - visible_message("[src]'s head flies off!") + visible_message(span_boldwarning("[src]'s head flies off!")) var/mob/living/simple_animal/hostile/asteroid/elite/legionnairehead/newhead = new /mob/living/simple_animal/hostile/asteroid/elite/legionnairehead(loc) newhead.GiveTarget(target) newhead.faction = faction.Copy() @@ -192,7 +192,7 @@ icon_state = "legionnaire" icon_living = "legionnaire" icon_aggro = "legionnaire" - visible_message("The top of [src]'s spine leaks a black liquid, forming into a skull!") + visible_message(span_boldwarning("The top of [src]'s spine leaks a black liquid, forming into a skull!")) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/bonfire_teleport() ranged_cooldown = world.time + 5 @@ -201,7 +201,7 @@ mypile = newpile mypile.myowner = src playsound(get_turf(src),'sound/items/fultext_deploy.ogg', 200, 1) - visible_message("[src] summons a bonfire on [get_turf(src)]!") + visible_message(span_boldwarning("[src] summons a bonfire on [get_turf(src)]!")) return else var/turf/legionturf = get_turf(src) @@ -212,9 +212,9 @@ return playsound(pileturf,'sound/items/fultext_deploy.ogg', 200, 1) playsound(legionturf,'sound/items/fultext_deploy.ogg', 200, 1) - visible_message("[src] melts down into a burning pile of bones!") + visible_message(span_boldwarning("[src] melts down into a burning pile of bones!")) forceMove(pileturf) - visible_message("[src] forms from the bonfire!") + visible_message(span_boldwarning("[src] forms from the bonfire!")) mypile.forceMove(legionturf) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/spew_smoke() @@ -225,11 +225,11 @@ else smoke_location = get_turf(src) if(myhead != null) - myhead.visible_message("[myhead] spews smoke from its maw!") + myhead.visible_message(span_boldwarning("[myhead] spews smoke from its maw!")) else if(!has_head) - visible_message("[src] spews smoke from the tip of their spine!") + visible_message(span_boldwarning("[src] spews smoke from the tip of their spine!")) else - visible_message("[src] spews smoke from its maw!") + visible_message(span_boldwarning("[src] spews smoke from its maw!")) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(2, smoke_location) smoke.start() @@ -338,10 +338,10 @@ return var/mob/living/LivingUser = user if(next_use_time > world.time) - LivingUser.visible_message("[LivingUser] shakes the [src], but nothing happens...") + LivingUser.visible_message(span_warning("[LivingUser] shakes the [src], but nothing happens...")) to_chat(LivingUser, "You need to wait longer to use this again.") return - LivingUser.visible_message("[LivingUser] shakes the [src] and summons a legion skull!") + LivingUser.visible_message(span_boldwarning("[LivingUser] shakes the [src] and summons a legion skull!")) var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/LegionSkull = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion(LivingUser.loc) LegionSkull.friends += LivingUser LegionSkull.faction = LivingUser.faction.Copy() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index 4e8ea8d0b16..4e3f3126ce3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -146,7 +146,7 @@ for(var/t in RANGE_TURFS(1, source)) new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(t, src) animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out - visible_message("[src] fades out!") + visible_message(span_hierophant_warning("[src] fades out!")) density = FALSE addtimer(CALLBACK(src, .proc/pandora_teleport_3, T), 2) @@ -154,7 +154,7 @@ forceMove(T) animate(src, alpha = 255, time = 2, easing = EASE_IN) //fade IN density = TRUE - visible_message("[src] fades in!") + visible_message(span_hierophant_warning("[src] fades in!")) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/aoe_squares(target) ranged_cooldown = world.time + cooldown_time diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index e5f6823cb87..07967ce1b57 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -73,20 +73,20 @@ return var/turf/T = get_turf(G) if (!istype(T, /turf/open/floor/plating/asteroid) || !do_after(G, 30, target = T)) - to_chat(G, "You can only burrow in and out of mining turfs and must stay still!") + to_chat(G, span_warning("You can only burrow in and out of mining turfs and must stay still!")) return if (get_dist(G, T) != 0) - to_chat(G, "Action cancelled, as you moved while reappearing.") + to_chat(G, span_warning("Action cancelled, as you moved while reappearing.")) return if(G.is_burrowed) holder = G.loc G.forceMove(T) QDEL_NULL(holder) G.is_burrowed = FALSE - G.visible_message("[G] emerges from the ground!") + G.visible_message(span_danger("[G] emerges from the ground!")) playsound(get_turf(G), 'sound/effects/break_stone.ogg', 50, TRUE, -1) else - G.visible_message("[G] buries into the ground, vanishing from sight!") + G.visible_message(span_danger("[G] buries into the ground, vanishing from sight!")) playsound(get_turf(G), 'sound/effects/break_stone.ogg', 50, TRUE, -1) holder = new /obj/effect/dummy/phased_mob(T) G.forceMove(holder) @@ -96,10 +96,10 @@ add_target(new_target) if(target != null) if(istype(target, /obj/item/stack/ore)) - visible_message("The [name] looks at [target.name] with hungry eyes.") + visible_message(span_notice("The [name] looks at [target.name] with hungry eyes.")) else if(isliving(target)) Aggro() - visible_message("The [name] tries to flee from [target.name]!") + visible_message(span_danger("The [name] tries to flee from [target.name]!")) retreat_distance = 10 minimum_distance = 10 if(will_burrow) @@ -122,18 +122,18 @@ return ..() /mob/living/simple_animal/hostile/asteroid/goldgrub/proc/barf_contents() - visible_message("[src] spits out its consumed ores!") + visible_message(span_danger("[src] spits out its consumed ores!")) playsound(src, 'sound/effects/splat.ogg', 50, TRUE) for(var/atom/movable/AM in src) AM.forceMove(loc) /mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Burrow()//Begin the chase to kill the goldgrub in time if(!stat) - visible_message("The [name] buries into the ground, vanishing from sight!") + visible_message(span_danger("The [name] buries into the ground, vanishing from sight!")) qdel(src) /mob/living/simple_animal/hostile/asteroid/goldgrub/bullet_act(obj/projectile/P) - visible_message("The [P.name] is repelled by [name]'s girth!") + visible_message(span_danger("The [P.name] is repelled by [name]'s girth!")) return BULLET_ACT_BLOCK /mob/living/simple_animal/hostile/asteroid/goldgrub/adjustHealth(amount, updating_health = TRUE, forced = FALSE) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index 1a90987b8e6..72814c0fb31 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -68,7 +68,7 @@ if(!isturf(tturf)) return if(get_dist(src, target) <= 7)//Screen range check, so you can't get tentacle'd offscreen - visible_message("[src] digs its tentacles under [target]!") + visible_message(span_warning("[src] digs its tentacles under [target]!")) new /obj/effect/temp_visual/goliath_tentacle/original(tturf, src) ranged_cooldown = world.time + ranged_cooldown_time icon_state = icon_aggro @@ -115,7 +115,7 @@ return ..() if(can_saddle && do_after(user,55,target=src)) - user.visible_message("You manage to put [O] on [src], you can now ride [p_them()].") + user.visible_message(span_notice("You manage to put [O] on [src], you can now ride [p_them()].")) qdel(O) saddled = TRUE can_buckle = TRUE @@ -123,7 +123,7 @@ add_overlay("goliath_saddled") AddElement(/datum/element/ridable, /datum/component/riding/creature/goliath) else - user.visible_message("[src] is rocking around! You can't put the saddle on!") + user.visible_message(span_warning("[src] is rocking around! You can't put the saddle on!")) ..() /mob/living/simple_animal/hostile/asteroid/goliath/beast/proc/tamed(mob/living/tamer) @@ -217,7 +217,7 @@ for(var/mob/living/L in loc) if((!QDELETED(spawner) && spawner.faction_check_mob(L)) || L.stat == DEAD) continue - visible_message("[src] grabs hold of [L]!") + visible_message(span_danger("[src] grabs hold of [L]!")) L.Stun(100) L.adjustBruteLoss(rand(10,15)) latched = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index e0ac82d86f2..909f63790bc 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -126,5 +126,5 @@ L.faction = faction L.setDir(dir) L.Stun(20, ignore_canstun = TRUE) - visible_message("[src] grows up into [L].") + visible_message(span_notice("[src] grows up into [L].")) qdel(src) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index b1a081b4954..33288aef981 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -143,7 +143,7 @@ dwarf_mob = TRUE /mob/living/simple_animal/hostile/asteroid/hivelord/legion/death(gibbed) - visible_message("The skulls on [src] wail in anger as they flee from their dying host!") + visible_message(span_warning("The skulls on [src] wail in anger as they flee from their dying host!")) var/turf/T = get_turf(src) if(T) if(stored_mob) @@ -213,9 +213,9 @@ ///Create a new legion using the supplied human H /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H) - visible_message("[name] burrows into the flesh of [H]!") + visible_message(span_warning("[name] burrows into the flesh of [H]!")) var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L = make_legion(H) - visible_message("[L] staggers to [L.p_their()] feet!") + visible_message(span_warning("[L] staggers to [L.p_their()] feet!")) H.death() H.adjustBruteLoss(1000) L.stored_mob = H diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm index 670b2b9859c..7a25e3f6df3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm @@ -39,7 +39,7 @@ if(COOLDOWN_FINISHED(src, charge_cooldown)) INVOKE_ASYNC(src, /mob/living/simple_animal/hostile/.proc/enter_charge, target) else - to_chat(src, "Your charge is still on cooldown!") + to_chat(src, span_notice("Your charge is still on cooldown!")) /mob/living/simple_animal/hostile/asteroid/lobstrosity/lava name = "tropical lobstrosity" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index e3ace991812..59f1553ac03 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -38,7 +38,7 @@ Aggro() if(P.damage < 30 && P.damage_type != BRUTE) P.damage = (P.damage / 3) - visible_message("[P] has a reduced effect on [src]!") + visible_message(span_danger("[P] has a reduced effect on [src]!")) ..() /mob/living/simple_animal/hostile/asteroid/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) //No floor tiling them to death, wiseguy @@ -47,7 +47,7 @@ if(!stat) Aggro() if(T.throwforce <= 20) - visible_message("The [T.name] [throw_message] [src.name]!") + visible_message(span_notice("The [T.name] [throw_message] [src.name]!")) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm index 5f95457b445..a34b8defbd2 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm @@ -42,7 +42,7 @@ rapid_melee = initial(rapid_melee) return if(!aggressive_message_said && target) - visible_message("The [name] gets an enraged look at [target]!") + visible_message(span_danger("The [name] gets an enraged look at [target]!")) aggressive_message_said = TRUE rapid_melee = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm index db92c29c377..61ce1ffea9c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm @@ -49,7 +49,7 @@ retreat_distance = initial(retreat_distance) return if(!retreat_message_said && target) - visible_message("The [name] tries to flee from [target]!") + visible_message(span_danger("The [name] tries to flee from [target]!")) retreat_message_said = TRUE retreat_distance = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 9b8128cff29..a4aaa508e1c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -45,9 +45,9 @@ /mob/living/simple_animal/hostile/mushroom/examine(mob/user) . = ..() if(health >= maxHealth) - . += "It looks healthy." + . += span_info("It looks healthy.") else - . += "It looks like it's been roughed up." + . += span_info("It looks like it's been roughed up.") /mob/living/simple_animal/hostile/mushroom/Life(delta_time = SSMOBS_DT, times_fired) ..() @@ -101,10 +101,10 @@ if(istype(user, /mob/living/simple_animal/hostile/mushroom) && stat == DEAD) var/mob/living/simple_animal/hostile/mushroom/shroom = user if(faint_ticker < 2) - shroom.visible_message("[shroom] chews a bit on [src].") + shroom.visible_message(span_notice("[shroom] chews a bit on [src].")) faint_ticker++ return TRUE - shroom.visible_message("[shroom] devours [src]!") + shroom.visible_message(span_warning("[shroom] devours [src]!")) var/level_gain = (powerlevel - shroom.powerlevel) if(level_gain >= -1 && !bruised && !shroom.ckey)//Player shrooms can't level up to become robust gods. if(level_gain < 1)//So we still gain a level if two mushrooms were the same level @@ -135,7 +135,7 @@ add_overlay(cap_living) /mob/living/simple_animal/hostile/mushroom/proc/Recover() - visible_message("[src] slowly begins to recover.") + visible_message(span_notice("[src] slowly begins to recover.")) faint_ticker = 0 revive(full_heal = TRUE, admin_revive = FALSE) UpdateMushroomCap() @@ -157,7 +157,7 @@ /mob/living/simple_animal/hostile/mushroom/proc/Bruise() if(!bruised && !stat) - src.visible_message("The [src.name] is bruised!") + src.visible_message(span_notice("The [src.name] is bruised!")) bruised = 1 /mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I, mob/user, params) @@ -166,7 +166,7 @@ Recover() qdel(I) else - to_chat(user, "[src] won't eat it!") + to_chat(user, span_warning("[src] won't eat it!")) return if(I.force) Bruise() diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 8ba8f999a51..86db07e79df 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -47,10 +47,10 @@ return var/turf/T = get_turf(N) if (N.can_be_seen(T) || !do_after(N, 60, target = T)) - to_chat(N, "You can't phase in or out while being observed and you must stay still!") + to_chat(N, span_warning("You can't phase in or out while being observed and you must stay still!")) return if (get_dist(N, T) != 0 || N.can_be_seen(T)) - to_chat(N, "Action cancelled, as you moved while reappearing or someone is now viewing your location.") + to_chat(N, span_warning("Action cancelled, as you moved while reappearing or someone is now viewing your location.")) return if(N.is_phased) holder = N.loc @@ -159,17 +159,17 @@ /obj/structure/spawner/nether/examine(mob/user) . = ..() if(isskeleton(user) || iszombie(user)) - . += "A direct link to another dimension full of creatures very happy to see you. You can see your house from here!" + . += "A direct link to another dimension full of creatures very happy to see you. [span_nicegreen("You can see your house from here!")]" else - . += "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea." + . += "A direct link to another dimension full of creatures not very happy to see you. [span_warning("Entering the link would be a very bad idea.")]" /obj/structure/spawner/nether/attack_hand(mob/user, list/modifiers) . = ..() if(isskeleton(user) || iszombie(user)) - to_chat(user, "You don't feel like going home yet...") + to_chat(user, span_notice("You don't feel like going home yet...")) else - user.visible_message("[user] is violently pulled into the link!", \ - "Touching the portal, you are quickly pulled through into a world of unimaginable horror!") + user.visible_message(span_warning("[user] is violently pulled into the link!"), \ + span_userdanger("Touching the portal, you are quickly pulled through into a world of unimaginable horror!")) contents.Add(user) /obj/structure/spawner/nether/process(delta_time) @@ -183,5 +183,5 @@ blank = new(loc) blank.name = "[M]" blank.desc = "It's [M], but [M.p_their()] flesh has an ashy texture, and [M.p_their()] face is featureless save an eerie smile." - src.visible_message("[M] reemerges from the link!") + src.visible_message(span_warning("[M] reemerges from the link!")) qdel(M) diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.dm b/code/modules/mob/living/simple_animal/hostile/ooze.dm index 2b51b955f16..7336df660bb 100644 --- a/code/modules/mob/living/simple_animal/hostile/ooze.dm +++ b/code/modules/mob/living/simple_animal/hostile/ooze.dm @@ -93,7 +93,7 @@ ///Tries to transfer the atoms reagents then delete it /mob/living/simple_animal/hostile/ooze/proc/eat_atom(obj/item/eaten_atom) eaten_atom.reagents.trans_to(src, eaten_atom.reagents.total_volume, transfered_by = src) - src.visible_message("You eat [eaten_atom].") + src.visible_message("You start feel a lot quicker.") + to_chat(ooze, span_notice("You start feel a lot quicker.")) active = TRUE ooze.adjust_ooze_nutrition(-10) @@ -188,7 +188,7 @@ /datum/action/cooldown/metabolicboost/proc/FinishSpeedup(timerid) var/mob/living/simple_animal/hostile/ooze/ooze = owner ooze.remove_movespeed_modifier(/datum/movespeed_modifier/metabolicboost) - to_chat(ooze, "You start slowing down again.") + to_chat(ooze, span_notice("You start slowing down again.")) deltimer(timerid) active = FALSE StartCooldown() @@ -222,18 +222,18 @@ return var/mob/living/simple_animal/hostile/ooze/gelatinous/ooze = owner if(!isliving(ooze.pulling)) - to_chat(src, "You need to be pulling a creature for this to work!") + to_chat(src, span_warning("You need to be pulling a creature for this to work!")) return FALSE if(vored_mob) - to_chat(src, "You are already consuming another creature!") + to_chat(src, span_warning("You are already consuming another creature!")) return FALSE - owner.visible_message("You start attempting to devour [target].") + owner.visible_message("This creature isn't to my tastes!") + to_chat(src, span_warning("This creature isn't to my tastes!")) return FALSE start_consuming(eat_target) @@ -243,7 +243,7 @@ vored_mob.forceMove(owner) ///AAAAAAAAAAAAAAAAAAAAAAHHH!!! RegisterSignal(vored_mob, COMSIG_PARENT_PREQDELETED, .proc/handle_mob_deletion) playsound(owner,'sound/items/eatfood.ogg', rand(30,50), TRUE) - owner.visible_message("You devour [target].") + owner.visible_message("You puke out [vored_mob].") + owner.visible_message("This ability is still on cooldown.") + to_chat(user, span_notice("This ability is still on cooldown.")) return if(active) - message = "You stop preparing your mending globules." + message = span_notice("You stop preparing your mending globules.") remove_ranged_ability(message) else - message = "You prepare to launch a mending globule. Left-click to fire at a target!" + message = span_notice("You prepare to launch a mending globule. Left-click to fire at a target!") add_ranged_ability(user, message, TRUE) /obj/effect/proc_holder/globules/InterceptClickOn(mob/living/caller, params, atom/target) @@ -359,11 +359,11 @@ var/mob/living/simple_animal/hostile/ooze/ooze = ranged_ability_user if(ooze.ooze_nutrition < 5) - to_chat(ooze, "You need at least 5 nutrition to launch a mending globule.") + to_chat(ooze, span_warning("You need at least 5 nutrition to launch a mending globule.")) remove_ranged_ability() return - ooze.visible_message("You launch a mending globule.") + ooze.visible_message("You need to be pulling an intelligent enough creature to assist it with a cocoon!") + to_chat(src, span_warning("You need to be pulling an intelligent enough creature to assist it with a cocoon!")) return FALSE - owner.visible_message("You start attempting to put [target] into a gel cocoon.") + owner.visible_message("[owner] has put [target] into a gel cocoon!", "You put [target] into a gel cocoon.") + owner.visible_message("You see [user] breaking out of [src]!", \ - "You start tearing the soft tissue of the gel cocoon") + user.visible_message(span_notice("You see [user] breaking out of [src]!"), \ + span_notice("You start tearing the soft tissue of the gel cocoon")) if(!do_after(user, 1.5 SECONDS, target = src)) return FALSE dump_inhabitant() @@ -495,7 +495,7 @@ inhabitant.forceMove(get_turf(src)) playsound(get_turf(inhabitant), 'sound/effects/splat.ogg', 50, TRUE) inhabitant.Paralyze(10) - inhabitant.visible_message("You fall out of [src].") + inhabitant.visible_message("You are an independent, invasive force on the station! Horde coins, trash, cheese, and the like from the safety of darkness!") + to_chat(src, span_notice("You are an independent, invasive force on the station! Horde coins, trash, cheese, and the like from the safety of darkness!")) /mob/living/simple_animal/hostile/regalrat/handle_automated_action() if(prob(20)) @@ -79,11 +79,11 @@ if(istype(user,/mob/living/simple_animal/hostile/rat)) var/mob/living/simple_animal/hostile/rat/ratself = user if(ratself.faction_check_mob(src, TRUE)) - . += "This is your king. Long live his majesty!" + . += span_notice("This is your king. Long live his majesty!") else - . += "This is a false king! Strike him down!" + . += span_warning("This is a false king! Strike him down!") else if(user != src && istype(user,/mob/living/simple_animal/hostile/regalrat)) - . += "Who is this foolish false king? This will not stand!" + . += span_warning("Who is this foolish false king? This will not stand!") /mob/living/simple_animal/hostile/regalrat/handle_environment(datum/gas_mixture/environment) . = ..() @@ -103,10 +103,10 @@ return if (target.reagents && target.is_injectable(src, allowmobs = TRUE)) - src.visible_message("[src] starts licking [target] passionately!","You start licking [target]...") + src.visible_message(span_warning("[src] starts licking [target] passionately!"),span_notice("You start licking [target]...")) if (do_mob(src, target, 2 SECONDS, interaction_key = "regalrat")) target.reagents.add_reagent(/datum/reagent/rat_spit,rand(1,3),no_react = TRUE) - to_chat(src, "You finish licking [target].") + to_chat(src, span_notice("You finish licking [target].")) else SEND_SIGNAL(target, COMSIG_RAT_INTERACT, src) @@ -124,7 +124,7 @@ heal_bodypart_damage(amount) qdel(target) else - to_chat(src, "You feel fine, no need to eat anything!") + to_chat(src, span_warning("You feel fine, no need to eat anything!")) /mob/living/simple_animal/hostile/regalrat/controlled/Initialize() . = ..() @@ -191,12 +191,12 @@ qdel(M) if(!something_from_nothing) if(LAZYLEN(SSmobs.cheeserats) >= cap) - to_chat(owner,"There's too many mice on this station to beckon a new one! Find them first!") + to_chat(owner,span_warning("There's too many mice on this station to beckon a new one! Find them first!")) return new /mob/living/simple_animal/mouse(owner.loc) - owner.visible_message("[owner] commands a mouse to its side!") + owner.visible_message(span_warning("[owner] commands a mouse to its side!")) else - owner.visible_message("[owner] commands its army to action, mutating them into rats!") + owner.visible_message(span_warning("[owner] commands its army to action, mutating them into rats!")) StartCooldown() /mob/living/simple_animal/hostile/rat @@ -247,7 +247,7 @@ /mob/living/simple_animal/hostile/rat/revive(full_heal = FALSE, admin_revive = FALSE) var/cap = CONFIG_GET(number/ratcap) if(!admin_revive && !ckey && LAZYLEN(SSmobs.cheeserats) >= cap) - visible_message("[src] twitched but does not continue moving due to the overwhelming rodent population on the station!") + visible_message(span_warning("[src] twitched but does not continue moving due to the overwhelming rodent population on the station!")) return FALSE . = ..() if(.) @@ -258,15 +258,15 @@ if(istype(user,/mob/living/simple_animal/hostile/rat)) var/mob/living/simple_animal/hostile/rat/ratself = user if(ratself.faction_check_mob(src, TRUE)) - . += "You both serve the same king." + . += span_notice("You both serve the same king.") else - . += "This fool serves a different king!" + . += span_warning("This fool serves a different king!") else if(istype(user,/mob/living/simple_animal/hostile/regalrat)) var/mob/living/simple_animal/hostile/regalrat/ratking = user if(ratking.faction_check_mob(src, TRUE)) - . += "This rat serves under you." + . += span_notice("This rat serves under you.") else - . += "This peasant serves a different king! Strike him down!" + . += span_warning("This peasant serves a different king! Strike him down!") /mob/living/simple_animal/hostile/rat/CanAttack(atom/the_target) if(istype(the_target,/mob/living/simple_animal)) @@ -293,12 +293,12 @@ var/obj/structure/cable/C = locate() in F if(C && prob(15)) if(C.avail()) - visible_message("[src] chews through the [C]. It's toast!") + visible_message(span_warning("[src] chews through the [C]. It's toast!")) playsound(src, 'sound/effects/sparks2.ogg', 100, TRUE) C.deconstruct() death() else if(C?.avail()) - visible_message("[src] chews through the [C]. It looks unharmed!") + visible_message(span_warning("[src] chews through the [C]. It looks unharmed!")) playsound(src, 'sound/effects/sparks2.ogg', 100, TRUE) C.deconstruct() @@ -306,9 +306,9 @@ . = ..() if(istype(target, /obj/item/food/cheese)) if (health >= maxHealth) - to_chat(src, "You feel fine, no need to eat anything!") + to_chat(src, span_warning("You feel fine, no need to eat anything!")) return - to_chat(src, "You eat \the [src], restoring some health.") + to_chat(src, span_green("You eat \the [src], restoring some health.")) heal_bodypart_damage(maxHealth) qdel(target) @@ -330,23 +330,23 @@ ..() if(HAS_TRAIT(L, TRAIT_AGEUSIA)) return - to_chat(L, "This food has a funny taste!") + to_chat(L, span_notice("This food has a funny taste!")) /datum/reagent/rat_spit/overdose_start(mob/living/M) ..() var/mob/living/carbon/victim = M if (istype(victim)) - to_chat(victim, "With this last sip, you feel your body convulsing horribly from the contents you've ingested. As you contemplate your actions, you sense an awakened kinship with rat-kind and their newly risen leader!") + to_chat(victim, span_userdanger("With this last sip, you feel your body convulsing horribly from the contents you've ingested. As you contemplate your actions, you sense an awakened kinship with rat-kind and their newly risen leader!")) victim.faction |= "rat" victim.vomit() metabolization_rate = 10 * REAGENTS_METABOLISM /datum/reagent/rat_spit/on_mob_life(mob/living/carbon/C) if(prob(15)) - to_chat(C, "You feel queasy!") + to_chat(C, span_notice("You feel queasy!")) C.adjust_disgust(3) else if(prob(10)) - to_chat(C, "That food does not sit up well!") + to_chat(C, span_warning("That food does not sit up well!")) C.adjust_disgust(5) else if(prob(5)) C.vomit() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index 4000bc9c00b..d0ac02f733e 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -348,7 +348,7 @@ if(IS_EDIBLE(potential_food)) if(prank_pouch.len >= 8) - to_chat(src, "Your prank pouch is filled to the brim! You don't think you can swallow any more morsels right now.") + to_chat(src, span_warning("Your prank pouch is filled to the brim! You don't think you can swallow any more morsels right now.")) return FALSE return TRUE @@ -359,7 +359,7 @@ /obj/item/food/grown/tomato, /obj/item/food/meatclown) - visible_message("You eat [eaten_atom].") + visible_message("Your throat muscles relax.") + remove_ranged_ability(span_notice("Your throat muscles relax.")) else user.icon_state = "glutton_tongue" - add_ranged_ability(user, "Your throat muscles tense up. Left-click to regurgitate a funny morsel!", TRUE) + add_ranged_ability(user, span_notice("Your throat muscles tense up. Left-click to regurgitate a funny morsel!"), TRUE) /obj/effect/proc_holder/regurgitate/InterceptClickOn(mob/living/caller, params, atom/target) . = ..() @@ -424,7 +424,7 @@ if(!pouch_owner.prank_pouch.len) //active = FALSE pouch_owner.icon_state = "glutton" - remove_ranged_ability("Your prank pouch is empty,.") + remove_ranged_ability(span_notice("Your prank pouch is empty,.")) return var/obj/item/projected_morsel = pick(pouch_owner.prank_pouch) diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index 4090cea337d..2a2d47a7a31 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -110,7 +110,7 @@ if(consumed_mob.stat == DEAD) continue playsound(src, 'sound/effects/splat.ogg', 50, TRUE) - visible_message("[src] vomits up [consumed_mob]!") + visible_message(span_danger("[src] vomits up [consumed_mob]!")) consumed_mob.forceMove(loc) consumed_mob.Paralyze(50) if((rifts_charged == 3 || (SSshuttle.emergency.mode == SHUTTLE_DOCKED && rifts_charged > 0)) && !objective_complete) @@ -119,10 +119,10 @@ return riftTimer = min(riftTimer + 1, maxRiftTimer + 1) if(riftTimer == (maxRiftTimer - 60)) - to_chat(src, "You have a minute left to summon the rift! Get to it!") + to_chat(src, span_boldwarning("You have a minute left to summon the rift! Get to it!")) return if(riftTimer >= maxRiftTimer) - to_chat(src, "You've failed to summon the rift in a timely manner! You're being pulled back from whence you came!") + to_chat(src, span_boldwarning("You've failed to summon the rift in a timely manner! You're being pulled back from whence you came!")) destroy_rifts() playsound(src, 'sound/magic/demon_dies.ogg', 100, TRUE) QDEL_NULL(src) @@ -131,14 +131,14 @@ if(using_special) return if(target == src) - to_chat(src, "You almost bite yourself, but then decide against it.") + to_chat(src, span_warning("You almost bite yourself, but then decide against it.")) return if(istype(target, /turf/closed/wall)) if(tearing_wall) return tearing_wall = TRUE var/turf/closed/wall/thewall = target - to_chat(src, "You begin tearing through the wall...") + to_chat(src, span_warning("You begin tearing through the wall...")) playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) var/timetotear = 40 if(istype(target, /turf/closed/wall/r_wall)) @@ -153,7 +153,7 @@ if(isliving(target)) //Swallows corpses like a snake to regain health. var/mob/living/L = target if(L.stat == DEAD) - to_chat(src, "You begin to swallow [L] whole...") + to_chat(src, span_warning("You begin to swallow [L] whole...")) if(do_after(src, 30, target = L)) if(eat(L)) adjustHealth(-L.maxHealth * 0.5) @@ -205,10 +205,10 @@ /mob/living/simple_animal/hostile/space_dragon/proc/dragon_name() var/chosen_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN))) if(!chosen_name) - to_chat(src, "Not a valid name, please try again.") + to_chat(src, span_warning("Not a valid name, please try again.")) dragon_name() return - to_chat(src, "Your name is now [chosen_name], the feared Space Dragon.") + to_chat(src, span_notice("Your name is now [span_name("[chosen_name]")], the feared Space Dragon.")) fully_replace_character_name(null, chosen_name) /** @@ -220,12 +220,12 @@ /mob/living/simple_animal/hostile/space_dragon/proc/color_selection() chosen_color = input(src,"What would you like your color to be?","Choose Your Color", COLOR_WHITE) as color|null if(!chosen_color) //redo proc until we get a color - to_chat(src, "Not a valid color, please try again.") + to_chat(src, span_warning("Not a valid color, please try again.")) color_selection() return var/temp_hsv = RGBtoHSV(chosen_color) if(ReadHSV(temp_hsv)[3] < DARKNESS_THRESHOLD) - to_chat(src, "Invalid color. Your color is not bright enough.") + to_chat(src, span_danger("Invalid color. Your color is not bright enough.")) color_selection() return add_atom_colour(chosen_color, FIXED_COLOUR_PRIORITY) @@ -320,7 +320,7 @@ continue hit_list += L L.adjustFireLoss(30) - to_chat(L, "You're hit by [src]'s fire breath!") + to_chat(L, span_userdanger("You're hit by [src]'s fire breath!")) // deals damage to mechs for(var/obj/vehicle/sealed/mecha/M in T.contents) if(M in hit_list) @@ -339,7 +339,7 @@ /mob/living/simple_animal/hostile/space_dragon/proc/eat(atom/movable/A) if(A && A.loc != src) playsound(src, 'sound/magic/demon_attack1.ogg', 100, TRUE) - visible_message("[src] swallows [A] whole!") + visible_message(span_warning("[src] swallows [A] whole!")) A.forceMove(src) return TRUE return FALSE @@ -451,8 +451,8 @@ if(L == src) continue hit_things += L - visible_message("[L] is knocked back by the gust!") - to_chat(L, "You're knocked back by the gust!") + visible_message(span_boldwarning("[L] is knocked back by the gust!")) + to_chat(L, span_userdanger("You're knocked back by the gust!")) var/dir_to_target = get_dir(get_turf(src), get_turf(L)) var/throwtarget = get_edge_target_turf(target, dir_to_target) L.safe_throw_at(throwtarget, 10, 1, src) @@ -494,18 +494,18 @@ if(S.using_special) return if(S.riftTimer == -1) - to_chat(S, "Your death has left you unable to summon rifts!") + to_chat(S, span_warning("Your death has left you unable to summon rifts!")) return var/area/A = get_area(S) if(!(A.area_flags & VALID_TERRITORY)) - to_chat(S, "You can't summon a rift here! Try summoning somewhere secure within the station!") + to_chat(S, span_warning("You can't summon a rift here! Try summoning somewhere secure within the station!")) return for(var/obj/structure/carp_rift/rift in S.rift_list) var/area/RA = get_area(rift) if(RA == A) - to_chat(S, "You've already summoned a rift in this area! You have to summon again somewhere else!") + to_chat(S, span_warning("You've already summoned a rift in this area! You have to summon again somewhere else!")) return - to_chat(S, "You begin to open a rift...") + to_chat(S, span_warning("You begin to open a rift...")) if(do_after(S, 100, target = S)) for(var/obj/structure/carp_rift/c in S.loc.contents) return @@ -514,7 +514,7 @@ S.riftTimer = -1 CR.dragon = S S.rift_list += CR - to_chat(S, "The rift has been summoned. Prevent the crew from destroying it at all costs!") + to_chat(S, span_boldwarning("The rift has been summoned. Prevent the crew from destroying it at all costs!")) notify_ghosts("The Space Dragon has opened a rift!", source = CR, action = NOTIFY_ORBIT, flashwindow = FALSE, header = "Carp Rift Opened") qdel(src) @@ -561,12 +561,12 @@ /obj/structure/carp_rift/examine(mob/user) . = ..() if(time_charged < max_charge) - . += "It seems to be [(time_charged / max_charge) * 100]% charged." + . += span_notice("It seems to be [(time_charged / max_charge) * 100]% charged.") else - . += "This one is fully charged. In this state, it is poised to transport a much larger amount of carp than normal." + . += span_warning("This one is fully charged. In this state, it is poised to transport a much larger amount of carp than normal.") if(isobserver(user)) - . += "It has [carp_stored] carp available to spawn as." + . += span_notice("It has [carp_stored] carp available to spawn as.") /obj/structure/carp_rift/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) playsound(src, 'sound/magic/lightningshock.ogg', 50, TRUE) @@ -576,7 +576,7 @@ if(time_charged != max_charge + 1) dragon?.destroy_rifts() if(dragon) - to_chat(dragon, "A rift has been destroyed! You have failed, and find yourself weakened.") + to_chat(dragon, span_boldwarning("A rift has been destroyed! You have failed, and find yourself weakened.")) return ..() /obj/structure/carp_rift/process(delta_time) @@ -670,14 +670,14 @@ if(carp_ask == "No" || !src || QDELETED(src) || QDELETED(user)) return FALSE if(carp_stored <= 0) - to_chat(user, "The rift already summoned enough carp!") + to_chat(user, span_warning("The rift already summoned enough carp!")) return FALSE var/mob/living/simple_animal/hostile/carp/newcarp = new /mob/living/simple_animal/hostile/carp(loc) newcarp.key = user.key var/datum/antagonist/space_dragon/S = dragon.mind.has_antag_datum(/datum/antagonist/space_dragon) if(S) S.carp += newcarp.mind - to_chat(newcarp, "You have arrived in order to assist the space dragon with securing the rifts. Do not jeopardize the mission, and protect the rifts at all costs!") + to_chat(newcarp, span_boldwarning("You have arrived in order to assist the space dragon with securing the rifts. Do not jeopardize the mission, and protect the rifts at all costs!")) carp_stored-- if(carp_stored <= 0 && charge_state < CHARGE_COMPLETED) icon_state = "carp_rift" diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 99212de7829..b5c7dc386dd 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -79,7 +79,7 @@ /mob/living/simple_animal/hostile/statue/Move(turf/NewLoc) if(can_be_seen(NewLoc)) if(client) - to_chat(src, "You cannot move, there are eyes on you!") + to_chat(src, span_warning("You cannot move, there are eyes on you!")) return return ..() @@ -97,7 +97,7 @@ /mob/living/simple_animal/hostile/statue/AttackingTarget() if(can_be_seen(get_turf(loc))) if(client) - to_chat(src, "You cannot attack, there are eyes on you!") + to_chat(src, span_warning("You cannot attack, there are eyes on you!")) return FALSE else return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index c47e99d8d20..160e7009a14 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -134,7 +134,7 @@ /mob/living/simple_animal/hostile/syndicate/melee/bullet_act(obj/projectile/Proj) if(prob(projectile_deflect_chance)) - visible_message("[src] blocks [Proj] with its shield!") + visible_message(span_danger("[src] blocks [Proj] with its shield!")) return BULLET_ACT_BLOCK return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 09bc95ebc5c..4110f54cf09 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -71,8 +71,8 @@ var/mob/living/carbon/C = target if(prob(15)) C.Paralyze(60) - C.visible_message("\The [src] knocks down \the [C]!", \ - "\The [src] knocks you down!") + C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \ + span_userdanger("\The [src] knocks you down!")) /mob/living/simple_animal/hostile/tree/add_cell_sample() AddElement(/datum/element/swabable, CELL_LINE_TABLE_PINE, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) @@ -98,7 +98,7 @@ /mob/living/simple_animal/hostile/tree/festivus/attack_hand(mob/living/carbon/human/user, list/modifiers) . = ..() if(!user.combat_mode) - visible_message("[src] crackles with static electricity!") + visible_message(span_warning("[src] crackles with static electricity!")) for(var/obj/item/stock_parts/cell/C in range(2, get_turf(src))) C.give(75) for(var/mob/living/silicon/robot/R in range(2, get_turf(src))) diff --git a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm index 7e2a485fd38..6391df7baf7 100644 --- a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm +++ b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm @@ -65,12 +65,12 @@ /obj/effect/proc_holder/tentacle_slap/fire(mob/living/carbon/user) if(current_cooldown > world.time) - to_chat(user, "This ability is still on cooldown.") + to_chat(user, span_notice("This ability is still on cooldown.")) return if(active) - remove_ranged_ability("You stop preparing to tentacle slap.") + remove_ranged_ability(span_notice("You stop preparing to tentacle slap.")) else - add_ranged_ability(user, "You prepare your pimp-tentacle. Left-click to slap a target!", TRUE) + add_ranged_ability(user, span_notice("You prepare your pimp-tentacle. Left-click to slap a target!"), TRUE) /obj/effect/proc_holder/tentacle_slap/InterceptClickOn(mob/living/caller, params, atom/target) . = ..() @@ -89,7 +89,7 @@ var/mob/living/living_target = target - owner.visible_message("You slap [living_target] with your tentacle.") + owner.visible_message("The plant has borne fruit!") + visible_message(span_danger("The plant has borne fruit!")) new /mob/living/simple_animal/hostile/venus_human_trap(get_turf(src)) qdel(src) @@ -85,7 +85,7 @@ var/mob/living/L = AM if(!isvineimmune(L)) L.adjustBruteLoss(5) - to_chat(L, "You cut yourself on the thorny vines.") + to_chat(L, span_alert("You cut yourself on the thorny vines.")) /** * Venus Human Trap @@ -177,7 +177,7 @@ /mob/living/simple_animal/hostile/venus_human_trap/Login() . = ..() - to_chat(src, "You are a venus human trap! Protect the kudzu at all costs, and feast on those who oppose you!") + to_chat(src, span_boldwarning("You are a venus human trap! Protect the kudzu at all costs, and feast on those who oppose you!")) /mob/living/simple_animal/hostile/venus_human_trap/attack_ghost(mob/user) . = ..() @@ -200,7 +200,7 @@ if(plant_ask == "No" || QDELETED(src)) return if(key) - to_chat(user, "Someone else already took this plant!") + to_chat(user, span_warning("Someone else already took this plant!")) return key = user.key log_game("[key_name(src)] took control of [name].") diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index e9bcc28bffb..06b1f4737bf 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -86,13 +86,13 @@ /datum/action/innate/fugu/expand/Activate() var/mob/living/simple_animal/hostile/asteroid/fugu/F = owner if(F.wumbo) - to_chat(F, "YOU'RE ALREADY WUMBO!") + to_chat(F, span_warning("YOU'RE ALREADY WUMBO!")) return if(F.inflate_cooldown) - to_chat(F, "You need time to gather your strength!") + to_chat(F, span_warning("You need time to gather your strength!")) return if(HAS_TRAIT(F, TRAIT_FUGU_GLANDED)) - to_chat(F, "Something is interfering with your growth!") + to_chat(F, span_warning("Something is interfering with your growth!")) return F.wumbo = 1 F.icon_state = "Fugu1" @@ -149,10 +149,10 @@ var/mob/living/simple_animal/animal = target if(animal.stat == DEAD || HAS_TRAIT(animal, TRAIT_FAKEDEATH)) - to_chat(user, "[src] can only multiply strength, not grant it to the dead.") + to_chat(user, span_warning("[src] can only multiply strength, not grant it to the dead.")) return if(HAS_TRAIT(animal, TRAIT_FUGU_GLANDED)) - to_chat(user, "[animal] has already been affected by \a [src].") + to_chat(user, span_warning("[animal] has already been affected by \a [src].")) return ADD_TRAIT(animal, TRAIT_FUGU_GLANDED, type) @@ -163,5 +163,5 @@ animal.melee_damage_upper = max((animal.melee_damage_upper * 2), 10) animal.transform *= 2 animal.environment_smash |= ENVIRONMENT_SMASH_STRUCTURES | ENVIRONMENT_SMASH_RWALLS - to_chat(user, "You increase the size of [animal], giving [animal.p_them()] a surge of strength!") + to_chat(user, span_info("You increase the size of [animal], giving [animal.p_them()] a surge of strength!")) qdel(src) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 8233e59e937..a551d13c877 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -203,7 +203,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( return FALSE if (!istype(equipping, /obj/item/radio/headset)) - to_chat(user, "[equipping] won't fit!") + to_chat(user, span_warning("[equipping] won't fit!")) return FALSE return TRUE @@ -226,7 +226,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( parrot_source.ears = radio - to_chat(user, "You fit [radio] onto [source].") + to_chat(user, span_notice("You fit [radio] onto [source].")) parrot_source.available_channels.Cut() @@ -346,7 +346,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( adjustBruteLoss(-10) speak_chance *= 1.27 // 20 crackers to go from 1% to 100% speech_shuffle_rate += 10 - to_chat(user, "[src] eagerly devours the cracker.") + to_chat(user, span_notice("[src] eagerly devours the cracker.")) ..() return @@ -513,7 +513,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( if(!parrot_perch || parrot_interest.loc != parrot_perch.loc) held_item = parrot_interest parrot_interest.forceMove(src) - visible_message("[src] grabs [held_item]!", "You grab [held_item]!", "You hear the sounds of wings flapping furiously.") + visible_message(span_notice("[src] grabs [held_item]!"), span_notice("You grab [held_item]!"), span_hear("You hear the sounds of wings flapping furiously.")) parrot_interest = null parrot_state = PARROT_SWOOP | PARROT_RETURN @@ -691,7 +691,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( return -1 if(held_item) - to_chat(src, "You are already holding [held_item]!") + to_chat(src, span_warning("You are already holding [held_item]!")) return 1 for(var/obj/item/I in view(1,src)) @@ -704,10 +704,10 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( held_item = I I.forceMove(src) - visible_message("[src] grabs [held_item]!", "You grab [held_item]!", "You hear the sounds of wings flapping furiously.") + visible_message(span_notice("[src] grabs [held_item]!"), span_notice("You grab [held_item]!"), span_hear("You hear the sounds of wings flapping furiously.")) return held_item - to_chat(src, "There is nothing of interest to take!") + to_chat(src, span_warning("There is nothing of interest to take!")) return 0 /mob/living/simple_animal/parrot/proc/steal_from_mob() @@ -719,7 +719,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( return -1 if(held_item) - to_chat(src, "You are already holding [held_item]!") + to_chat(src, span_warning("You are already holding [held_item]!")) return 1 var/obj/item/stolen_item = null @@ -733,10 +733,10 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( if(stolen_item) C.transferItemToLoc(stolen_item, src, TRUE) held_item = stolen_item - visible_message("[src] grabs [held_item] out of [C]'s hand!", "You snag [held_item] out of [C]'s hand!", "You hear the sounds of wings flapping furiously.") + visible_message(span_notice("[src] grabs [held_item] out of [C]'s hand!"), span_notice("You snag [held_item] out of [C]'s hand!"), span_hear("You hear the sounds of wings flapping furiously.")) return held_item - to_chat(src, "There is nothing of interest to take!") + to_chat(src, span_warning("There is nothing of interest to take!")) return 0 /mob/living/simple_animal/parrot/verb/drop_held_item_player() @@ -761,7 +761,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( if(!held_item) if(src == usr) //So that other mobs won't make this message appear when they're bludgeoning you. - to_chat(src, "You have nothing to drop!") + to_chat(src, span_warning("You have nothing to drop!")) return 0 @@ -780,11 +780,11 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( var/obj/item/grenade/G = held_item G.forceMove(drop_location()) G.detonate() - to_chat(src, "You let go of [held_item]!") + to_chat(src, span_danger("You let go of [held_item]!")) held_item = null return 1 - to_chat(src, "You drop [held_item].") + to_chat(src, span_notice("You drop [held_item].")) held_item.forceMove(drop_location()) held_item = null @@ -806,7 +806,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( icon_state = icon_sit parrot_state = PARROT_PERCH return - to_chat(src, "There is no perch nearby to sit on!") + to_chat(src, span_warning("There is no perch nearby to sit on!")) return /mob/living/simple_animal/parrot/Moved(oldLoc, dir) @@ -831,12 +831,12 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( continue perch_on_human(H) return - to_chat(src, "There is nobody nearby that you can sit on!") + to_chat(src, span_warning("There is nobody nearby that you can sit on!")) else icon_state = icon_living parrot_state = PARROT_WANDER if(buckled) - to_chat(src, "You are no longer sitting on [buckled]'s shoulder.") + to_chat(src, span_notice("You are no longer sitting on [buckled]'s shoulder.")) buckled.unbuckle_mob(src, TRUE) buckled = null pixel_x = initial(pixel_x) @@ -853,7 +853,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( pixel_x = pick(-8,8) //pick left or right shoulder icon_state = icon_sit parrot_state = PARROT_PERCH - to_chat(src, "You sit on [H]'s shoulder.") + to_chat(src, span_notice("You sit on [H]'s shoulder.")) /mob/living/simple_animal/parrot/proc/toggle_mode() @@ -870,7 +870,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( else melee_damage_upper = parrot_damage_upper set_combat_mode(TRUE) - to_chat(src, "You will now [combat_mode ? "Harm" : "Help"] others.") + to_chat(src, span_notice("You will now [combat_mode ? "Harm" : "Help"] others.")) return /* @@ -1002,4 +1002,4 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( forceMove(H) H.ForceContractDisease(P, FALSE) parrot_interest = null - H.visible_message("[src] dive bombs into [H]'s chest and vanishes!", "[src] dive bombs into your chest, vanishing! This can't be good!") + H.visible_message(span_danger("[src] dive bombs into [H]'s chest and vanishes!"), span_userdanger("[src] dive bombs into your chest, vanishing! This can't be good!")) diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index 4333c5bcd5d..ea4d21e4226 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -58,10 +58,10 @@ if(health < maxHealth) adjustHealth(-25) Beam(user,icon_state="sendbeam", time = 4) - user.visible_message("[user] heals \the [src].", \ - "You heal [src], leaving [src] at [health]/[maxHealth] health.") + user.visible_message(span_danger("[user] heals \the [src]."), \ + span_cult("You heal [src], leaving [src] at [health]/[maxHealth] health.")) else - to_chat(user, "You cannot heal [src], as [p_theyre()] unharmed!") + to_chat(user, span_cult("You cannot heal [src], as [p_theyre()] unharmed!")) else if(src != user) return ..() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index a2b43fecd34..ec507c185dc 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -216,7 +216,7 @@ /mob/living/simple_animal/examine(mob/user) . = ..() if(stat == DEAD) - . += "Upon closer examination, [p_they()] appear[p_s()] to be dead." + . += span_deadsay("Upon closer examination, [p_they()] appear[p_s()] to be dead.") if(access_card) . += "There appears to be [icon2html(access_card, user)] \a [access_card] pinned to [p_them()]." diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 8fa9051284a..5afb8ac74a0 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -151,14 +151,14 @@ switch(stat) if(CONSCIOUS) if(stasis) - to_chat(src, "Nerve gas in the air has put you in stasis!") + to_chat(src, span_danger("Nerve gas in the air has put you in stasis!")) set_stat(UNCONSCIOUS) powerlevel = 0 rabid = FALSE regenerate_icons() if(UNCONSCIOUS, HARD_CRIT) if(!stasis) - to_chat(src, "You wake up from the stasis.") + to_chat(src, span_notice("You wake up from the stasis.")) set_stat(CONSCIOUS) regenerate_icons() diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index 0f93dfccc1a..dfc87f87121 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -76,31 +76,31 @@ if(isslime(M)) if(silent) return FALSE - to_chat(src, "I can't latch onto another slime...") + to_chat(src, span_warning("I can't latch onto another slime...")) return FALSE if(docile) if(silent) return FALSE - to_chat(src, "I'm not hungry anymore...") + to_chat(src, span_notice("I'm not hungry anymore...")) return FALSE if(stat) if(silent) return FALSE - to_chat(src, "I must be conscious to do this...") + to_chat(src, span_warning("I must be conscious to do this...")) return FALSE if(M.stat == DEAD) if(silent) return FALSE - to_chat(src, "This subject does not have a strong enough life energy...") + to_chat(src, span_warning("This subject does not have a strong enough life energy...")) return FALSE if(locate(/mob/living/simple_animal/slime) in M.buckled_mobs) if(silent) return FALSE - to_chat(src, "Another slime is already feeding on this subject...") + to_chat(src, span_warning("Another slime is already feeding on this subject...")) return FALSE return TRUE @@ -108,10 +108,10 @@ M.unbuckle_all_mobs(force=1) //Slimes rip other mobs (eg: shoulder parrots) off (Slimes Vs Slimes is already handled in CanFeedon()) if(M.buckle_mob(src, force=TRUE)) layer = M.layer+0.01 //appear above the target mob - M.visible_message("[name] latches onto [M]!", \ - "[name] latches onto [M]!") + M.visible_message(span_danger("[name] latches onto [M]!"), \ + span_userdanger("[name] latches onto [M]!")) else - to_chat(src, "I have failed to latch onto the subject!") + to_chat(src, span_warning("I have failed to latch onto the subject!")) /mob/living/simple_animal/slime/proc/Feedstop(silent = FALSE, living=1) if(buckled) @@ -121,8 +121,8 @@ "I am not satisified", "I can not feed from this subject", \ "I do not feel nourished", "This subject is not food")]!") if(!silent) - visible_message("[src] lets go of [buckled]!", \ - "I stopped feeding.") + visible_message(span_warning("[src] lets go of [buckled]!"), \ + span_notice("I stopped feeding.")) layer = initial(layer) buckled.unbuckle_mob(src,force=TRUE) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index f6f088d255b..e80ac89bdb1 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -282,8 +282,8 @@ return if(buckled) Feedstop(silent = TRUE) - visible_message("[M] pulls [src] off!", \ - "You pull [src] off!") + visible_message(span_danger("[M] pulls [src] off!"), \ + span_danger("You pull [src] off!")) return attacked += 5 if(nutrition >= 100) //steal some nutrition. negval handled in life() @@ -318,26 +318,26 @@ user.do_attack_animation(src, ATTACK_EFFECT_DISARM) if(buckled == user) if(prob(60)) - user.visible_message("[user] attempts to wrestle \the [name] off!", \ - "You attempt to wrestle \the [name] off!") + user.visible_message(span_warning("[user] attempts to wrestle \the [name] off!"), \ + span_danger("You attempt to wrestle \the [name] off!")) playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) else - user.visible_message("[user] manages to wrestle \the [name] off!", \ - "You manage to wrestle \the [name] off!") + user.visible_message(span_warning("[user] manages to wrestle \the [name] off!"), \ + span_notice("You manage to wrestle \the [name] off!")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) discipline_slime(user) else if(prob(30)) - buckled.visible_message("[user] attempts to wrestle \the [name] off of [buckled]!", \ - "[user] attempts to wrestle \the [name] off of you!") + buckled.visible_message(span_warning("[user] attempts to wrestle \the [name] off of [buckled]!"), \ + span_warning("[user] attempts to wrestle \the [name] off of you!")) playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) else - buckled.visible_message("[user] manages to wrestle \the [name] off of [buckled]!", \ - "[user] manage to wrestle \the [name] off of you!") + buckled.visible_message(span_warning("[user] manages to wrestle \the [name] off of [buckled]!"), \ + span_notice("[user] manage to wrestle \the [name] off of you!")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) discipline_slime(user) @@ -365,7 +365,7 @@ return 1 if(istype(W, /obj/item/stack/sheet/mineral/plasma) && !stat) //Let's you feed slimes plasma. add_friendship(user, 1) - to_chat(user, "You feed the slime the plasma. It chirps happily.") + to_chat(user, span_notice("You feed the slime the plasma. It chirps happily.")) var/obj/item/stack/sheet/mineral/plasma/S = W S.use(1) return @@ -374,7 +374,7 @@ if(prob(25)) user.do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) - to_chat(user, "[W] passes right through [src]!") + to_chat(user, span_danger("[W] passes right through [src]!")) return if(Discipline && prob(50)) // wow, buddy, why am I getting attacked?? Discipline = 0 @@ -387,7 +387,7 @@ if(istype(W, /obj/item/storage/bag/bio)) var/obj/item/storage/P = W if(!effectmod) - to_chat(user, "The slime is not currently being mutated.") + to_chat(user, span_warning("The slime is not currently being mutated.")) return var/hasOutput = FALSE //Have we outputted text? var/hasFound = FALSE //Have we found an extract to be added? @@ -398,23 +398,23 @@ applied++ hasFound = TRUE if(applied >= SLIME_EXTRACT_CROSSING_REQUIRED) - to_chat(user, "You feed the slime as many of the extracts from the bag as you can, and it mutates!") + to_chat(user, span_notice("You feed the slime as many of the extracts from the bag as you can, and it mutates!")) playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) spawn_corecross() hasOutput = TRUE break if(!hasOutput) if(!hasFound) - to_chat(user, "There are no extracts in the bag that this slime will accept!") + to_chat(user, span_warning("There are no extracts in the bag that this slime will accept!")) else - to_chat(user, "You feed the slime some extracts from the bag.") + to_chat(user, span_notice("You feed the slime some extracts from the bag.")) playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) return ..() /mob/living/simple_animal/slime/proc/spawn_corecross() var/static/list/crossbreeds = subtypesof(/obj/item/slimecross) - visible_message("[src] shudders, its mutated core consuming the rest of its body!") + visible_message(span_danger("[src] shudders, its mutated core consuming the rest of its body!")) playsound(src, 'sound/magic/smoke.ogg', 50, TRUE) var/crosspath for(var/X in crossbreeds) @@ -425,7 +425,7 @@ if(crosspath) new crosspath(loc) else - visible_message("The mutated core shudders, and collapses into a puddle, unable to maintain its form.") + visible_message(span_warning("The mutated core shudders, and collapses into a puddle, unable to maintain its form.")) qdel(src) /mob/living/simple_animal/slime/proc/apply_water() @@ -439,10 +439,10 @@ /mob/living/simple_animal/slime/examine(mob/user) . = list("*---------*\nThis is [icon2html(src, user)] \a [src]!") if (stat == DEAD) - . += "It is limp and unresponsive." + . += span_deadsay("It is limp and unresponsive.") else if (stat == UNCONSCIOUS || stat == HARD_CRIT) // Slime stasis - . += "It appears to be alive but unresponsive." + . += span_deadsay("It appears to be alive but unresponsive.") if (getBruteLoss()) . += "" if (getBruteLoss() < 40) @@ -459,10 +459,10 @@ . += "It is glowing gently with moderate levels of electrical activity." if(6 to 9) - . += "It is glowing brightly with high levels of electrical activity." + . += span_warning("It is glowing brightly with high levels of electrical activity.") if(10) - . += "It is radiating with massive levels of electrical activity!" + . += span_warning("It is radiating with massive levels of electrical activity!") . += "*---------*" diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index 34404c8d254..6e38ececef1 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -413,11 +413,11 @@ if(amount) //don't spam up the chat for continuous stuns if(priority_absorb_key["visible_message"] || priority_absorb_key["self_message"]) if(priority_absorb_key["visible_message"] && priority_absorb_key["self_message"]) - visible_message("[src][priority_absorb_key["visible_message"]]", "[priority_absorb_key["self_message"]]") + visible_message(span_warning("[src][priority_absorb_key["visible_message"]]"), span_boldwarning("[priority_absorb_key["self_message"]]")) else if(priority_absorb_key["visible_message"]) - visible_message("[src][priority_absorb_key["visible_message"]]") + visible_message(span_warning("[src][priority_absorb_key["visible_message"]]")) else if(priority_absorb_key["self_message"]) - to_chat(src, "[priority_absorb_key["self_message"]]") + to_chat(src, span_boldwarning("[priority_absorb_key["self_message"]]")) priority_absorb_key["stuns_absorbed"] += amount return TRUE diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm index 4c057e729c0..4e74666f39d 100644 --- a/code/modules/mob/living/taste.dm +++ b/code/modules/mob/living/taste.dm @@ -37,7 +37,7 @@ "defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\ "regrets","your soul","suffering","music","noise","blood","hunger","the american way") if(text_output != last_taste_text || last_taste_time + 100 < world.time) - to_chat(src, "You can taste [text_output].") + to_chat(src, span_notice("You can taste [text_output].")) // "something indescribable" -> too many tastes, not enough flavor. last_taste_time = world.time diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index bf6aa72c59b..3789f7977e0 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -11,35 +11,35 @@ if(!HAS_TRAIT(src, TRAIT_VENTCRAWLER_NUDE) && !HAS_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS)) return if(stat) - to_chat(src, "You must be conscious to do this!") + to_chat(src, span_warning("You must be conscious to do this!")) return if(HAS_TRAIT(src, TRAIT_IMMOBILIZED)) - to_chat(src, "You currently can't move into the vent!") + to_chat(src, span_warning("You currently can't move into the vent!")) return if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED)) - to_chat(src, "You need to be able to use your hands to ventcrawl!") + to_chat(src, span_warning("You need to be able to use your hands to ventcrawl!")) return if(has_buckled_mobs()) - to_chat(src, "You can't vent crawl with other creatures on you!") + to_chat(src, span_warning("You can't vent crawl with other creatures on you!")) return if(buckled) - to_chat(src, "You can't vent crawl while buckled!") + to_chat(src, span_warning("You can't vent crawl while buckled!")) return if(iscarbon(src) && required_nudity) if(length(get_equipped_items(include_pockets = TRUE)) || get_num_held_items()) - to_chat(src, "You can't crawl around in the ventilation ducts with items!") + to_chat(src, span_warning("You can't crawl around in the ventilation ducts with items!")) return if(ventcrawl_target.welded) - to_chat(src, "You can't crawl around a welded vent!") + to_chat(src, span_warning("You can't crawl around a welded vent!")) return if(vent_movement & VENTCRAWL_ENTRANCE_ALLOWED) //Handle the exit here if(HAS_TRAIT(src, TRAIT_MOVE_VENTCRAWLING) && istype(loc, /obj/machinery/atmospherics) && movement_type & VENTCRAWLING) - visible_message("[src] begins climbing out from the ventilation system..." ,"You begin climbing out from the ventilation system...") + visible_message(span_notice("[src] begins climbing out from the ventilation system...") ,span_notice("You begin climbing out from the ventilation system...")) if(!client) return - visible_message("[src] scrambles out from the ventilation ducts!","You out from the ventilation ducts.") + visible_message(span_notice("[src] scrambles out from the ventilation ducts!"),span_notice("You out from the ventilation ducts.")) forceMove(ventcrawl_target.loc) REMOVE_TRAIT(src, TRAIT_MOVE_VENTCRAWLING, VENTCRAWLING_TRAIT) update_pipe_vision() @@ -48,15 +48,15 @@ else var/datum/pipeline/vent_parent = ventcrawl_target.parents[1] if(vent_parent && (vent_parent.members.len || vent_parent.other_atmosmch)) - visible_message("[src] begins climbing into the ventilation system..." ,"You begin climbing into the ventilation system...") + visible_message(span_notice("[src] begins climbing into the ventilation system...") ,span_notice("You begin climbing into the ventilation system...")) if(!do_after(src, 2.5 SECONDS, target = ventcrawl_target)) return if(!client) return - visible_message("[src] scrambles into the ventilation ducts!","You climb into the ventilation ducts.") + visible_message(span_notice("[src] scrambles into the ventilation ducts!"),span_notice("You climb into the ventilation ducts.")) move_into_vent(ventcrawl_target) else - to_chat(src, "This ventilation duct is not connected to anything!") + to_chat(src, span_warning("This ventilation duct is not connected to anything!")) /mob/living/simple_animal/slime/handle_ventcrawl(atom/A) if(buckled) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 0b9fa946e8d..2ef5ed9810e 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -124,12 +124,12 @@ var/datum/gas_mixture/environment = loc.return_air() - var/t = "Coordinates: [x],[y] \n" - t += "Temperature: [environment.temperature] \n" + var/t = "[span_notice("Coordinates: [x],[y] ")]\n" + t += "[span_danger("Temperature: [environment.temperature] ")]\n" for(var/id in environment.gases) var/gas = environment.gases[id] if(gas[MOLES]) - t+="[gas[GAS_META][META_GAS_NAME]]: [gas[MOLES]] \n" + t+="[span_notice("[gas[GAS_META][META_GAS_NAME]]: [gas[MOLES]] ")]\n" to_chat(usr, t) @@ -338,7 +338,7 @@ if(qdel_on_fail) qdel(W) else if(!disable_warning) - to_chat(src, "You are unable to equip that!") + to_chat(src, span_warning("You are unable to equip that!")) return FALSE equip_to_slot(W, slot, initial, redraw_mob) //This proc should not ever fail. return TRUE @@ -478,29 +478,29 @@ /mob/living/blind_examine_check(atom/examined_thing) //need to be next to something and awake if(!Adjacent(examined_thing) || incapacitated()) - to_chat(src, "Something is there, but you can't see it!") + to_chat(src, span_warning("Something is there, but you can't see it!")) return FALSE //you can examine things you're holding directly, but you can't examine other things if your hands are full /// the item in our active hand var/active_item = get_active_held_item() if(active_item && active_item != examined_thing) - to_chat(src, "Your hands are too full to examine this!") + to_chat(src, span_warning("Your hands are too full to examine this!")) return FALSE //you can only initiate exaimines if you have a hand, it's not disabled, and only as many examines as you have hands /// our active hand, to check if it's disabled/detatched var/obj/item/bodypart/active_hand = has_active_hand()? get_active_hand() : null if(!active_hand || active_hand.bodypart_disabled || LAZYLEN(do_afters) >= usable_hands) - to_chat(src, "You don't have a free hand to examine this!") + to_chat(src, span_warning("You don't have a free hand to examine this!")) return FALSE //you can only queue up one examine on something at a time if(DOING_INTERACTION_WITH_TARGET(src, examined_thing)) return FALSE - to_chat(src, "You start feeling around for something...") - visible_message(" [name] begins feeling around for \the [examined_thing.name]...") + to_chat(src, span_notice("You start feeling around for something...")) + visible_message(span_notice(" [name] begins feeling around for \the [examined_thing.name]...")) /// how long it takes for the blind person to find the thing they're examining var/examine_delay_length = rand(1 SECONDS, 2 SECONDS) @@ -512,7 +512,7 @@ examine_delay_length *= 2 if(examine_delay_length > 0 && !do_after(src, examine_delay_length, target = examined_thing)) - to_chat(src, "You can't get a good feel for what is there.") + to_chat(src, span_notice("You can't get a good feel for what is there.")) return FALSE //now we touch the thing we're examining @@ -551,11 +551,11 @@ // check to see if their face is blocked or, if not, a signal blocks it if(examined_mob.is_face_visible() && SEND_SIGNAL(src, COMSIG_MOB_EYECONTACT, examined_mob, TRUE) != COMSIG_BLOCK_EYECONTACT) - var/msg = "You make eye contact with [examined_mob]." + var/msg = span_smallnotice("You make eye contact with [examined_mob].") addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, src, msg), 3) // so the examine signal has time to fire and this will print after if(is_face_visible() && SEND_SIGNAL(examined_mob, COMSIG_MOB_EYECONTACT, src, FALSE) != COMSIG_BLOCK_EYECONTACT) - var/msg = "[src] makes eye contact with you." + var/msg = span_smallnotice("[src] makes eye contact with you.") addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, examined_mob, msg), 3) /** @@ -701,12 +701,12 @@ return if ((stat != DEAD || !( SSticker ))) - to_chat(usr, "You must be dead to use this!") + to_chat(usr, span_boldnotice("You must be dead to use this!")) return log_game("[key_name(usr)] used abandon mob.") - to_chat(usr, "Please roleplay correctly!") + to_chat(usr, span_boldnotice("Please roleplay correctly!")) if(!client) log_game("[key_name(usr)] AM failed due to disconnect.") @@ -909,7 +909,7 @@ /mob/proc/swap_hand() var/obj/item/held_item = get_active_held_item() if(SEND_SIGNAL(src, COMSIG_MOB_SWAP_HANDS, held_item) & COMPONENT_BLOCK_SWAP) - to_chat(src, "Your other hand is too busy holding [held_item].") + to_chat(src, span_warning("Your other hand is too busy holding [held_item].")) return FALSE return TRUE @@ -1159,10 +1159,10 @@ ///Can this mob read (is literate and not blind) /mob/proc/can_read(obj/O) if(is_blind()) - to_chat(src, "As you are trying to read [O], you suddenly feel very stupid!") + to_chat(src, span_warning("As you are trying to read [O], you suddenly feel very stupid!")) return if(!is_literate()) - to_chat(src, "You try to read [O], but can't comprehend any of it.") + to_chat(src, span_notice("You try to read [O], but can't comprehend any of it.")) return return TRUE diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index aa461d22c21..b5fafd9ed30 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -320,7 +320,7 @@ var/orbit_link if (source && action == NOTIFY_ORBIT) orbit_link = " (Orbit)" - to_chat(O, "[message][(enter_link) ? " [enter_link]" : ""][orbit_link]") + to_chat(O, span_ghostalert("[message][(enter_link) ? " [enter_link]" : ""][orbit_link]")) if(ghost_sound) SEND_SOUND(O, sound(ghost_sound, volume = notify_volume)) if(flashwindow) @@ -355,11 +355,11 @@ if((brute_heal > 0 && affecting.brute_dam > 0) || (burn_heal > 0 && affecting.burn_dam > 0)) if(affecting.heal_damage(brute_heal, burn_heal, 0, BODYPART_ROBOTIC)) H.update_damage_overlays() - user.visible_message("[user] fixes some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name].", \ - "You fix some of the [dam ? "dents on" : "burnt wires in"] [H == user ? "your" : "[H]'s"] [affecting.name].") + user.visible_message(span_notice("[user] fixes some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name]."), \ + span_notice("You fix some of the [dam ? "dents on" : "burnt wires in"] [H == user ? "your" : "[H]'s"] [affecting.name].")) return 1 //successful heal else - to_chat(user, "[affecting] is already in good condition!") + to_chat(user, span_warning("[affecting] is already in good condition!")) ///Is the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to /proc/isAdminObserver(mob/user) @@ -486,9 +486,9 @@ dissectionmsg = " via Experimental Dissection" else if(HAS_TRAIT_FROM(src, TRAIT_DISSECTED,"Thorough Dissection")) dissectionmsg = " via Thorough Dissection" - . += "This body has been dissected and analyzed[dissectionmsg].
    " + . += "[span_notice("This body has been dissected and analyzed[dissectionmsg].")]
    " if(HAS_TRAIT(src,TRAIT_HUSK)) - . += "This body has been reduced to a grotesque husk." + . += span_warning("This body has been reduced to a grotesque husk.") /** * Get the list of keywords for policy config diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index fcadc22237d..b186a2487f0 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -171,7 +171,7 @@ return TRUE else if(HAS_TRAIT(mob, TRAIT_RESTRAINED)) COOLDOWN_START(src, move_delay, 1 SECONDS) - to_chat(src, "You're restrained! You can't move!") + to_chat(src, span_warning("You're restrained! You can't move!")) return TRUE return mob.resist_grab(TRUE) @@ -246,17 +246,17 @@ var/turf/open/floor/stepTurf = get_step(L, direct) if(stepTurf) for(var/obj/effect/decal/cleanable/food/salt/S in stepTurf) - to_chat(L, "[S] bars your passage!") + to_chat(L, span_warning("[S] bars your passage!")) if(isrevenant(L)) var/mob/living/simple_animal/revenant/R = L R.reveal(20) R.stun(20) return if(stepTurf.turf_flags & NOJAUNT) - to_chat(L, "Some strange aura is blocking the way.") + to_chat(L, span_warning("Some strange aura is blocking the way.")) return if (locate(/obj/effect/blessing, stepTurf)) - to_chat(L, "Holy energies block your path!") + to_chat(L, span_warning("Holy energies block your path!")) return L.forceMove(stepTurf) @@ -281,7 +281,7 @@ if(backup) if(istype(backup) && movement_dir && !backup.anchored) if(backup.newtonian_move(turn(movement_dir, 180))) //You're pushing off something movable, so it moves - to_chat(src, "You push off of [backup] to propel yourself.") + to_chat(src, span_info("You push off of [backup] to propel yourself.")) return TRUE return FALSE @@ -500,7 +500,7 @@ return if(zMove(UP, TRUE, ventcrawling_mob)) - to_chat(src, "You move upwards.") + to_chat(src, span_notice("You move upwards.")) ///Moves a mob down a z level /mob/verb/down() @@ -510,7 +510,7 @@ var/ventcrawling_mob = HAS_TRAIT(src, TRAIT_MOVE_VENTCRAWLING) if(zMove(DOWN, TRUE, ventcrawling_mob)) - to_chat(src, "You move down.") + to_chat(src, span_notice("You move down.")) ///Move a mob between z levels, if it's valid to move z's on this turf /mob/proc/zMove(dir, feedback = FALSE, ventcrawling = FALSE) @@ -518,16 +518,16 @@ return FALSE if(incapacitated()) if(feedback) - to_chat(src, "You can't do that right now!") + to_chat(src, span_warning("You can't do that right now!")) return FALSE var/turf/target = get_step_multiz(src, dir) if(!target) if(feedback) - to_chat(src, "There's nowhere to go in that direction!") + to_chat(src, span_warning("There's nowhere to go in that direction!")) return FALSE if(!canZMove(dir, target) && !ventcrawling) if(feedback) - to_chat(src, "You couldn't move there!") + to_chat(src, span_warning("You couldn't move there!")) return FALSE if(!ventcrawling) //let this be handled in atmosmachinery.dm forceMove(target) diff --git a/code/modules/mob/mob_say.dm b/code/modules/mob/mob_say.dm index 8a973c13d87..37a42f4bb17 100644 --- a/code/modules/mob/mob_say.dm +++ b/code/modules/mob/mob_say.dm @@ -5,7 +5,7 @@ set name = "Say" set category = "IC" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") + to_chat(usr, span_danger("Speech is currently admin-disabled.")) return if(message) say(message) @@ -15,7 +15,7 @@ set name = "Whisper" set category = "IC" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") + to_chat(usr, span_danger("Speech is currently admin-disabled.")) return whisper(message) @@ -29,7 +29,7 @@ set category = "IC" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") + to_chat(usr, span_danger("Speech is currently admin-disabled.")) return message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN)) @@ -42,7 +42,7 @@ var/alt_name = "" if(GLOB.say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") + to_chat(usr, span_danger("Speech is currently admin-disabled.")) return var/jb = is_banned_from(ckey, "Deadchat") @@ -50,14 +50,14 @@ return if(jb) - to_chat(src, "You have been banned from deadchat.") + to_chat(src, span_danger("You have been banned from deadchat.")) return if (src.client) if(src.client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "You cannot talk in deadchat (muted).") + to_chat(src, span_danger("You cannot talk in deadchat (muted).")) return if(src.client.handle_spam_prevention(message,MUTE_DEADCHAT)) diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm index 5e5995ca6ee..1217b49a9e5 100644 --- a/code/modules/mob/mob_transformation_simple.dm +++ b/code/modules/mob/mob_transformation_simple.dm @@ -5,7 +5,7 @@ /mob/proc/change_mob_type(new_type = null, turf/location = null, new_name = null as text, delete_old_mob = FALSE) if(isnewplayer(src)) - to_chat(usr, "Cannot convert players who have not entered yet.") + to_chat(usr, span_danger("Cannot convert players who have not entered yet.")) return if(!new_type) @@ -19,7 +19,7 @@ return if(ispath(new_type, /mob/dead/new_player)) - to_chat(usr, "Cannot convert into a new_player mob type.") + to_chat(usr, span_danger("Cannot convert into a new_player mob type.")) return var/mob/M diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 4d67db55585..31572fc50f6 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -297,7 +297,7 @@ var/mobpath = tgui_input_list(usr, "Which type of mob should [src] turn into?", "Choose a type", sortList(mobtypes, /proc/cmp_typepaths_asc)) if(!safe_animal(mobpath)) - to_chat(usr, "Sorry but this mob type is currently unavailable.") + to_chat(usr, span_danger("Sorry but this mob type is currently unavailable.")) return if(notransform) @@ -320,7 +320,7 @@ new_mob.key = key new_mob.set_combat_mode(TRUE) - to_chat(new_mob, "You suddenly feel more... animalistic.") + to_chat(new_mob, span_boldnotice("You suddenly feel more... animalistic.")) . = new_mob qdel(src) @@ -330,14 +330,14 @@ var/mobpath = tgui_input_list(usr, "Which type of mob should [src] turn into?", "Choose a type", sortList(mobtypes, /proc/cmp_typepaths_asc)) if(!safe_animal(mobpath)) - to_chat(usr, "Sorry but this mob type is currently unavailable.") + to_chat(usr, span_danger("Sorry but this mob type is currently unavailable.")) return var/mob/living/new_mob = new mobpath(src.loc) new_mob.key = key new_mob.set_combat_mode(TRUE) - to_chat(new_mob, "You feel more... animalistic.") + to_chat(new_mob, span_boldnotice("You feel more... animalistic.")) . = new_mob qdel(src) diff --git a/code/modules/modular_computers/computers/_modular_computer_shared.dm b/code/modules/modular_computers/computers/_modular_computer_shared.dm index 77888fdf01b..1a2ba822d1b 100644 --- a/code/modules/modular_computers/computers/_modular_computer_shared.dm +++ b/code/modules/modular_computers/computers/_modular_computer_shared.dm @@ -39,7 +39,7 @@ . += "It has a slot installed for an intelliCard which contains: [ai_slot.stored_card.name]" else . += "It has a slot installed for an intelliCard, which appears to be occupied." - . += "Alt-click to eject the intelliCard." + . += span_info("Alt-click to eject the intelliCard.") else . += "It has a slot installed for an intelliCard." @@ -55,7 +55,7 @@ . += "It has [multiple_slots ? "two slots" : "a slot"] for identification cards installed[multiple_cards ? " which contain [first_ID] and [second_ID]" : ", one of which contains [first_ID ? first_ID : second_ID]"]." else . += "It has [multiple_slots ? "two slots" : "a slot"] for identification cards installed, [multiple_cards ? "both of which appear" : "and one of them appears"] to be occupied." - . += "Alt-click [src] to eject the identification card[multiple_cards ? "s":""]." + . += span_info("Alt-click [src] to eject the identification card[multiple_cards ? "s":""].") else . += "It has [multiple_slots ? "two slots" : "a slot"] installed for identification cards." diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 8bfa86416da..7d346086689 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -215,7 +215,7 @@ /obj/item/modular_computer/emag_act(mob/user) if(!enabled) - to_chat(user, "You'd need to turn the [src] on first.") + to_chat(user, span_warning("You'd need to turn the [src] on first.")) return FALSE obj_flags |= EMAGGED //Mostly for consistancy purposes; the programs will do their own emag handling var/newemag = FALSE @@ -226,17 +226,17 @@ if(app.run_emag()) newemag = TRUE if(newemag) - to_chat(user, "You swipe \the [src]. A console window momentarily fills the screen, with white text rapidly scrolling past.") + to_chat(user, span_notice("You swipe \the [src]. A console window momentarily fills the screen, with white text rapidly scrolling past.")) return TRUE - to_chat(user, "You swipe \the [src]. A console window fills the screen, but it quickly closes itself after only a few lines are written to it.") + to_chat(user, span_notice("You swipe \the [src]. A console window fills the screen, but it quickly closes itself after only a few lines are written to it.")) return FALSE /obj/item/modular_computer/examine(mob/user) . = ..() if(obj_integrity <= integrity_failure * max_integrity) - . += "It is heavily damaged!" + . += span_danger("It is heavily damaged!") else if(obj_integrity < max_integrity) - . += "It is damaged." + . += span_warning("It is damaged.") . += get_modular_computer_parts_examine(user) @@ -267,9 +267,9 @@ var/issynth = issilicon(user) // Robots and AIs get different activation messages. if(obj_integrity <= integrity_failure * max_integrity) if(issynth) - to_chat(user, "You send an activation signal to \the [src], but it responds with an error code. It must be damaged.") + to_chat(user, span_warning("You send an activation signal to \the [src], but it responds with an error code. It must be damaged.")) else - to_chat(user, "You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.") + to_chat(user, span_warning("You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.")) return FALSE // If we have a recharger, enable it automatically. Lets computer without a battery work. @@ -279,9 +279,9 @@ if(all_components[MC_CPU] && use_power()) // use_power() checks if the PC is powered if(issynth) - to_chat(user, "You send an activation signal to \the [src], turning it on.") + to_chat(user, span_notice("You send an activation signal to \the [src], turning it on.")) else - to_chat(user, "You press the power button and start up \the [src].") + to_chat(user, span_notice("You press the power button and start up \the [src].")) if(looping_sound) soundloop.start() enabled = 1 @@ -290,9 +290,9 @@ return TRUE else // Unpowered if(issynth) - to_chat(user, "You send an activation signal to \the [src] but it does not respond.") + to_chat(user, span_warning("You send an activation signal to \the [src] but it does not respond.")) else - to_chat(user, "You press the power button but \the [src] does not respond.") + to_chat(user, span_warning("You press the power button but \the [src] does not respond.")) return FALSE // Process currently calls handle_power(), may be expanded in future if more things are added. @@ -348,10 +348,10 @@ if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence. return playsound(src, sound, 50, TRUE) - visible_message("The [src] displays a [caller.filedesc] notification: [alerttext]") + visible_message(span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]")) var/mob/living/holder = loc if(istype(holder)) - to_chat(holder, "[icon2html(src)] The [src] displays a [caller.filedesc] notification: [alerttext]") + to_chat(holder, "[icon2html(src)] [span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]")]") // Function used by NanoUI's to obtain data for header. All relevant entries begin with "PC_" /obj/item/modular_computer/proc/get_header_data() @@ -446,7 +446,7 @@ if(looping_sound) soundloop.stop() if(loud) - physical.visible_message("\The [src] shuts down.") + physical.visible_message(span_notice("\The [src] shuts down.")) enabled = 0 update_appearance() @@ -484,7 +484,7 @@ /obj/item/modular_computer/screwdriver_act(mob/user, obj/item/tool) if(!all_components.len) - to_chat(user, "This device doesn't have any components installed.") + to_chat(user, span_warning("This device doesn't have any components installed.")) return var/list/component_names = list() for(var/h in all_components) @@ -526,26 +526,26 @@ if(W.tool_behaviour == TOOL_WRENCH) if(all_components.len) - to_chat(user, "Remove all components from \the [src] before disassembling it.") + to_chat(user, span_warning("Remove all components from \the [src] before disassembling it.")) return new /obj/item/stack/sheet/iron( get_turf(src.loc), steel_sheet_cost ) - physical.visible_message("\The [src] is disassembled by [user].") + physical.visible_message(span_notice("\The [src] is disassembled by [user].")) relay_qdel() qdel(src) return if(W.tool_behaviour == TOOL_WELDER) if(obj_integrity == max_integrity) - to_chat(user, "\The [src] does not require repairs.") + to_chat(user, span_warning("\The [src] does not require repairs.")) return if(!W.tool_start_check(user, amount=1)) return - to_chat(user, "You begin repairing damage to \the [src]...") + to_chat(user, span_notice("You begin repairing damage to \the [src]...")) if(W.use_tool(src, user, 20, volume=50, amount=1)) obj_integrity = max_integrity - to_chat(user, "You repair \the [src].") + to_chat(user, span_notice("You repair \the [src].")) return var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD] diff --git a/code/modules/modular_computers/computers/item/computer_components.dm b/code/modules/modular_computers/computers/item/computer_components.dm index dd84879d043..91c369581fb 100644 --- a/code/modules/modular_computers/computers/item/computer_components.dm +++ b/code/modules/modular_computers/computers/item/computer_components.dm @@ -3,19 +3,19 @@ return FALSE if(H.w_class > max_hardware_size) - to_chat(user, "This component is too large for \the [src]!") + to_chat(user, span_warning("This component is too large for \the [src]!")) return FALSE if(H.expansion_hw) if(LAZYLEN(expansion_bays) >= max_bays) - to_chat(user, "All of the computer's expansion bays are filled.") + to_chat(user, span_warning("All of the computer's expansion bays are filled.")) return FALSE if(LAZYACCESS(expansion_bays, H.device_type)) - to_chat(user, "The computer immediately ejects /the [H] and flashes an error: \"Hardware Address Conflict\".") + to_chat(user, span_warning("The computer immediately ejects /the [H] and flashes an error: \"Hardware Address Conflict\".")) return FALSE if(all_components[H.device_type]) - to_chat(user, "This computer's hardware slot is already occupied by \the [all_components[H.device_type]].") + to_chat(user, span_warning("This computer's hardware slot is already occupied by \the [all_components[H.device_type]].")) return FALSE return TRUE @@ -32,7 +32,7 @@ LAZYSET(expansion_bays, H.device_type, H) all_components[H.device_type] = H - to_chat(user, "You install \the [H] into \the [src].") + to_chat(user, span_notice("You install \the [H] into \the [src].")) H.holder = src H.forceMove(src) H.on_install(src, user) @@ -47,7 +47,7 @@ LAZYREMOVE(expansion_bays, H.device_type) all_components.Remove(H.device_type) - to_chat(user, "You remove \the [H] from \the [src].") + to_chat(user, span_notice("You remove \the [H] from \the [src].")) H.forceMove(get_turf(src)) H.holder = null diff --git a/code/modules/modular_computers/computers/item/computer_damage.dm b/code/modules/modular_computers/computers/item/computer_damage.dm index c91e958c614..cb8d5cd2c82 100644 --- a/code/modules/modular_computers/computers/item/computer_damage.dm +++ b/code/modules/modular_computers/computers/item/computer_damage.dm @@ -18,7 +18,7 @@ /obj/item/modular_computer/proc/break_apart() if(!(flags_1 & NODECONSTRUCT_1)) - physical.visible_message("\The [src] breaks apart!") + physical.visible_message(span_notice("\The [src] breaks apart!")) var/turf/newloc = get_turf(src) new /obj/item/stack/sheet/iron(newloc, round(steel_sheet_cost/2)) for(var/C in all_components) diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm index 07d87ead915..c95f9ab59a9 100644 --- a/code/modules/modular_computers/computers/item/computer_ui.dm +++ b/code/modules/modular_computers/computers/item/computer_ui.dm @@ -14,7 +14,7 @@ return if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS)) - to_chat(user, "Your fingers are too big to use this right now!") + to_chat(user, span_warning("Your fingers are too big to use this right now!")) return // Robots don't really need to see the screen, their wireless connection works as long as computer is on. @@ -34,7 +34,7 @@ // This screen simply lists available programs and user may select them. var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD] if(!hard_drive || !hard_drive.stored_files || !hard_drive.stored_files.len) - to_chat(user, "\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning.") + to_chat(user, span_danger("\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning.")) return // No HDD, No HDD files list or no stored files. Something is very broken. ui = SStgui.try_update_ui(user, src, ui) @@ -130,7 +130,7 @@ return P.kill_program(forced = TRUE) - to_chat(user, "Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed.") + to_chat(user, span_notice("Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed.")) if("PC_runprogram") var/prog = params["name"] @@ -140,7 +140,7 @@ P = hard_drive.find_file_by_name(prog) if(!P || !istype(P)) // Program not found or it's not executable program. - to_chat(user, "\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning.") + to_chat(user, span_danger("\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning.")) return P.computer = src @@ -160,11 +160,11 @@ var/obj/item/computer_hardware/processor_unit/PU = all_components[MC_CPU] if(idle_threads.len > PU.max_idle_programs) - to_chat(user, "\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error.") + to_chat(user, span_danger("\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error.")) return if(P.requires_ntnet && !get_ntnet_status(P.requires_ntnet_feature)) // The program requires NTNet connection, but we are not connected to NTNet. - to_chat(user, "\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning.") + to_chat(user, span_danger("\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning.")) return if(P.run_program(user)) active_program = P @@ -183,7 +183,7 @@ if(!new_color) return if(color_hex2num(new_color) < 200) //Colors too dark are rejected - to_chat(user, "That color is too dark! Choose a lighter one.") + to_chat(user, span_warning("That color is too dark! Choose a lighter one.")) new_color = null return set_flashlight_color(new_color) diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index 3ac2e3d4c18..c4432c12d5c 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -26,7 +26,7 @@ /obj/item/modular_computer/laptop/examine(mob/user) . = ..() if(screen_on) - . += "Alt-click to close it." + . += span_notice("Alt-click to close it.") /obj/item/modular_computer/laptop/Initialize() . = ..() @@ -100,11 +100,11 @@ /obj/item/modular_computer/laptop/proc/toggle_open(mob/living/user=null) if(screen_on) - to_chat(user, "You close \the [src].") + to_chat(user, span_notice("You close \the [src].")) slowdown = initial(slowdown) w_class = initial(w_class) else - to_chat(user, "You open \the [src].") + to_chat(user, span_notice("You open \the [src].")) slowdown = slowdown_open w_class = w_class_open diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 5003ca98aba..e044955e565 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -57,4 +57,4 @@ if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) return playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE) - machinery_computer.visible_message("The [src] displays a [caller.filedesc] notification: [alerttext]") + machinery_computer.visible_message(span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]")) diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index 72d5ad7127d..fb5a73f9cde 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -50,9 +50,9 @@ /obj/item/modular_computer/tablet/nukeops/emag_act(mob/user) if(!enabled) - to_chat(user, "You'd need to turn the [src] on first.") + to_chat(user, span_warning("You'd need to turn the [src] on first.")) return FALSE - to_chat(user, "You swipe \the [src]. It's screen briefly shows a message reading \"MEMORY CODE INJECTION DETECTED AND SUCCESSFULLY QUARANTINED\".") + to_chat(user, span_notice("You swipe \the [src]. It's screen briefly shows a message reading \"MEMORY CODE INJECTION DETECTED AND SUCCESSFULLY QUARANTINED\".")) return FALSE /// Borg Built-in tablet interface @@ -141,7 +141,7 @@ if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence. return borgo.playsound_local(src, sound, 50, TRUE) - to_chat(borgo, "The [src] displays a [caller.filedesc] notification: [alerttext]") + to_chat(borgo, span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]")) /obj/item/modular_computer/tablet/integrated/syndicate diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 764fe792794..87ae3ec4b09 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -62,7 +62,7 @@ /obj/machinery/modular_computer/emag_act(mob/user) if(!cpu) - to_chat(user, "You'd need to turn the [src] on first.") + to_chat(user, span_warning("You'd need to turn the [src] on first.")) return FALSE return (cpu.emag_act(user)) @@ -114,7 +114,7 @@ /obj/machinery/modular_computer/proc/power_failure(malfunction = 0) var/obj/item/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL] if(cpu?.enabled) // Shut down the computer - visible_message("\The [src]'s screen flickers [battery_module ? "\"BATTERY [malfunction ? "MALFUNCTION" : "CRITICAL"]\"" : "\"EXTERNAL POWER LOSS\""] warning as it shuts down unexpectedly.") + visible_message(span_danger("\The [src]'s screen flickers [battery_module ? "\"BATTERY [malfunction ? "MALFUNCTION" : "CRITICAL"]\"" : "\"EXTERNAL POWER LOSS\""] warning as it shuts down unexpectedly.")) if(cpu) cpu.shutdown_computer(0) set_machine_stat(machine_stat | NOPOWER) diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index a36da232db3..da92d560b73 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -92,7 +92,7 @@ /datum/computer_file/program/proc/is_supported_by_hardware(hardware_flag = 0, loud = 0, mob/user = null) if(!(hardware_flag & usage_flags)) if(loud && computer && user) - to_chat(user, "\The [computer] flashes a \"Hardware Error - Incompatible software\" warning.") + to_chat(user, span_danger("\The [computer] flashes a \"Hardware Error - Incompatible software\" warning.")) return FALSE return TRUE @@ -144,14 +144,14 @@ if(!D) if(loud) - to_chat(user, "\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.") + to_chat(user, span_danger("\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.")) return FALSE access = D.GetAccess() if(access_to_check in access) return TRUE if(loud) - to_chat(user, "\The [computer] flashes an \"Access Denied\" warning.") + to_chat(user, span_danger("\The [computer] flashes an \"Access Denied\" warning.")) return FALSE // This attempts to retrieve header data for UIs. If implementing completely new device of different type than existing ones diff --git a/code/modules/modular_computers/file_system/program_events.dm b/code/modules/modular_computers/file_system/program_events.dm index 1cb74a227b4..c11b1066bd2 100644 --- a/code/modules/modular_computers/file_system/program_events.dm +++ b/code/modules/modular_computers/file_system/program_events.dm @@ -13,6 +13,6 @@ /datum/computer_file/program/proc/event_networkfailure(background) kill_program(forced = TRUE) if(background) - computer.visible_message("\The [computer]'s screen displays a \"Process [filename].[filetype] (PID [rand(100,999)]) terminated - Network Error\" error") + computer.visible_message(span_danger("\The [computer]'s screen displays a \"Process [filename].[filetype] (PID [rand(100,999)]) terminated - Network Error\" error")) else - computer.visible_message("\The [computer]'s screen briefly freezes and then shows \"NETWORK ERROR - NTNet connection lost. Please retry. If problem persists contact your system administrator.\" error.") + computer.visible_message(span_danger("\The [computer]'s screen briefly freezes and then shows \"NETWORK ERROR - NTNet connection lost. Please retry. If problem persists contact your system administrator.\" error.")) diff --git a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm index 5d2090f2bde..682996987c1 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm @@ -92,9 +92,9 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.put_in_hands(crystals)) - to_chat(H, "Your payment materializes into your hands!") + to_chat(H, span_notice("Your payment materializes into your hands!")) else - to_chat(user, "Your payment materializes onto the floor.") + to_chat(user, span_notice("Your payment materializes onto the floor.")) hard_drive.traitor_data.contractor_hub.contract_TC_payed_out += hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem = 0 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 16584b41429..4e5afa32a72 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm @@ -21,11 +21,11 @@ if(computer) if(istype(computer, /obj/item/modular_computer/tablet/integrated)) //If this is a borg's integrated tablet var/obj/item/modular_computer/tablet/integrated/modularInterface = computer - to_chat(modularInterface.borgo,"SYSTEM PURGE DETECTED/") + to_chat(modularInterface.borgo,span_userdanger("SYSTEM PURGE DETECTED/")) addtimer(CALLBACK(modularInterface.borgo, /mob/living/silicon/robot/.proc/death), 2 SECONDS, TIMER_UNIQUE) return - computer.visible_message("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.") + computer.visible_message(span_notice("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.")) computer.enabled = FALSE computer.update_appearance() var/obj/item/computer_hardware/hard_drive/hard_drive = computer.all_components[MC_HDD] @@ -35,13 +35,13 @@ computer.take_damage(25, BRUTE, 0, 0) if(battery_module && prob(25)) qdel(battery_module) - computer.visible_message("\The [computer]'s battery explodes in rain of sparks.") + computer.visible_message(span_notice("\The [computer]'s battery explodes in rain of sparks.")) var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread spark_system.start() if(recharger && prob(50)) qdel(recharger) - computer.visible_message("\The [computer]'s recharger explodes in rain of sparks.") + computer.visible_message(span_notice("\The [computer]'s recharger explodes in rain of sparks.")) var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread spark_system.start() diff --git a/code/modules/modular_computers/file_system/programs/arcade.dm b/code/modules/modular_computers/file_system/programs/arcade.dm index 0b9a86f9fb6..10fee422e0d 100644 --- a/code/modules/modular_computers/file_system/programs/arcade.dm +++ b/code/modules/modular_computers/file_system/programs/arcade.dm @@ -150,20 +150,20 @@ return TRUE if("Dispense_Tickets") if(!printer) - to_chat(usr, "Hardware error: A printer is required to redeem tickets.") + to_chat(usr, span_notice("Hardware error: A printer is required to redeem tickets.")) return if(printer.stored_paper <= 0) - to_chat(usr, "Hardware error: Printer is out of paper.") + to_chat(usr, span_notice("Hardware error: Printer is out of paper.")) return else - computer.visible_message("\The [computer] prints out paper.") + computer.visible_message(span_notice("\The [computer] prints out paper.")) if(ticket_count >= 1) new /obj/item/stack/arcadeticket((get_turf(computer)), 1) - to_chat(usr, "[computer] dispenses a ticket!") + to_chat(usr, span_notice("[computer] dispenses a ticket!")) ticket_count -= 1 printer.stored_paper -= 1 else - to_chat(usr, "You don't have any stored tickets!") + to_chat(usr, span_notice("You don't have any stored tickets!")) return TRUE if("Start_Game") game_active = TRUE diff --git a/code/modules/modular_computers/file_system/programs/atmosscan.dm b/code/modules/modular_computers/file_system/programs/atmosscan.dm index b6c040741e0..6d732d25515 100644 --- a/code/modules/modular_computers/file_system/programs/atmosscan.dm +++ b/code/modules/modular_computers/file_system/programs/atmosscan.dm @@ -13,7 +13,7 @@ if (!.) return if(!computer?.get_modular_computer_part(MC_SENSORS)) //Giving a clue to users why the program is spitting out zeros. - to_chat(user, "\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\".") + to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\".")) /datum/computer_file/program/atmosscan/ui_data(mob/user) diff --git a/code/modules/modular_computers/file_system/programs/borg_monitor.dm b/code/modules/modular_computers/file_system/programs/borg_monitor.dm index 71011035aa1..ffd7bd068e6 100644 --- a/code/modules/modular_computers/file_system/programs/borg_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/borg_monitor.dm @@ -43,7 +43,7 @@ var/obj/item/card/id/stored_card = computer.GetID() if(istype(stored_card) && stored_card.registered_name) username = "user [stored_card.registered_name]" - to_chat(borgo, "Request received from [username] for the system log file. Upload in progress.")//Damning evidence may be contained, so warn the borg + to_chat(borgo, span_userdanger("Request received from [username] for the system log file. Upload in progress."))//Damning evidence may be contained, so warn the borg borgo.logevent("File request by [username]: /var/logs/syslog") return TRUE @@ -55,7 +55,7 @@ var/turf/here = get_turf(computer) var/turf/there = get_turf(DL_source) if(!here.Adjacent(there))//If someone walked away, cancel the download - to_chat(DL_source, "Log upload failed: general connection error.")//Let the borg know the upload stopped + to_chat(DL_source, span_danger("Log upload failed: general connection error."))//Let the borg know the upload stopped DL_source = null DL_progress = -1 return @@ -129,16 +129,16 @@ if(!ID) return if(R.stat == DEAD) //Dead borgs will listen to you no longer - to_chat(usr, "Error -- Could not open a connection to unit:[R]") + to_chat(usr, span_warning("Error -- Could not open a connection to unit:[R]")) var/message = stripped_input(usr, message = "Enter message to be sent to remote cyborg.", title = "Send Message") if(!message) return - to_chat(R, "

    Message from [ID] -- \"[message]\"
    ") + to_chat(R, "

    [span_notice("Message from [ID] -- \"[message]\"")]
    ") to_chat(usr, "Message sent to [R]: [message]") R.logevent("Message from [ID] -- \"[message]\"") SEND_SOUND(R, 'sound/machines/twobeep_high.ogg') if(R.connected_ai) - to_chat(R.connected_ai, "

    Message from [ID] to [R] -- \"[message]\"
    ") + to_chat(R.connected_ai, "

    [span_notice("Message from [ID] to [R] -- \"[message]\"")]
    ") SEND_SOUND(R.connected_ai, 'sound/machines/twobeep_high.ogg') usr.log_talk(message, LOG_PDA, tag="Cyborg Monitor Program: ID name \"[ID]\" to [R]") diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index 1ba670b5cfa..5d65015567c 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -123,11 +123,11 @@ contents += " [SSid_access.get_access_desc(A)]" if(!printer.print_text(contents,"access report")) - to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.") + to_chat(usr, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper.")) return TRUE else playsound(computer, 'sound/machines/terminal_on.ogg', 50, FALSE) - computer.visible_message("\The [computer] prints out a paper.") + computer.visible_message(span_notice("\The [computer] prints out a paper.")) return TRUE // Eject the ID used to log on to the ID app. if("PRG_ejectauthid") @@ -157,7 +157,7 @@ return TRUE if(minor) if(!(target_id_card.trim?.type in job_templates)) - to_chat(usr, "Software error: You do not have the necessary permissions to demote this card.") + to_chat(usr, span_notice("Software error: You do not have the necessary permissions to demote this card.")) return TRUE // Set the new assignment then remove the trim. @@ -190,7 +190,7 @@ new_name = reject_bad_name(new_name, allow_numbers = TRUE) if(!new_name) - to_chat(usr, "Software error: The ID card rejected the new name as it contains prohibited characters.") + to_chat(usr, span_notice("Software error: The ID card rejected the new name as it contains prohibited characters.")) return TRUE target_id_card.registered_name = new_name @@ -239,7 +239,7 @@ return TRUE if(!target_id_card.add_access(list(access_type), try_wildcard)) - to_chat(usr, "ID error: ID card rejected your attempted access modification.") + to_chat(usr, span_notice("ID error: ID card rejected your attempted access modification.")) LOG_ID_ACCESS_CHANGE(user, target_id_card, "failed to add [SSid_access.get_access_desc(access_type)][try_wildcard ? " with wildcard [try_wildcard]" : ""]") return TRUE diff --git a/code/modules/modular_computers/file_system/programs/cargoship.dm b/code/modules/modular_computers/file_system/programs/cargoship.dm index 5ab06576074..672c0de4700 100644 --- a/code/modules/modular_computers/file_system/programs/cargoship.dm +++ b/code/modules/modular_computers/file_system/programs/cargoship.dm @@ -63,16 +63,16 @@ cut_multiplier = potential_cut ? clamp(round(potential_cut/100, cut_min), cut_min, cut_max) : initial(cut_multiplier) if("print") if(!printer) - to_chat(usr, "Hardware error: A printer is required to print barcodes.") + to_chat(usr, span_notice("Hardware error: A printer is required to print barcodes.")) return if(printer.stored_paper <= 0) - to_chat(usr, "Hardware error: Printer is out of paper.") + to_chat(usr, span_notice("Hardware error: Printer is out of paper.")) return if(!payments_acc) - to_chat(usr, "Software error: Please set a current user first.") + to_chat(usr, span_notice("Software error: Please set a current user first.")) return var/obj/item/barcode/barcode = new /obj/item/barcode(get_turf(ui_host())) barcode.payments_acc = payments_acc barcode.cut_multiplier = cut_multiplier printer.stored_paper-- - to_chat(usr, "The computer prints out a barcode.") + to_chat(usr, span_notice("The computer prints out a barcode.")) diff --git a/code/modules/modular_computers/file_system/programs/crewmanifest.dm b/code/modules/modular_computers/file_system/programs/crewmanifest.dm index 99483d4e789..69e7bb745b5 100644 --- a/code/modules/modular_computers/file_system/programs/crewmanifest.dm +++ b/code/modules/modular_computers/file_system/programs/crewmanifest.dm @@ -45,7 +45,7 @@ [GLOB.data_core ? GLOB.data_core.get_manifest_html(0) : ""] "} if(!printer.print_text(contents,text("crew manifest ([])", station_time_timestamp()))) - to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.") + to_chat(usr, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper.")) return else - computer.visible_message("\The [computer] prints out a paper.") + computer.visible_message(span_notice("\The [computer] prints out a paper.")) diff --git a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm index 828800af515..29a4418d2ca 100644 --- a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm +++ b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm @@ -128,9 +128,9 @@ // This program shouldn't even be runnable without computer. CRASH("Var computer is null!") if(!hard_drive) - computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.") + computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.")) else // In 99.9% cases this will mean our HDD is full - computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning.") + computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning.")) return TRUE if("PRG_renamechannel") if(!authed) diff --git a/code/modules/modular_computers/file_system/programs/portrait_printer.dm b/code/modules/modular_computers/file_system/programs/portrait_printer.dm index b622cde0798..12a2187550e 100644 --- a/code/modules/modular_computers/file_system/programs/portrait_printer.dm +++ b/code/modules/modular_computers/file_system/programs/portrait_printer.dm @@ -45,10 +45,10 @@ if(computer) printer = computer.all_components[MC_PRINT] if(!printer) - to_chat(usr, "Hardware error: A printer is required to print a canvas.") + to_chat(usr, span_notice("Hardware error: A printer is required to print a canvas.")) return if(printer.stored_paper < CANVAS_PAPER_COST) - to_chat(usr, "Printing error: Your printer needs at least [CANVAS_PAPER_COST] paper to print a canvas.") + to_chat(usr, span_notice("Printing error: Your printer needs at least [CANVAS_PAPER_COST] paper to print a canvas.")) return printer.stored_paper -= CANVAS_PAPER_COST @@ -79,5 +79,5 @@ ///this is a copy of something that is already in the database- it should not be able to be saved. printed_canvas.no_save = TRUE printed_canvas.update_icon() - to_chat(usr, "You have printed [title] onto a new canvas.") + to_chat(usr, span_notice("You have printed [title] onto a new canvas.")) playsound(computer.physical, 'sound/items/poster_being_created.ogg', 100, TRUE) diff --git a/code/modules/modular_computers/file_system/programs/robotact.dm b/code/modules/modular_computers/file_system/programs/robotact.dm index 1bb1da54fcd..b424f53af33 100644 --- a/code/modules/modular_computers/file_system/programs/robotact.dm +++ b/code/modules/modular_computers/file_system/programs/robotact.dm @@ -23,7 +23,7 @@ /datum/computer_file/program/robotact/run_program(mob/living/user) if(!istype(computer, /obj/item/modular_computer/tablet/integrated)) - to_chat(user, "A warning flashes across \the [computer]: Device Incompatible.") + to_chat(user, span_warning("A warning flashes across \the [computer]: Device Incompatible.")) return FALSE . = ..() if(.) @@ -111,7 +111,7 @@ if("alertPower") if(borgo.stat == CONSCIOUS) if(!borgo.cell || !borgo.cell.charge) - borgo.visible_message("The power warning light on [borgo] flashes urgently.", \ + borgo.visible_message(span_notice("The power warning light on [span_name("[borgo]")] flashes urgently."), \ "You announce you are operating in low power mode.") playsound(borgo, 'sound/machines/buzz-two.ogg', 50, FALSE) diff --git a/code/modules/modular_computers/file_system/programs/signaler.dm b/code/modules/modular_computers/file_system/programs/signaler.dm index abde8811bd5..b7bbcacaa02 100644 --- a/code/modules/modular_computers/file_system/programs/signaler.dm +++ b/code/modules/modular_computers/file_system/programs/signaler.dm @@ -20,7 +20,7 @@ if (!.) return if(!computer?.get_modular_computer_part(MC_SIGNALER)) //Giving a clue to users why the program is spitting out zeros. - to_chat(user, "\The [computer] flashes an error: \"hardware\\signal_hardware\\startup.bin -- file not found\".") + to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\signal_hardware\\startup.bin -- file not found\".")) /datum/computer_file/program/signaler/ui_data(mob/user) diff --git a/code/modules/modular_computers/file_system/programs/techweb.dm b/code/modules/modular_computers/file_system/programs/techweb.dm index 15b5eea7437..c2943bd54da 100644 --- a/code/modules/modular_computers/file_system/programs/techweb.dm +++ b/code/modules/modular_computers/file_system/programs/techweb.dm @@ -91,12 +91,12 @@ switch (action) if ("toggleLock") if(computer.obj_flags & EMAGGED) - to_chat(usr, "Security protocol error: Unable to access locking protocols.") + to_chat(usr, span_boldwarning("Security protocol error: Unable to access locking protocols.")) return TRUE if(ACCESS_RND in user_id_card?.access) locked = !locked else - to_chat(usr, "Unauthorized Access. Please insert research ID card.") + to_chat(usr, span_boldwarning("Unauthorized Access. Please insert research ID card.")) return TRUE if ("researchNode") if(!SSresearch.science_tech.available_nodes[params["node_id"]]) diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm index ad314b37559..1bb83a2969c 100644 --- a/code/modules/modular_computers/hardware/_hardware.dm +++ b/code/modules/modular_computers/hardware/_hardware.dm @@ -50,10 +50,10 @@ if(istype(I, /obj/item/stack/cable_coil)) var/obj/item/stack/S = I if(obj_integrity == max_integrity) - to_chat(user, "\The [src] doesn't seem to require repairs.") + to_chat(user, span_warning("\The [src] doesn't seem to require repairs.")) return 1 if(S.use(1)) - to_chat(user, "You patch up \the [src] with a bit of \the [I].") + to_chat(user, span_notice("You patch up \the [src] with a bit of \the [I].")) obj_integrity = min(obj_integrity + 10, max_integrity) return 1 @@ -90,11 +90,11 @@ /obj/item/computer_hardware/examine(mob/user) . = ..() if(damage > damage_failure) - . += "It seems to be severely damaged!" + . += span_danger("It seems to be severely damaged!") else if(damage > damage_malfunction) - . += "It seems to be damaged!" + . += span_warning("It seems to be damaged!") else if(damage) - . += "It seems to be slightly damaged." + . += span_notice("It seems to be slightly damaged.") // Component-side compatibility check. /obj/item/computer_hardware/proc/can_install(obj/item/modular_computer/M, mob/living/user = null) diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm index c0eecefcb6d..5bd308c820d 100644 --- a/code/modules/modular_computers/hardware/ai_slot.dm +++ b/code/modules/modular_computers/hardware/ai_slot.dm @@ -29,28 +29,28 @@ return FALSE if(stored_card) - to_chat(user, "You try to insert \the [I] into \the [src], but the slot is occupied.") + to_chat(user, span_warning("You try to insert \the [I] into \the [src], but the slot is occupied.")) return FALSE if(user && !user.transferItemToLoc(I, src)) return FALSE stored_card = I - to_chat(user, "You insert \the [I] into \the [src].") + to_chat(user, span_notice("You insert \the [I] into \the [src].")) return TRUE /obj/item/computer_hardware/ai_slot/try_eject(mob/living/user = null, forced = FALSE) if(!stored_card) - to_chat(user, "There is no card in \the [src].") + to_chat(user, span_warning("There is no card in \the [src].")) return FALSE if(locked && !forced) - to_chat(user, "Safeties prevent you from removing the card until reconstruction is complete...") + to_chat(user, span_warning("Safeties prevent you from removing the card until reconstruction is complete...")) return FALSE if(stored_card) - to_chat(user, "You remove [stored_card] from [src].") + to_chat(user, span_notice("You remove [stored_card] from [src].")) locked = FALSE if(user) user.put_in_hands(stored_card) @@ -64,6 +64,6 @@ if(..()) return if(I.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You press down on the manual eject button with \the [I].") + to_chat(user, span_notice("You press down on the manual eject button with \the [I].")) try_eject(user, TRUE) return diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm index 5c046ddeaf0..af651ce3b70 100644 --- a/code/modules/modular_computers/hardware/battery_module.dm +++ b/code/modules/modular_computers/hardware/battery_module.dm @@ -35,29 +35,29 @@ return FALSE if(battery) - to_chat(user, "You try to connect \the [I] to \the [src], but its connectors are occupied.") + to_chat(user, span_warning("You try to connect \the [I] to \the [src], but its connectors are occupied.")) return FALSE if(I.w_class > holder.max_hardware_size) - to_chat(user, "This power cell is too large for \the [holder]!") + to_chat(user, span_warning("This power cell is too large for \the [holder]!")) return FALSE if(user && !user.transferItemToLoc(I, src)) return FALSE battery = I - to_chat(user, "You connect \the [I] to \the [src].") + to_chat(user, span_notice("You connect \the [I] to \the [src].")) return TRUE /obj/item/computer_hardware/battery/try_eject(mob/living/user, forced = FALSE) if(!battery) - to_chat(user, "There is no power cell connected to \the [src].") + to_chat(user, span_warning("There is no power cell connected to \the [src].")) return FALSE else if(user) user.put_in_hands(battery) - to_chat(user, "You detach \the [battery] from \the [src].") + to_chat(user, span_notice("You detach \the [battery] from \the [src].")) else battery.forceMove(drop_location()) return TRUE diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm index 4c985c4b3ba..4eb429d4546 100644 --- a/code/modules/modular_computers/hardware/card_slot.dm +++ b/code/modules/modular_computers/hardware/card_slot.dm @@ -73,7 +73,7 @@ I.forceMove(src) stored_card = I - to_chat(user, "You insert \the [I] into \the [expansion_hw ? "secondary":"primary"] [src].") + to_chat(user, span_notice("You insert \the [I] into \the [expansion_hw ? "secondary":"primary"] [src].")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) var/holder_loc = holder.loc @@ -88,7 +88,7 @@ /obj/item/computer_hardware/card_slot/try_eject(mob/living/user = null, forced = FALSE) if(!stored_card) - to_chat(user, "There are no cards in \the [src].") + to_chat(user, span_warning("There are no cards in \the [src].")) return FALSE if(user && !issilicon(user) && in_range(src, user)) @@ -96,7 +96,7 @@ else stored_card.forceMove(drop_location()) - to_chat(user, "You remove the card from \the [src].") + to_chat(user, span_notice("You remove the card from \the [src].")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) return TRUE @@ -106,11 +106,11 @@ return if(I.tool_behaviour == TOOL_SCREWDRIVER) if(stored_card) - to_chat(user, "You press down on the manual eject button with \the [I].") + to_chat(user, span_notice("You press down on the manual eject button with \the [I].")) try_eject(user) return swap_slot() - to_chat(user, "You adjust the connecter to fit into [expansion_hw ? "an expansion bay" : "the primary ID bay"].") + to_chat(user, span_notice("You adjust the connecter to fit into [expansion_hw ? "an expansion bay" : "the primary ID bay"].")) /** *Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay. diff --git a/code/modules/modular_computers/hardware/hard_drive.dm b/code/modules/modular_computers/hardware/hard_drive.dm index 1cc3e6799db..29614cc7b09 100644 --- a/code/modules/modular_computers/hardware/hard_drive.dm +++ b/code/modules/modular_computers/hardware/hard_drive.dm @@ -20,7 +20,7 @@ /obj/item/computer_hardware/hard_drive/examine(user) . = ..() - . += "It has [max_capacity] GQ of storage capacity." + . += span_notice("It has [max_capacity] GQ of storage capacity.") /obj/item/computer_hardware/hard_drive/diagnostics(mob/user) ..() diff --git a/code/modules/modular_computers/hardware/printer.dm b/code/modules/modular_computers/hardware/printer.dm index f534a94a0d3..99756e3dd8d 100644 --- a/code/modules/modular_computers/hardware/printer.dm +++ b/code/modules/modular_computers/hardware/printer.dm @@ -11,11 +11,11 @@ /obj/item/computer_hardware/printer/diagnostics(mob/living/user) ..() - to_chat(user, "Paper level: [stored_paper]/[max_paper].") + to_chat(user, span_notice("Paper level: [stored_paper]/[max_paper].")) /obj/item/computer_hardware/printer/examine(mob/user) . = ..() - . += "Paper level: [stored_paper]/[max_paper]." + . += span_notice("Paper level: [stored_paper]/[max_paper].") /obj/item/computer_hardware/printer/proc/print_text(text_to_print, paper_title = "") @@ -41,12 +41,12 @@ /obj/item/computer_hardware/printer/try_insert(obj/item/I, mob/living/user = null) if(istype(I, /obj/item/paper)) if(stored_paper >= max_paper) - to_chat(user, "You try to add \the [I] into [src], but its paper bin is full!") + to_chat(user, span_warning("You try to add \the [I] into [src], but its paper bin is full!")) return FALSE if(user && !user.temporarilyRemoveItemFromInventory(I)) return FALSE - to_chat(user, "You insert \the [I] into [src]'s paper recycler.") + to_chat(user, span_notice("You insert \the [I] into [src]'s paper recycler.")) qdel(I) stored_paper++ return TRUE diff --git a/code/modules/modular_computers/hardware/recharger.dm b/code/modules/modular_computers/hardware/recharger.dm index 0a50f1d2995..f98382e5257 100644 --- a/code/modules/modular_computers/hardware/recharger.dm +++ b/code/modules/modular_computers/hardware/recharger.dm @@ -55,7 +55,7 @@ /obj/item/computer_hardware/recharger/wired/can_install(obj/item/modular_computer/M, mob/living/user = null) if(ismachinery(M.physical) && M.physical.anchored) return ..() - to_chat(user, "\The [src] is incompatible with portable computers!") + to_chat(user, span_warning("\The [src] is incompatible with portable computers!")) return FALSE /obj/item/computer_hardware/recharger/wired/use_power(amount, charging=0) diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm index 6a507ad7e78..a446bf828db 100644 --- a/code/modules/modular_computers/laptop_vendor.dm +++ b/code/modules/modular_computers/laptop_vendor.dm @@ -241,13 +241,13 @@ if(!user.temporarilyRemoveItemFromInventory(c)) return credits += c.value - visible_message("[user] inserts [c.value] cr into [src].") + visible_message(span_info("[span_name("[user]")] inserts [c.value] cr into [src].")) qdel(c) return else if(istype(I, /obj/item/holochip)) var/obj/item/holochip/HC = I credits += HC.credits - visible_message("[user] inserts a [HC.credits] cr holocredit chip into [src].") + visible_message(span_info("[user] inserts a [HC.credits] cr holocredit chip into [src].")) qdel(HC) return else if(istype(I, /obj/item/card/id)) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index fee30232fcc..a5925ea6e8f 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -111,7 +111,7 @@ msg = "Your Energy Katana lands at your feet!" if(msg) - to_chat(user, "[msg]") + to_chat(user, span_notice("[msg]")) /datum/action/innate/dash/ninja current_charges = 3 diff --git a/code/modules/ninja/ninja_explosive.dm b/code/modules/ninja/ninja_explosive.dm index f915f722c4c..cc586692d51 100644 --- a/code/modules/ninja/ninja_explosive.dm +++ b/code/modules/ninja/ninja_explosive.dm @@ -15,14 +15,14 @@ /obj/item/grenade/c4/ninja/afterattack(atom/movable/AM, mob/user, flag) var/datum/antagonist/ninja/ninja_antag = user.mind.has_antag_datum(/datum/antagonist/ninja) if(!ninja_antag) - to_chat(user, "While it appears normal, you can't seem to detonate the charge.") + to_chat(user, span_notice("While it appears normal, you can't seem to detonate the charge.")) return var/datum/objective/plant_explosive/objective = locate() in ninja_antag.objectives if(!objective) - to_chat(user, "You can't seem to activate the charge. It's location-locked, but you don't know where to detonate it.") + to_chat(user, span_notice("You can't seem to activate the charge. It's location-locked, but you don't know where to detonate it.")) return if(objective.detonation_location != get_area(user)) - to_chat(user, "This isn't the location you're supposed to use this!") + to_chat(user, span_notice("This isn't the location you're supposed to use this!")) return detonator = user return ..() diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index ebbce37179d..5e66356db7c 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -57,9 +57,9 @@ if(isnum(.)) //Numerical values of drained handle their feedback here, Alpha values handle it themselves (Research hacking) if(.) - to_chat(wearer, "Gained [DisplayEnergy(.)] of energy from [A].") + to_chat(wearer, span_notice("Gained [DisplayEnergy(.)] of energy from [A].")) else - to_chat(wearer, "\The [A] has run dry of energy, you must find another source!") + to_chat(wearer, span_danger("\The [A] has run dry of energy, you must find another source!")) else . = FALSE //as to not cancel attack_hand() diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm index 25778cbb4df..e3f93968944 100644 --- a/code/modules/ninja/suit/ninjaDrainAct.dm +++ b/code/modules/ninja/suit/ninjaDrainAct.dm @@ -114,14 +114,14 @@ . = DRAIN_RD_HACK_FAILED - to_chat(ninja, "Hacking \the [src]...") + to_chat(ninja, span_notice("Hacking \the [src]...")) AI_notify_hack() if(stored_research) - to_chat(ninja, "Copying files...") + to_chat(ninja, span_notice("Copying files...")) if(do_after(ninja, ninja_suit.s_delay, target = src) && src) stored_research.copy_research_to(ninja_suit.stored_research) - to_chat(ninja, "Data analyzed. Process finished.") + to_chat(ninja, span_notice("Data analyzed. Process finished.")) //RD SERVER// /obj/machinery/rnd/server/ninjadrain_act(obj/item/clothing/suit/space/space_ninja/ninja_suit, mob/living/carbon/human/ninja, obj/item/clothing/gloves/space_ninja/ninja_gloves) @@ -130,14 +130,14 @@ . = DRAIN_RD_HACK_FAILED - to_chat(ninja, "Hacking \the [src]...") + to_chat(ninja, span_notice("Hacking \the [src]...")) AI_notify_hack() if(stored_research) - to_chat(ninja, "Copying files...") + to_chat(ninja, span_notice("Copying files...")) if(do_after(ninja, ninja_suit.s_delay, target = src) && src) stored_research.copy_research_to(ninja_suit.stored_research) - to_chat(ninja, "Data analyzed. Process finished.") + to_chat(ninja, span_notice("Data analyzed. Process finished.")) //SECURITY CONSOLE// /obj/machinery/computer/secure_data/ninjadrain_act(obj/item/clothing/suit/space/space_ninja/ninja_suit, mob/living/carbon/human/ninja, obj/item/clothing/gloves/space_ninja/ninja_gloves) @@ -243,7 +243,7 @@ var/drain = 0 //Drain amount var/drain_total = 0 - to_chat(occupants, "[icon2html(src, occupants)]Warning: Unauthorized access through sub-route 4, block H, detected.") + to_chat(occupants, "[icon2html(src, occupants)][span_danger("Warning: Unauthorized access through sub-route 4, block H, detected.")]") if(get_charge()) while(cell.charge > 0 && !maxcapacity) drain = rand(ninja_gloves.mindrain, ninja_gloves.maxdrain) @@ -268,11 +268,11 @@ if(!ninja_suit || !ninja || !ninja_gloves || (ROLE_NINJA in faction)) return INVALID_DRAIN - to_chat(src, "Warni-***BZZZZZZZZZRT*** UPLOADING SPYDERPATCHER VERSION 9.5.2...") + to_chat(src, span_danger("Warni-***BZZZZZZZZZRT*** UPLOADING SPYDERPATCHER VERSION 9.5.2...")) if (do_after(ninja, 60, target = src)) spark_system.start() playsound(loc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(src, "UPLOAD COMPLETE. NEW CYBORG MODEL DETECTED. INSTALLING...") + to_chat(src, span_danger("UPLOAD COMPLETE. NEW CYBORG MODEL DETECTED. INSTALLING...")) faction = list(ROLE_NINJA) bubble_icon = "syndibot" UnlinkSelf() @@ -301,5 +301,5 @@ var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() spark_system.set_up(5, 0, loc) playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - visible_message("[ninja] electrocutes [src] with [ninja.p_their()] touch!", "[ninja] electrocutes you with [ninja.p_their()] touch!") + visible_message(span_danger("[ninja] electrocutes [src] with [ninja.p_their()] touch!"), span_userdanger("[ninja] electrocutes you with [ninja.p_their()] touch!")) Knockdown(3 SECONDS) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm index 91fc3f226a7..0e34260a074 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm @@ -31,7 +31,7 @@ /obj/structure/energy_net/Destroy() if(!QDELETED(affecting)) - affecting.visible_message("[affecting.name] is recovered from the energy net!", "You are recovered from the energy net!", "You hear a grunt.") + affecting.visible_message(span_notice("[affecting.name] is recovered from the energy net!"), span_notice("You are recovered from the energy net!"), span_hear("You hear a grunt.")) affecting = null return ..() diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm index d5d1a526783..ff368603eba 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm @@ -29,7 +29,7 @@ ninja.reagents.add_reagent(/datum/reagent/medicine/stimulants, 5) ninja.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!"), forced = "ninjaboost") a_boost = FALSE - to_chat(ninja, "You have used the adrenaline boost.") + to_chat(ninja, span_notice("You have used the adrenaline boost.")) s_coold = 6 addtimer(CALLBACK(src, .proc/ninjaboost_after), 70) @@ -42,4 +42,4 @@ /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost_after() var/mob/living/carbon/human/ninja = affecting ninja.reagents.add_reagent(/datum/reagent/uranium/radium, a_transfer * 0.25) - to_chat(ninja, "You are beginning to feel the after-effect of the injection.") + to_chat(ninja, span_danger("You are beginning to feel the after-effect of the injection.")) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm index 7fb9d9dbf68..eee581e0885 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm @@ -12,7 +12,7 @@ var/mob/living/carbon/human/ninja = affecting var/actualCost = cost*10 if(cost && cell.charge < actualCost) - to_chat(ninja, "Not enough energy!") + to_chat(ninja, span_warning("Not enough energy!")) return TRUE else //This shit used to be handled individually on every proc.. why even bother with a universal check proc then? @@ -23,6 +23,6 @@ cancel_stealth()//Get rid of it. if(N_ADRENALINE) if(!a_boost) - to_chat(ninja, "You do not have any more adrenaline boosters!") + to_chat(ninja, span_warning("You do not have any more adrenaline boosters!")) return TRUE return (s_coold)//Returns the value of the variable which counts down to zero. diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm index ab52f3e0180..0b58a65b210 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm @@ -18,18 +18,18 @@ return if(locate(/obj/structure/energy_net) in get_turf(net_target))//Check if they are already being affected by an energy net. - to_chat(ninja, "[net_target.p_they(TRUE)] are already trapped inside an energy net!") + to_chat(ninja, span_warning("[net_target.p_they(TRUE)] are already trapped inside an energy net!")) return for(var/turf/between_turf in getline(get_turf(ninja), get_turf(net_target))) if(between_turf.density)//Don't want them shooting nets through walls. It's kind of cheesy. - to_chat(ninja, "You may not use an energy net through solid obstacles!") + to_chat(ninja, span_warning("You may not use an energy net through solid obstacles!")) return if(!ninjacost(400,N_STEALTH_CANCEL)) ninja.Beam(net_target, "n_beam", time = 15) ninja.say("Get over here!", forced = "ninja net") var/obj/structure/energy_net/net = new /obj/structure/energy_net(net_target.drop_location()) net.affecting = net_target - ninja.visible_message("[ninja] caught [net_target] with an energy net!","You caught [net_target] with an energy net!") + ninja.visible_message(span_danger("[ninja] caught [net_target] with an energy net!"),span_notice("You caught [net_target] with an energy net!")) if(net_target.buckled) net_target.buckled.unbuckle_mob(affecting,TRUE) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm index dc6396ef503..2c8adbc5770 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm @@ -17,10 +17,10 @@ var/mob/living/carbon/human/ninja = affecting var/obj/item/throwing_star/stamina/ninja/ninja_star = new(ninja) if(ninja.put_in_hands(ninja_star)) - to_chat(ninja, "A throwing star has been created in your hand!") + to_chat(ninja, span_notice("A throwing star has been created in your hand!")) else qdel(ninja_star) - to_chat(ninja, "You can't create a throwing star, your hands are full!") + to_chat(ninja, span_notice("You can't create a throwing star, your hands are full!")) /** * # Ninja Throwing Star diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm index 7ab3bedaaf0..90824fe934b 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm @@ -16,24 +16,24 @@ /obj/item/clothing/suit/space/space_ninja/proc/ninjastatus() var/mob/living/carbon/human/ninja = affecting var/list/info_list = list() - info_list += "SpiderOS Status: [s_initialized ? "Initialized" : "Disabled"]\n" - info_list += "Current Time: [station_time_timestamp()]\n" + info_list += "[span_info("SpiderOS Status: [s_initialized ? "Initialized" : "Disabled"]")]\n" + info_list += "[span_info("Current Time: [station_time_timestamp()]")]\n" //Ninja status - info_list += "Fingerprints: [md5(ninja.dna.uni_identity)]\n" - info_list += "Unique Identity: [ninja.dna.unique_enzymes]\n" - info_list += "Overall Status: [ninja.stat > 1 ? "dead" : "[ninja.health]% healthy"]\n" - info_list += "Nutrition Status: [ninja.nutrition]\n" - info_list += "Oxygen Loss: [ninja.getOxyLoss()]\n" - info_list += "Toxin Levels: [ninja.getToxLoss()]\n" - info_list += "Burn Severity: [ninja.getFireLoss()]\n" - info_list += "Brute Trauma: [ninja.getBruteLoss()]\n" - info_list += "Radiation Levels: [ninja.radiation] rad\n" - info_list += "Body Temperature: [ninja.bodytemperature-T0C] degrees C ([ninja.bodytemperature*1.8-459.67] degrees F)\n" + info_list += "[span_info("Fingerprints: [md5(ninja.dna.uni_identity)]")]\n" + info_list += "[span_info("Unique Identity: [ninja.dna.unique_enzymes]")]\n" + info_list += "[span_info("Overall Status: [ninja.stat > 1 ? "dead" : "[ninja.health]% healthy"]")]\n" + info_list += "[span_info("Nutrition Status: [ninja.nutrition]")]\n" + info_list += "[span_info("Oxygen Loss: [ninja.getOxyLoss()]")]\n" + info_list += "[span_info("Toxin Levels: [ninja.getToxLoss()]")]\n" + info_list += "[span_info("Burn Severity: [ninja.getFireLoss()]")]\n" + info_list += "[span_info("Brute Trauma: [ninja.getBruteLoss()]")]\n" + info_list += "[span_info("Radiation Levels: [ninja.radiation] rad")]\n" + info_list += "[span_info("Body Temperature: [ninja.bodytemperature-T0C] degrees C ([ninja.bodytemperature*1.8-459.67] degrees F)")]\n" //Diseases if(length(ninja.diseases)) info_list += "Viruses:" for(var/datum/disease/ninja_disease in ninja.diseases) - info_list += "* [ninja_disease.name], Type: [ninja_disease.spread_text], Stage: [ninja_disease.stage]/[ninja_disease.max_stages], Possible Cure: [ninja_disease.cure_text]\n" + info_list += "[span_info("* [ninja_disease.name], Type: [ninja_disease.spread_text], Stage: [ninja_disease.stage]/[ninja_disease.max_stages], Possible Cure: [ninja_disease.cure_text]")]\n" to_chat(ninja, "[info_list.Join()]") diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm index 079f0c53e94..49c3ebdd54e 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm @@ -18,12 +18,12 @@ cancel_stealth() else if(cell.charge <= 0) - to_chat(ninja, "You don't have enough power to enable Stealth!") + to_chat(ninja, span_warning("You don't have enough power to enable Stealth!")) return stealth = !stealth animate(ninja, alpha = 20,time = 12) - ninja.visible_message("[ninja.name] vanishes into thin air!", \ - "You are now mostly invisible to normal detection.") + ninja.visible_message(span_warning("[ninja.name] vanishes into thin air!"), \ + span_notice("You are now mostly invisible to normal detection.")) /** * Proc called to cancel stealth. @@ -40,7 +40,7 @@ if(stealth) stealth = !stealth animate(ninja, alpha = 255, time = 12) - ninja.visible_message("[ninja.name] appears from thin air!", \ - "You are now visible.") + ninja.visible_message(span_warning("[ninja.name] appears from thin air!"), \ + span_notice("You are now visible.")) return TRUE return FALSE diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm index 8b425fd15c7..945b8fb249d 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm @@ -35,7 +35,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( /obj/item/clothing/suit/space/space_ninja/proc/toggle_on_off() . = TRUE if(s_busy) - to_chat(loc, "ERROR: You cannot use this function at this time.") + to_chat(loc, "[span_warning("ERROR")]: You cannot use this function at this time.") return FALSE s_busy = TRUE if(s_initialized) @@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( s_busy = FALSE return if (phase > NINJA_LOCK_PHASE && (ninja.stat == DEAD || ninja.health <= 0)) - to_chat(ninja, "FĆAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG...") + to_chat(ninja, span_danger("FĆAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG...")) unlock_suit(ninja) s_busy = FALSE return @@ -78,7 +78,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( s_initialized = TRUE s_busy = FALSE - to_chat(ninja, "[message]") + to_chat(ninja, span_notice("[message]")) playsound(ninja, 'sound/effects/sparks1.ogg', 10, TRUE) if (phase < NINJA_COMPLETE_PHASE) @@ -107,7 +107,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( message = "Logging off, [ninja.real_name]. " + message if(NINJA_DEINIT_STEALTH_PHASE) cancel_stealth() - to_chat(ninja, "[message]") + to_chat(ninja, span_notice("[message]")) playsound(ninja, 'sound/items/deconstruct.ogg', 10, TRUE) if (phase < NINJA_COMPLETE_PHASE) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm index 22fdf86ccd1..a82822fdfd0 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm @@ -17,7 +17,7 @@ var/inview = TRUE if(!energyKatana) - to_chat(ninja, "Could not locate Energy Katana!") + to_chat(ninja, span_warning("Could not locate Energy Katana!")) return if(energyKatana in ninja) @@ -40,7 +40,7 @@ if(inview) //If we can see the katana, throw it towards ourselves, damaging people as we go. energyKatana.spark_system.start() playsound(ninja, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - ninja.visible_message("\the [energyKatana] flies towards [ninja]!","You hold out your hand and \the [energyKatana] flies towards you!") + ninja.visible_message(span_danger("\the [energyKatana] flies towards [ninja]!"),span_warning("You hold out your hand and \the [energyKatana] flies towards you!")) energyKatana.throw_at(ninja, distance+1, energyKatana.throw_speed, ninja) else //Else just TP it to us. diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 108cf555985..9e01a7c3407 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -120,10 +120,10 @@ toggle_on_off() return TRUE if(!s_initialized) - to_chat(user, "ERROR: suit offline. Please activate suit.") + to_chat(user, span_warning("ERROR: suit offline. Please activate suit.")) return FALSE if(s_coold > 0) - to_chat(user, "ERROR: suit is on cooldown.") + to_chat(user, span_warning("ERROR: suit is on cooldown.")) return FALSE if(IS_NINJA_SUIT_STATUS(action)) ninjastatus() @@ -192,17 +192,17 @@ if(!istype(ninja)) return FALSE if(!IS_SPACE_NINJA(ninja)) - to_chat(ninja, "fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAU†HORIZED USÈ DETÈC†††eD\nCoMMÈNCING SUB-R0U†IN3 13...\nTÈRMInATING U-U-USÈR...") + to_chat(ninja, span_danger("fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAU†HORIZED USÈ DETÈC†††eD\nCoMMÈNCING SUB-R0U†IN3 13...\nTÈRMInATING U-U-USÈR...")) ninja.gib() return FALSE if(!istype(ninja.head, /obj/item/clothing/head/helmet/space/space_ninja)) - to_chat(ninja, "ERROR: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING...") + to_chat(ninja, "[span_userdanger("ERROR")]: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING...") return FALSE if(!istype(ninja.shoes, /obj/item/clothing/shoes/space_ninja)) - to_chat(ninja, "ERROR: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING...") + to_chat(ninja, "[span_userdanger("ERROR")]: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING...") return FALSE if(!istype(ninja.gloves, /obj/item/clothing/gloves/space_ninja)) - to_chat(ninja, "ERROR: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...") + to_chat(ninja, "[span_userdanger("ERROR")]: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...") return FALSE affecting = ninja ADD_TRAIT(src, TRAIT_NODROP, NINJA_SUIT_TRAIT) diff --git a/code/modules/ninja/suit/suit_attackby.dm b/code/modules/ninja/suit/suit_attackby.dm index 31767aebdb6..509c6a2652b 100644 --- a/code/modules/ninja/suit/suit_attackby.dm +++ b/code/modules/ninja/suit/suit_attackby.dm @@ -5,14 +5,14 @@ if(istype(I, /obj/item/reagent_containers/glass) && I.reagents.has_reagent(/datum/reagent/uranium/radium, a_transfer) && a_boost != TRUE)//If it's a glass beaker, and what we're transferring is radium. I.reagents.remove_reagent(/datum/reagent/uranium/radium, a_transfer) a_boost = TRUE; - to_chat(ninja, "The suit's adrenaline boost is now reloaded.") + to_chat(ninja, span_notice("The suit's adrenaline boost is now reloaded.")) return else if(istype(I, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/CELL = I if(CELL.maxcharge > cell.maxcharge) - to_chat(ninja, "Higher maximum capacity detected.\nUpgrading...") + to_chat(ninja, span_notice("Higher maximum capacity detected.\nUpgrading...")) if (do_after(ninja,s_delay, target = src)) ninja.transferItemToLoc(CELL, src) CELL.charge = min(CELL.charge+cell.charge, CELL.maxcharge) @@ -23,9 +23,9 @@ old_cell.corrupt() old_cell.update_appearance() cell = CELL - to_chat(ninja, "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%") + to_chat(ninja, span_notice("Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%")) else - to_chat(ninja, "Procedure interrupted. Protocol terminated.") + to_chat(ninja, span_danger("Procedure interrupted. Protocol terminated.")) return else if(istype(I, /obj/item/disk/tech_disk))//If it's a data disk, we want to copy the research on to the suit. @@ -36,15 +36,15 @@ has_research = TRUE break if(has_research)//If it has something on it. - to_chat(ninja, "Research information detected, processing...") + to_chat(ninja, span_notice("Research information detected, processing...")) if(do_after(ninja,s_delay, target = src)) TD.stored_research.copy_research_to(stored_research) qdel(TD.stored_research) TD.stored_research = new - to_chat(ninja, "Data analyzed and updated. Disk erased.") + to_chat(ninja, span_notice("Data analyzed and updated. Disk erased.")) else - to_chat(ninja, "ERROR: Procedure interrupted. Process terminated.") + to_chat(ninja, "[span_userdanger("ERROR")]: Procedure interrupted. Process terminated.") else - to_chat(ninja, "No new research information detected.") + to_chat(ninja, span_notice("No new research information detected.")) return return ..() diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index f693310efef..bff767aa732 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -21,11 +21,11 @@ . = ..() if(copied || iscopy) return - . += "Right-click to tear off the carbon-copy (you must use both hands)." + . += span_notice("Right-click to tear off the carbon-copy (you must use both hands).") /obj/item/paper/carbon/proc/removecopy(mob/living/user) if(copied || iscopy) - to_chat(user, "There are no more carbon copies attached to this paper!") + to_chat(user, span_notice("There are no more carbon copies attached to this paper!")) else var/obj/item/paper/carbon/C = src var/copycontents = C.info @@ -37,7 +37,7 @@ Copy.info += copycontents Copy.info += "
    " Copy.name = "Copy - [C.name]" - to_chat(user, "You tear off the carbon-copy!") + to_chat(user, span_notice("You tear off the carbon-copy!")) C.copied = TRUE Copy.iscopy = TRUE Copy.update_icon_state() diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 9c88473dd22..b8cf837a975 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -25,7 +25,7 @@ var/datum/weakref/toppaper_ref /obj/item/clipboard/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins putting [user.p_their()] head into the clip of \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins putting [user.p_their()] head into the clip of \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS //The clipboard's clip is very strong. Industrial duty. Can kill a man easily. /obj/item/clipboard/Initialize() @@ -39,10 +39,10 @@ /obj/item/clipboard/examine() . = ..() if(pen) - . += "Alt-click to remove [pen]." + . += span_notice("Alt-click to remove [pen].") var/obj/item/paper/toppaper = toppaper_ref?.resolve() if(toppaper) - . += "Right-click to remove [toppaper]." + . += span_notice("Right-click to remove [toppaper].") /// Take out the topmost paper /obj/item/clipboard/proc/remove_paper(obj/item/paper/paper, mob/user) @@ -50,7 +50,7 @@ return paper.forceMove(user.loc) user.put_in_hands(paper) - to_chat(user, "You remove [paper] from [src].") + to_chat(user, span_notice("You remove [paper] from [src].")) var/obj/item/paper/toppaper = toppaper_ref?.resolve() if(paper == toppaper) toppaper_ref = null @@ -64,7 +64,7 @@ /obj/item/clipboard/proc/remove_pen(mob/user) pen.forceMove(user.loc) user.put_in_hands(pen) - to_chat(user, "You remove [pen] from [src].") + to_chat(user, span_notice("You remove [pen] from [src].")) pen = null update_icon() @@ -97,13 +97,13 @@ if(!user.transferItemToLoc(weapon, src)) return toppaper_ref = WEAKREF(weapon) - to_chat(user, "You clip [weapon] onto [src].") + to_chat(user, span_notice("You clip [weapon] onto [src].")) else if(istype(weapon, /obj/item/pen) && !pen) //Add a pen into the clipboard, attack (write) if there is already one if(!usr.transferItemToLoc(weapon, src)) return pen = weapon - to_chat(usr, "You slot [weapon] into [src].") + to_chat(usr, span_notice("You slot [weapon] into [src].")) else if(toppaper) toppaper.attackby(user.get_active_held_item(), user) update_appearance() @@ -170,7 +170,7 @@ var/obj/item/paper/paper = locate(params["ref"]) in src if(istype(paper)) toppaper_ref = WEAKREF(paper) - to_chat(usr, "You move [paper] to the top.") + to_chat(usr, span_notice("You move [paper] to the top.")) update_icon() . = TRUE // Rename the paper (it's a verb) diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index 6550a3b487c..3e448de627c 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -48,20 +48,20 @@ /obj/structure/filingcabinet/attackby(obj/item/P, mob/living/user, params) var/list/modifiers = params2list(params) if(P.tool_behaviour == TOOL_WRENCH && LAZYACCESS(modifiers, RIGHT_CLICK)) - to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") + to_chat(user, span_notice("You begin to [anchored ? "unwrench" : "wrench"] [src].")) if(P.use_tool(src, user, 20, volume=50)) - to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].") + to_chat(user, span_notice("You successfully [anchored ? "unwrench" : "wrench"] [src].")) set_anchored(!anchored) else if(P.w_class < WEIGHT_CLASS_NORMAL) if(!user.transferItemToLoc(P, src)) return - to_chat(user, "You put [P] in [src].") + to_chat(user, span_notice("You put [P] in [src].")) icon_state = "[initial(icon_state)]-open" sleep(5) icon_state = initial(icon_state) updateUsrDialog() else if(!user.combat_mode) - to_chat(user, "You can't put [P] in [src]!") + to_chat(user, span_warning("You can't put [P] in [src]!")) else return ..() @@ -69,7 +69,7 @@ /obj/structure/filingcabinet/ui_interact(mob/user) . = ..() if(contents.len <= 0) - to_chat(user, "[src] is empty.") + to_chat(user, span_notice("[src] is empty.")) return var/dat = "
    " @@ -95,9 +95,9 @@ I.forceMove(loc) if(prob(25)) step_rand(I) - to_chat(user, "You pull \a [I] out of [src] at random.") + to_chat(user, span_notice("You pull \a [I] out of [src] at random.")) return - to_chat(user, "You find nothing in [src].") + to_chat(user, span_notice("You find nothing in [src].")) /obj/structure/filingcabinet/Topic(href, href_list) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 9902dbea8d2..98137de5e88 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -10,7 +10,7 @@ var/bg_color = "#7f7f7f" /obj/item/folder/suicide_act(mob/living/user) - user.visible_message("[user] begins filing an imaginary death warrant! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins filing an imaginary death warrant! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS /obj/item/folder/Initialize() @@ -27,11 +27,11 @@ /obj/item/folder/examine() . = ..() if(contents) - . += "Right-click to remove [contents[1]]." + . += span_notice("Right-click to remove [contents[1]].") /obj/item/folder/proc/rename(mob/user) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on the cover of [src]!") + to_chat(user, span_notice("You scribble illegibly on the cover of [src]!")) return var/inputvalue = stripped_input(user, "What would you like to label the folder?", "Folder Labelling", "", MAX_NAME_LEN) @@ -46,7 +46,7 @@ if(istype(Item)) Item.forceMove(user.loc) user.put_in_hands(Item) - to_chat(user, "You remove [Item] from [src].") + to_chat(user, span_notice("You remove [Item] from [src].")) update_icon() /obj/item/folder/attack_hand(mob/user, list/modifiers) @@ -67,7 +67,7 @@ //Add paper, photo or documents into the folder if(!user.transferItemToLoc(weapon, src)) return - to_chat(user, "You put [weapon] into [src].") + to_chat(user, span_notice("You put [weapon] into [src].")) update_appearance() else if(istype(weapon, /obj/item/pen)) rename(user) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 0618fe7173b..687f4fe4f6b 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -9,7 +9,7 @@ var/mode = 0 /obj/item/hand_labeler/suicide_act(mob/user) - user.visible_message("[user] is pointing [src] at [user.p_them()]self. [user.p_theyre(TRUE)] going to label [user.p_them()]self as a suicide!") + user.visible_message(span_suicide("[user] is pointing [src] at [user.p_them()]self. [user.p_theyre(TRUE)] going to label [user.p_them()]self as a suicide!")) labels_left = max(labels_left - 1, 0) var/old_real_name = user.real_name @@ -44,20 +44,20 @@ return if(!labels_left) - to_chat(user, "No labels left!") + to_chat(user, span_warning("No labels left!")) return if(!label || !length(label)) - to_chat(user, "No text set!") + to_chat(user, span_warning("No text set!")) return if(length(A.name) + length(label) > 64) - to_chat(user, "Label too big!") + to_chat(user, span_warning("Label too big!")) return if(ismob(A)) - to_chat(user, "You can't label creatures!") // use a collar + to_chat(user, span_warning("You can't label creatures!")) // use a collar return - user.visible_message("[user] labels [A] with \"[label]\".", \ - "You label [A] with \"[label]\".") + user.visible_message(span_notice("[user] labels [A] with \"[label]\"."), \ + span_notice("You label [A] with \"[label]\".")) A.AddComponent(/datum/component/label, label) playsound(A, 'sound/items/handling/component_pickup.ogg', 20, TRUE) labels_left-- @@ -65,26 +65,26 @@ /obj/item/hand_labeler/attack_self(mob/user) if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to use [src]!") + to_chat(user, span_warning("You don't have the dexterity to use [src]!")) return mode = !mode icon_state = "labeler[mode]" if(mode) - to_chat(user, "You turn on [src].") + to_chat(user, span_notice("You turn on [src].")) //Now let them chose the text. var/str = reject_bad_text(stripped_input(user, "Label text?", "Set label","", MAX_NAME_LEN)) if(!str || !length(str)) - to_chat(user, "Invalid text!") + to_chat(user, span_warning("Invalid text!")) return label = str - to_chat(user, "You set the text to '[str]'.") + to_chat(user, span_notice("You set the text to '[str]'.")) else - to_chat(user, "You turn off [src].") + to_chat(user, span_notice("You turn off [src].")) /obj/item/hand_labeler/attackby(obj/item/I, mob/user, params) ..() if(istype(I, /obj/item/hand_labeler_refill)) - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_notice("You insert [I] into [src].")) qdel(I) labels_left = initial(labels_left) //Yes, it's capped at its initial value diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 66d281636f2..f95d2bbda9f 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -119,7 +119,7 @@ if(ishuman(usr)) var/mob/living/carbon/human/H = usr if(HAS_TRAIT(H, TRAIT_CLUMSY) && prob(25)) - to_chat(H, "You cut yourself on the paper! Ahhhh! Ahhhhh!") + to_chat(H, span_warning("You cut yourself on the paper! Ahhhh! Ahhhhh!")) H.damageoverlaytemp = 9001 H.update_damage_hud() return @@ -129,7 +129,7 @@ add_fingerprint(usr) /obj/item/paper/suicide_act(mob/user) - user.visible_message("[user] scratches a grid on [user.p_their()] wrist with the paper! It looks like [user.p_theyre()] trying to commit sudoku...") + user.visible_message(span_suicide("[user] scratches a grid on [user.p_their()] wrist with the paper! It looks like [user.p_theyre()] trying to commit sudoku...")) return (BRUTELOSS) /obj/item/paper/proc/clearpaper() @@ -142,12 +142,12 @@ /obj/item/paper/examine(mob/user) . = ..() if(!in_range(user, src) && !isobserver(user)) - . += "You're too far away to read it!" + . += span_warning("You're too far away to read it!") return if(user.can_read(src)) ui_interact(user) return - . += "You cannot read it!" + . += span_warning("You cannot read it!") /obj/item/paper/ui_status(mob/user,/datum/ui_state/state) // Are we on fire? Hard ot read if so @@ -179,8 +179,8 @@ return . = TRUE if(!bypass_clumsy && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10) && Adjacent(user)) - user.visible_message("[user] accidentally ignites [user.p_them()]self!", \ - "You miss [src] and accidentally light yourself on fire!") + user.visible_message(span_warning("[user] accidentally ignites [user.p_them()]self!"), \ + span_userdanger("You miss [src] and accidentally light yourself on fire!")) if(user.is_holding(I)) //checking if they're holding it in case TK is involved user.dropItemToGround(I) user.adjust_fire_stacks(1) @@ -204,12 +204,12 @@ return else if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon)) if(length(info) >= MAX_PAPER_LENGTH) // Sheet must have less than 1000 charaters - to_chat(user, "This sheet of paper is full!") + to_chat(user, span_warning("This sheet of paper is full!")) return ui_interact(user) return else if(istype(P, /obj/item/stamp)) - to_chat(user, "You ready your stamp over the paper! ") + to_chat(user, span_notice("You ready your stamp over the paper! ")) ui_interact(user) return /// Normaly you just stamp, you don't need to read the thing else @@ -326,7 +326,7 @@ update_static_data(usr,ui) var/obj/O = ui.user.get_active_held_item() - ui.user.visible_message("[ui.user] stamps [src] with \the [O.name]!", "You stamp [src] with \the [O.name]!") + ui.user.visible_message(span_notice("[ui.user] stamps [src] with \the [O.name]!"), span_notice("You stamp [src] with \the [O.name]!")) else to_chat(usr, pick("You try to stamp but you miss!", "There is no where else you can stamp!")) . = TRUE diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm index 5c7a60b6ff4..a16dd92c6c3 100644 --- a/code/modules/paperwork/paper_cutter.dm +++ b/code/modules/paperwork/paper_cutter.dm @@ -20,7 +20,7 @@ /obj/item/papercutter/suicide_act(mob/user) if(storedcutter) - user.visible_message("[user] is beheading [user.p_them()]self with [src.name]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is beheading [user.p_them()]self with [src.name]! It looks like [user.p_theyre()] trying to commit suicide!")) if(iscarbon(user)) var/mob/living/carbon/C = user var/obj/item/bodypart/BP = C.get_bodypart(BODY_ZONE_HEAD) @@ -29,7 +29,7 @@ playsound(loc, "desecration" ,50, TRUE, -1) return (BRUTELOSS) else - user.visible_message("[user] repeatedly bashes [src.name] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] repeatedly bashes [src.name] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1) return (BRUTELOSS) @@ -49,21 +49,21 @@ if(!user.transferItemToLoc(P, src)) return playsound(loc, "pageturn", 60, TRUE) - to_chat(user, "You place [P] in [src].") + to_chat(user, span_notice("You place [P] in [src].")) storedpaper = P update_appearance() return if(istype(P, /obj/item/hatchet/cutterblade) && !storedcutter) if(!user.transferItemToLoc(P, src)) return - to_chat(user, "You replace [src]'s [P].") + to_chat(user, span_notice("You replace [src]'s [P].")) P.forceMove(src) storedcutter = P update_appearance() return if(P.tool_behaviour == TOOL_SCREWDRIVER && storedcutter) P.play_tool_sound(src) - to_chat(user, "[storedcutter] has been [cuttersecured ? "unsecured" : "secured"].") + to_chat(user, span_notice("[storedcutter] has been [cuttersecured ? "unsecured" : "secured"].")) cuttersecured = !cuttersecured return ..() @@ -74,18 +74,18 @@ return add_fingerprint(user) if(!storedcutter) - to_chat(user, "The cutting blade is gone! You can't use [src] now.") + to_chat(user, span_warning("The cutting blade is gone! You can't use [src] now.")) return if(!cuttersecured) - to_chat(user, "You remove [src]'s [storedcutter].") + to_chat(user, span_notice("You remove [src]'s [storedcutter].")) user.put_in_hands(storedcutter) storedcutter = null update_appearance() if(storedpaper) playsound(src.loc, 'sound/weapons/slash.ogg', 50, TRUE) - to_chat(user, "You neatly cut [storedpaper].") + to_chat(user, span_notice("You neatly cut [storedpaper].")) storedpaper = null qdel(storedpaper) new /obj/item/paperslip(get_turf(src)) diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 99b979e1304..7af3fcfd81a 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -53,7 +53,7 @@ if(!droppoint) droppoint = drop_location() if(collapse) - visible_message("The stack of paper collapses!") + visible_message(span_warning("The stack of paper collapses!")) for(var/atom/movable/movable_atom in contents) movable_atom.forceMove(droppoint) if(!movable_atom.pixel_y) @@ -87,7 +87,7 @@ pen.add_fingerprint(user) pen.forceMove(user.loc) user.put_in_hands(pen) - to_chat(user, "You take [pen] out of [src].") + to_chat(user, span_notice("You take [pen] out of [src].")) bin_pen = null update_appearance() else if(LAZYLEN(papers)) @@ -96,10 +96,10 @@ top_paper.add_fingerprint(user) top_paper.forceMove(user.loc) user.put_in_hands(top_paper) - to_chat(user, "You take [top_paper] out of [src].") + to_chat(user, span_notice("You take [top_paper] out of [src].")) update_appearance() else - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) add_fingerprint(user) return ..() @@ -111,14 +111,14 @@ var/obj/item/paper/paper = I if(!user.transferItemToLoc(paper, src)) return - to_chat(user, "You put [paper] in [src].") + to_chat(user, span_notice("You put [paper] in [src].")) papers.Add(paper) update_appearance() else if(istype(I, /obj/item/pen) && !bin_pen) var/obj/item/pen/pen = I if(!user.transferItemToLoc(pen, src)) return - to_chat(user, "You put [pen] in [src].") + to_chat(user, span_notice("You put [pen] in [src].")) bin_pen = pen update_appearance() else @@ -217,11 +217,11 @@ /obj/item/paper_bin/bundlenatural/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/paper/carbon)) - to_chat(user, "[W] won't fit into [src].") + to_chat(user, span_warning("[W] won't fit into [src].")) return if(W.get_sharpness()) if(W.use_tool(src, user, 1 SECONDS)) - to_chat(user, "You slice the cable from [src].") + to_chat(user, span_notice("You slice the cable from [src].")) deconstruct(TRUE) else ..() diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index 42ee665ab6e..e3cfc96050c 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -48,7 +48,7 @@ /obj/item/paperplane/suicide_act(mob/living/user) var/obj/item/organ/eyes/eyes = user.getorganslot(ORGAN_SLOT_EYES) user.Stun(200) - user.visible_message("[user] jams [src] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] jams [src] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!")) user.adjust_blurriness(6) if(eyes) eyes.applyOrganDamage(rand(6,8)) @@ -64,7 +64,7 @@ . += "paperplane_[S]" /obj/item/paperplane/attack_self(mob/user) - to_chat(user, "You unfold [src].") + to_chat(user, span_notice("You unfold [src].")) // We don't have to qdel the paperplane here; it shall be done once the internal paper object is moved out of src anyway. if(user.Adjacent(internalPaper)) user.put_in_hands(internalPaper) @@ -75,7 +75,7 @@ if(burn_paper_product_attackby_check(P, user)) return if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon)) - to_chat(user, "You should unfold [src] before changing it!") + to_chat(user, span_warning("You should unfold [src] before changing it!")) return else if(istype(P, /obj/item/stamp)) //we don't randomize stamps on a paperplane @@ -105,7 +105,7 @@ if(prob(hit_probability)) if(H.is_eyes_covered()) return - visible_message("\The [src] hits [H] in the eye[eyes ? "" : " socket"]!") + visible_message(span_danger("\The [src] hits [H] in the eye[eyes ? "" : " socket"]!")) H.adjust_blurriness(6) eyes?.applyOrganDamage(rand(6,8)) H.Paralyze(40) @@ -113,7 +113,7 @@ /obj/item/paper/examine(mob/user) . = ..() - . += "Alt-click [src] to fold it into a paper plane." + . += span_notice("Alt-click [src] to fold it into a paper plane.") /obj/item/paper/AltClick(mob/living/user, obj/item/I) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) @@ -121,7 +121,7 @@ if(istype(src, /obj/item/paper/carbon)) var/obj/item/paper/carbon/Carbon = src if(!Carbon.iscopy && !Carbon.copied) - to_chat(user, "Take off the carbon copy first.") + to_chat(user, span_notice("Take off the carbon copy first.")) return //Origami Master var/datum/action/innate/origami/origami_action = locate() in user.actions @@ -139,7 +139,7 @@ * * obj/item/paperplane/plane_type - what it will be folded into (path) */ /obj/item/paper/proc/make_plane(mob/living/user, obj/item/I, obj/item/paperplane/plane_type = /obj/item/paperplane) - to_chat(user, "You fold [src] into the shape of a plane!") + to_chat(user, span_notice("You fold [src] into the shape of a plane!")) user.temporarilyRemoveItemFromInventory(src) I = new plane_type(loc, src) if(user.Adjacent(I)) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 3f7bfcf296a..9ff2a05464a 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -32,7 +32,7 @@ sharpness = SHARP_POINTY /obj/item/pen/suicide_act(mob/user) - user.visible_message("[user] is scribbling numbers all over [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit sudoku...") + user.visible_message(span_suicide("[user] is scribbling numbers all over [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit sudoku...")) return(BRUTELOSS) /obj/item/pen/blue @@ -68,7 +68,7 @@ colour = "blue" else colour = "black" - to_chat(user, "\The [src] will now write in [colour].") + to_chat(user, span_notice("\The [src] will now write in [colour].")) desc = "It's a fancy four-color ink pen, set to [colour]." /obj/item/pen/fountain @@ -125,7 +125,7 @@ var/deg = input(user, "What angle would you like to rotate the pen head to? (1-360)", "Rotate Pen Head") as null|num if(deg && (deg > 0 && deg <= 360)) degrees = deg - to_chat(user, "You rotate the top of the pen to [degrees] degrees.") + to_chat(user, span_notice("You rotate the top of the pen to [degrees] degrees.")) SEND_SIGNAL(src, COMSIG_PEN_ROTATED, deg, user) /obj/item/pen/attack(mob/living/M, mob/user, params) @@ -133,8 +133,8 @@ return ..() if(!M.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE)) return FALSE - to_chat(user, "You stab [M] with the pen.") - to_chat(M, "You feel a tiny prick!") + to_chat(user, span_warning("You stab [M] with the pen.")) + to_chat(M, span_danger("You feel a tiny prick!")) log_combat(user, M, "stabbed", src) return TRUE @@ -151,14 +151,14 @@ if(QDELETED(O) || !user.canUseTopic(O, BE_CLOSE)) return if(input == oldname || !input) - to_chat(user, "You changed [O] to... well... [O].") + to_chat(user, span_notice("You changed [O] to... well... [O].")) else O.AddComponent(/datum/component/rename, input, O.desc) var/datum/component/label/label = O.GetComponent(/datum/component/label) if(label) label.remove_label() label.apply_label() - to_chat(user, "You have successfully renamed \the [oldname] to [O].") + to_chat(user, span_notice("You have successfully renamed \the [oldname] to [O].")) O.renamedByPlayer = TRUE if(penchoice == "Change description") @@ -167,10 +167,10 @@ if(QDELETED(O) || !user.canUseTopic(O, BE_CLOSE)) return if(input == olddesc || !input) - to_chat(user, "You decide against changing [O]'s description.") + to_chat(user, span_notice("You decide against changing [O]'s description.")) else O.AddComponent(/datum/component/rename, O.name, input) - to_chat(user, "You have successfully changed [O]'s description.") + to_chat(user, span_notice("You have successfully changed [O]'s description.")) O.renamedByPlayer = TRUE if(penchoice == "Reset") @@ -185,7 +185,7 @@ label.remove_label() label.apply_label() - to_chat(user, "You have successfully reset [O]'s name and description.") + to_chat(user, span_notice("You have successfully reset [O]'s name and description.")) O.renamedByPlayer = FALSE /* @@ -230,9 +230,9 @@ /obj/item/pen/edagger/suicide_act(mob/user) . = BRUTELOSS if(on) - user.visible_message("[user] forcefully rams the pen into their mouth!") + user.visible_message(span_suicide("[user] forcefully rams the pen into their mouth!")) else - user.visible_message("[user] is holding a pen up to their mouth! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is holding a pen up to their mouth! It looks like [user.p_theyre()] trying to commit suicide!")) attack_self(user) /obj/item/pen/edagger/attack_self(mob/living/user) @@ -246,7 +246,7 @@ embedding = list(embed_chance = EMBED_CHANCE) throwforce = initial(throwforce) playsound(user, 'sound/weapons/saberoff.ogg', 5, TRUE) - to_chat(user, "[src] can now be concealed.") + to_chat(user, span_warning("[src] can now be concealed.")) else on = TRUE force = 18 @@ -257,7 +257,7 @@ embedding = list(embed_chance = 100) //rule of cool throwforce = 35 playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) - to_chat(user, "[src] is now active.") + to_chat(user, span_warning("[src] is now active.")) updateEmbedding() update_appearance() diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 0e3e874043c..b47767d95c8 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -90,11 +90,11 @@ // Copying paper, photos, documents and asses. if("make_copy") if(busy) - to_chat(usr, "[src] is currently busy copying something. Please wait until it is finished.") + to_chat(usr, span_warning("[src] is currently busy copying something. Please wait until it is finished.")) return FALSE if(paper_copy) if(!length(paper_copy.info)) - to_chat(usr, "An error message flashes across [src]'s screen: \"The supplied paper is blank. Aborting.\"") + to_chat(usr, span_warning("An error message flashes across [src]'s screen: \"The supplied paper is blank. Aborting.\"")) return FALSE // Basic paper if(istype(paper_copy, /obj/item/paper)) @@ -125,17 +125,17 @@ remove_photocopy(document_copy, usr) document_copy = null else if(check_ass()) - to_chat(ass, "You feel a slight pressure on your ass.") + to_chat(ass, span_notice("You feel a slight pressure on your ass.")) return TRUE // AI printing photos from their saved images. if("ai_photo") if(busy) - to_chat(usr, "[src] is currently busy copying something. Please wait until it is finished.") + to_chat(usr, span_warning("[src] is currently busy copying something. Please wait until it is finished.")) return FALSE var/mob/living/silicon/ai/tempAI = usr if(!length(tempAI.aicamera.stored)) - to_chat(usr, "No images saved.") + to_chat(usr, span_boldannounce("No images saved.")) return var/datum/picture/selection = tempAI.aicamera.selectpicture(usr) var/obj/item/photo/photo = new(loc, selection) // AI prints color photos only. @@ -284,7 +284,7 @@ if(!check_ass()) return if(ishuman(ass) && (ass.get_item_by_slot(ITEM_SLOT_ICLOTHING) || ass.get_item_by_slot(ITEM_SLOT_OCLOTHING))) - to_chat(usr, "You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "[ass.p_their()]"] clothes on." ) + to_chat(usr, span_notice("You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "[ass.p_their()]"] clothes on.") ) return var/icon/temp_img @@ -319,7 +319,7 @@ */ /obj/machinery/photocopier/proc/do_insertion(obj/item/object, mob/user) object.forceMove(src) - to_chat(user, "You insert [object] into [src].") + to_chat(user, span_notice("You insert [object] into [src].")) flick("photocopier1", src) /** @@ -338,7 +338,7 @@ user.put_in_hands(object) else object.forceMove(drop_location()) - to_chat(user, "You take [object] out of [src]. [busy ? "The [src] comes to a halt." : ""]") + to_chat(user, span_notice("You take [object] out of [src]. [busy ? "The [src] comes to a halt." : ""]")) /obj/machinery/photocopier/attackby(obj/item/O, mob/user, params) if(default_unfasten_wrench(user, O)) @@ -351,7 +351,7 @@ paper_copy = O do_insertion(O, user) else - to_chat(user, "There is already something in [src]!") + to_chat(user, span_warning("There is already something in [src]!")) else if(istype(O, /obj/item/photo)) if(copier_empty()) @@ -360,7 +360,7 @@ photo_copy = O do_insertion(O, user) else - to_chat(user, "There is already something in [src]!") + to_chat(user, span_warning("There is already something in [src]!")) else if(istype(O, /obj/item/documents)) if(copier_empty()) @@ -369,18 +369,18 @@ document_copy = O do_insertion(O, user) else - to_chat(user, "There is already something in [src]!") + to_chat(user, span_warning("There is already something in [src]!")) else if(istype(O, /obj/item/toner)) if(toner_cartridge) - to_chat(user, "[src] already has a toner cartridge inserted. Remove that one first.") + to_chat(user, span_warning("[src] already has a toner cartridge inserted. Remove that one first.")) return O.forceMove(src) toner_cartridge = O - to_chat(user, "You insert [O] into [src].") + to_chat(user, span_notice("You insert [O] into [src].")) else if(istype(O, /obj/item/areaeditor/blueprints)) - to_chat(user, "The Blueprint is too large to put into the copier. You need to find something else to record the document.") + to_chat(user, span_warning("The Blueprint is too large to put into the copier. You need to find something else to record the document.")) else return ..() @@ -396,35 +396,35 @@ return add_fingerprint(user) if(target == user) - user.visible_message("[user] starts climbing onto the photocopier!", "You start climbing onto the photocopier...") + user.visible_message(span_notice("[user] starts climbing onto the photocopier!"), span_notice("You start climbing onto the photocopier...")) else - user.visible_message("[user] starts putting [target] onto the photocopier!", "You start putting [target] onto the photocopier...") + user.visible_message(span_warning("[user] starts putting [target] onto the photocopier!"), span_notice("You start putting [target] onto the photocopier...")) if(do_after(user, 20, target = src)) if(!target || QDELETED(target) || QDELETED(src) || !Adjacent(target)) //check if the photocopier/target still exists. return if(target == user) - user.visible_message("[user] climbs onto the photocopier!", "You climb onto the photocopier.") + user.visible_message(span_notice("[user] climbs onto the photocopier!"), span_notice("You climb onto the photocopier.")) else - user.visible_message("[user] puts [target] onto the photocopier!", "You put [target] onto the photocopier.") + user.visible_message(span_warning("[user] puts [target] onto the photocopier!"), span_notice("You put [target] onto the photocopier.")) target.forceMove(drop_location()) ass = target if(photo_copy) photo_copy.forceMove(drop_location()) - visible_message("[photo_copy] is shoved out of the way by [ass]!") + visible_message(span_warning("[photo_copy] is shoved out of the way by [ass]!")) photo_copy = null else if(paper_copy) paper_copy.forceMove(drop_location()) - visible_message("[paper_copy] is shoved out of the way by [ass]!") + visible_message(span_warning("[paper_copy] is shoved out of the way by [ass]!")) paper_copy = null else if(document_copy) document_copy.forceMove(drop_location()) - visible_message("[document_copy] is shoved out of the way by [ass]!") + visible_message(span_warning("[document_copy] is shoved out of the way by [ass]!")) document_copy = null /obj/machinery/photocopier/Exited(atom/movable/AM, atom/newloc) diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index c13ad1d3534..2d61ca83c19 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -14,7 +14,7 @@ attack_verb_simple = list("stamp") /obj/item/stamp/suicide_act(mob/user) - user.visible_message("[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead.") + user.visible_message(span_suicide("[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead.")) return (OXYLOSS) /obj/item/stamp/qm diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index 8fcf83b6ca1..c23ffe39644 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -43,19 +43,19 @@ return var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You store linkage information in [I]'s buffer.") + to_chat(user, span_notice("You store linkage information in [I]'s buffer.")) return TRUE /obj/machinery/ticket_machine/emag_act(mob/user) //Emag the ticket machine to dispense burning tickets, as well as randomize its number to destroy the HoP's mind. if(obj_flags & EMAGGED) return - to_chat(user, "You overload [src]'s bureaucratic logic circuitry to its MAXIMUM setting.") + to_chat(user, span_warning("You overload [src]'s bureaucratic logic circuitry to its MAXIMUM setting.")) ticket_number = rand(0,max_number) current_number = ticket_number obj_flags |= EMAGGED if(tickets.len) for(var/obj/item/ticket_machine_ticket/ticket in tickets) - ticket.audible_message("\the [ticket] disperses!") + ticket.audible_message(span_notice("\the [ticket] disperses!")) qdel(ticket) tickets.Cut() update_appearance() @@ -68,14 +68,14 @@ if(current_number > ticket_number) return if(current_number && !(obj_flags & EMAGGED) && tickets[current_number]) - tickets[current_number].audible_message("\the [tickets[current_number]] disperses!") + tickets[current_number].audible_message(span_notice("\the [tickets[current_number]] disperses!")) qdel(tickets[current_number]) if(current_number < ticket_number) current_number ++ //Increment the one we're serving. playsound(src, 'sound/misc/announce_dig.ogg', 50, FALSE) say("Now serving ticket #[current_number]!") if(!(obj_flags & EMAGGED) && tickets[current_number]) - tickets[current_number].audible_message("\the [tickets[current_number]] vibrates!") + tickets[current_number].audible_message(span_notice("\the [tickets[current_number]] vibrates!")) 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 @@ -101,7 +101,7 @@ controller.linked = WEAKREF(M.buffer) id = null controller.id = null - to_chat(user, "You've linked [src] to [M.buffer].") + to_chat(user, span_warning("You've linked [src] to [M.buffer].")) /obj/item/assembly/control/ticket_machine name = "ticket machine controller" @@ -164,17 +164,17 @@ ..() if(istype(I, /obj/item/hand_labeler_refill)) if(!(ticket_number >= max_number)) - to_chat(user, "[src] refuses [I]! There [max_number-ticket_number==1 ? "is" : "are"] still [max_number-ticket_number] ticket\s left!") + to_chat(user, span_notice("[src] refuses [I]! There [max_number-ticket_number==1 ? "is" : "are"] still [max_number-ticket_number] ticket\s left!")) return - to_chat(user, "You start to refill [src]'s ticket holder (doing this will reset its ticket count!).") + to_chat(user, span_notice("You start to refill [src]'s ticket holder (doing this will reset its ticket count!).")) if(do_after(user, 30, target = src)) - to_chat(user, "You insert [I] into [src] as it whirs nondescriptly.") + to_chat(user, span_notice("You insert [I] into [src] as it whirs nondescriptly.")) qdel(I) ticket_number = 0 current_number = 0 if(tickets.len) for(var/obj/item/ticket_machine_ticket/ticket in tickets) - ticket.audible_message("\the [ticket] disperses!") + ticket.audible_message(span_notice("\the [ticket] disperses!")) qdel(ticket) tickets.Cut() max_number = initial(max_number) @@ -187,17 +187,17 @@ /obj/machinery/ticket_machine/attack_hand(mob/living/carbon/user, list/modifiers) . = ..() if(!ready) - to_chat(user,"You press the button, but nothing happens...") + to_chat(user,span_warning("You press the button, but nothing happens...")) return if(ticket_number >= max_number) - to_chat(user,"Ticket supply depleted, please refill this unit with a hand labeller refill cartridge!") + to_chat(user,span_warning("Ticket supply depleted, please refill this unit with a hand labeller refill cartridge!")) return if((user in ticket_holders) && !(obj_flags & EMAGGED)) - to_chat(user, "You already have a ticket!") + to_chat(user, span_warning("You already have a ticket!")) return playsound(src, 'sound/machines/terminal_insert_disc.ogg', 100, FALSE) ticket_number ++ - to_chat(user, "You take a ticket from [src], looks like you're ticket number #[ticket_number]...") + to_chat(user, span_notice("You take a ticket from [src], looks like you're ticket number #[ticket_number]...")) var/obj/item/ticket_machine_ticket/theirticket = new /obj/item/ticket_machine_ticket(get_turf(src)) theirticket.name = "Ticket #[ticket_number]" theirticket.maptext = MAPTEXT(ticket_number) diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index 2457b74d863..cfd766c90d0 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -45,13 +45,13 @@ /obj/item/camera/attack_self(mob/user) if(!disk) return - to_chat(user, "You eject [disk] out the back of [src].") + to_chat(user, span_notice("You eject [disk] out the back of [src].")) user.put_in_hands(disk) disk = null /obj/item/camera/examine(mob/user) . = ..() - . += "Alt-click to change its focusing, allowing you to set how big of an area it will capture." + . += span_notice("Alt-click to change its focusing, allowing you to set how big of an area it will capture.") /obj/item/camera/proc/adjust_zoom(mob/user) var/desired_x = input(user, "How high do you want the camera to shoot, between [picture_size_x_min] and [picture_size_x_max]?", "Zoom", picture_size_x) as num|null @@ -78,23 +78,23 @@ /obj/item/camera/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/camera_film)) if(pictures_left) - to_chat(user, "[src] still has some film in it!") + to_chat(user, span_notice("[src] still has some film in it!")) return if(!user.temporarilyRemoveItemFromInventory(I)) return - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_notice("You insert [I] into [src].")) qdel(I) pictures_left = pictures_max return if(istype(I, /obj/item/disk/holodisk)) if (!disk) if(!user.transferItemToLoc(I, src)) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, span_warning("[I] is stuck to your hand!")) return TRUE - to_chat(user, "You slide [I] into the back of [src].") + to_chat(user, span_notice("You slide [I] into the back of [src].")) disk = I else - to_chat(user, "There's already a disk inside [src].") + to_chat(user, span_warning("There's already a disk inside [src].")) return TRUE //no afterattack ..() @@ -132,7 +132,7 @@ disk.record.caller_name = M.name disk.record.set_caller_image(M) else - to_chat(user, "Invalid holodisk target.") + to_chat(user, span_warning("Invalid holodisk target.")) return if(!can_target(target, user, flag)) @@ -224,7 +224,7 @@ if(in_range(src, user)) //needed because of TK user.put_in_hands(p) pictures_left-- - to_chat(user, "[pictures_left] photos left.") + to_chat(user, span_notice("[pictures_left] photos left.")) var/customise = "No" if(can_customise) customise = tgui_alert(user, "Do you want to customize the photo?", "Customization", list("Yes", "No")) diff --git a/code/modules/photography/camera/silicon_camera.dm b/code/modules/photography/camera/silicon_camera.dm index 1c165bf6e2c..692c0f4e6c7 100644 --- a/code/modules/photography/camera/silicon_camera.dm +++ b/code/modules/photography/camera/silicon_camera.dm @@ -47,7 +47,7 @@ var/number = stored.len picture.picture_name = "Image [number] (taken by [loc.name])" stored[picture] = TRUE - to_chat(usr, "Image recorded") + to_chat(usr, "[span_unconscious("Image recorded")]") /obj/item/camera/siliconcam/robot_camera name = "Cyborg photo camera" @@ -59,12 +59,12 @@ var/number = C.connected_ai.aicamera.stored.len picture.picture_name = "Image [number] (taken by [loc.name])" C.connected_ai.aicamera.stored[picture] = TRUE - to_chat(usr, "Image recorded and saved to remote database") + to_chat(usr, "[span_unconscious("Image recorded and saved to remote database")]") else var/number = stored.len picture.picture_name = "Image [number] (taken by [loc.name])" stored[picture] = TRUE - to_chat(usr, "Image recorded and saved to local storage. Upload will happen automatically if unit is lawsynced.") + to_chat(usr, "[span_unconscious("Image recorded and saved to local storage. Upload will happen automatically if unit is lawsynced.")]") /obj/item/camera/siliconcam/robot_camera/selectpicture(mob/user) var/mob/living/silicon/robot/R = loc @@ -77,15 +77,15 @@ /obj/item/camera/siliconcam/robot_camera/proc/borgprint(mob/user) var/mob/living/silicon/robot/C = loc if(!istype(C) || C.toner < 20) - to_chat(user, "Insufficent toner to print image.") + to_chat(user, span_warning("Insufficent toner to print image.")) return var/datum/picture/selection = selectpicture(user) if(!istype(selection)) - to_chat(user, "Invalid Image.") + to_chat(user, span_warning("Invalid Image.")) return var/obj/item/photo/p = new /obj/item/photo(C.loc, selection) p.pixel_x = p.base_pixel_x + rand(-10, 10) p.pixel_y = p.base_pixel_y + rand(-10, 10) C.toner -= printcost //All fun allowed. - visible_message("[C.name] spits out a photograph from a narrow slot on its chassis.") - to_chat(usr, "You print a photograph.") + visible_message(span_notice("[C.name] spits out a photograph from a narrow slot on its chassis.")) + to_chat(usr, span_notice("You print a photograph.")) diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm index 9d10bd19837..ffe6c6b58e9 100644 --- a/code/modules/photography/photos/frame.dm +++ b/code/modules/photography/photos/frame.dm @@ -29,7 +29,7 @@ if(contents.len) var/obj/item/I = pick(contents) user.put_in_hands(I) - to_chat(user, "You carefully remove the photo from \the [src].") + to_chat(user, span_notice("You carefully remove the photo from \the [src].")) displayed = null update_appearance() return ..() @@ -118,16 +118,16 @@ /obj/structure/sign/picture_frame/attackby(obj/item/I, mob/user, params) if(can_decon && (I.tool_behaviour == TOOL_SCREWDRIVER || I.tool_behaviour == TOOL_WRENCH)) - to_chat(user, "You start unsecuring [name]...") + to_chat(user, span_notice("You start unsecuring [name]...")) if(I.use_tool(src, user, 30, volume=50)) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - to_chat(user, "You unsecure [name].") + to_chat(user, span_notice("You unsecure [name].")) deconstruct() else if(I.tool_behaviour == TOOL_WIRECUTTER && framed) framed.forceMove(drop_location()) framed = null - user.visible_message("[user] cuts away [framed] from [src]!") + user.visible_message(span_warning("[user] cuts away [framed] from [src]!")) return else if(istype(I, /obj/item/photo)) diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm index 284c8b70568..6ca2582ca1c 100644 --- a/code/modules/photography/photos/photo.dm +++ b/code/modules/photography/photos/photo.dm @@ -50,7 +50,7 @@ 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... + user.visible_message(span_suicide("[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... if (user.gender == MALE) playsound(user, 'sound/voice/human/manlaugh1.ogg', 50, TRUE)//EVERY TIME I DO IT MAKES ME LAUGH else if (user.gender == FEMALE) @@ -65,7 +65,7 @@ return if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") + to_chat(user, span_notice("You scribble illegibly on [src]!")) return var/txt = stripped_input(user, "What would you like to write on the back?", "Photo Writing", "", 128) if(txt && user.canUseTopic(src, BE_CLOSE)) @@ -79,11 +79,11 @@ if(in_range(src, user) || isobserver(user)) show(user) else - . += "You need to get closer to get a good look at this photo!" + . += span_warning("You need to get closer to get a good look at this photo!") /obj/item/photo/proc/show(mob/user) if(!istype(picture) || !picture.picture_image) - to_chat(user, "[src] seems to be blank...") + to_chat(user, span_warning("[src] seems to be blank...")) return user << browse_rsc(picture.picture_image, "tmp_photo.png") user << browse("[name]" \ diff --git a/code/modules/plumbing/ducts.dm b/code/modules/plumbing/ducts.dm index a93040120e7..b3c7b49cbba 100644 --- a/code/modules/plumbing/ducts.dm +++ b/code/modules/plumbing/ducts.dm @@ -273,8 +273,8 @@ All the important duct code: set_anchored(!anchored) user.visible_message( \ "[user] [anchored ? null : "un"]fastens \the [src].", \ - "You [anchored ? null : "un"]fasten \the [src].", \ - "You hear ratcheting.") + span_notice("You [anchored ? null : "un"]fasten \the [src]."), \ + span_hear("You hear ratcheting.")) return TRUE ///collection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked @@ -304,7 +304,7 @@ All the important duct code: var/obj/machinery/duct/D = A var/obj/item/I = user.get_active_held_item() if(I?.tool_behaviour != TOOL_WRENCH) - to_chat(user, "You need to be holding a wrench in your active hand to do that!") + to_chat(user, span_warning("You need to be holding a wrench in your active hand to do that!")) return if(get_dist(src, D) != 1) return @@ -340,7 +340,7 @@ All the important duct code: /obj/item/stack/ducts/examine(mob/user) . = ..() - . += "It's current color and layer are [duct_color] and [duct_layer]. Use in-hand to change." + . += span_notice("It's current color and layer are [duct_color] and [duct_layer]. Use in-hand to change.") /obj/item/stack/ducts/attack_self(mob/user) var/new_layer = input("Select a layer", "Layer") as null|anything in layers diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm index 03cc30a4f07..cf1d4ff2ccb 100644 --- a/code/modules/plumbing/plumbers/_plumb_machinery.dm +++ b/code/modules/plumbing/plumbers/_plumb_machinery.dm @@ -28,7 +28,7 @@ /obj/machinery/plumbing/examine(mob/user) . = ..() - . += "The maximum volume display reads: [reagents.maximum_volume] units." + . += span_notice("The maximum volume display reads: [reagents.maximum_volume] units.") /obj/machinery/plumbing/wrench_act(mob/living/user, obj/item/I) ..() @@ -36,9 +36,9 @@ return TRUE /obj/machinery/plumbing/plunger_act(obj/item/plunger/P, mob/living/user, reinforced) - to_chat(user, "You start furiously plunging [name].") + to_chat(user, span_notice("You start furiously plunging [name].")) if(do_after(user, 30, target = src)) - to_chat(user, "You finish plunging the [name].") + to_chat(user, span_notice("You finish plunging the [name].")) reagents.expose(get_turf(src), TOUCH) //splash on the floor reagents.clear_reagents() diff --git a/code/modules/plumbing/plumbers/bottler.dm b/code/modules/plumbing/plumbers/bottler.dm index a7b0dacb2d9..ea31dcb1698 100644 --- a/code/modules/plumbing/plumbers/bottler.dm +++ b/code/modules/plumbing/plumbers/bottler.dm @@ -23,11 +23,11 @@ /obj/machinery/plumbing/bottler/examine(mob/user) . = ..() - . += "A small screen indicates that it will fill for [wanted_amount]u." + . += span_notice("A small screen indicates that it will fill for [wanted_amount]u.") /obj/machinery/plumbing/bottler/can_be_rotated(mob/user, rotation_type) if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, span_warning("It is fastened to the floor!")) return FALSE return TRUE @@ -56,7 +56,7 @@ /obj/machinery/plumbing/bottler/interact(mob/user) . = ..() wanted_amount = clamp(round(input(user,"maximum is 100u","set ammount to fill with") as num|null, 1), 1, 100) - to_chat(user, " The [src] will now fill for [wanted_amount]u.") + to_chat(user, span_notice(" The [src] will now fill for [wanted_amount]u.")) /obj/machinery/plumbing/bottler/process() if(machine_stat & NOPOWER) diff --git a/code/modules/plumbing/plumbers/fermenter.dm b/code/modules/plumbing/plumbers/fermenter.dm index 19a3637be3a..ff23b6625eb 100644 --- a/code/modules/plumbing/plumbers/fermenter.dm +++ b/code/modules/plumbing/plumbers/fermenter.dm @@ -20,7 +20,7 @@ /obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user, rotation_type) if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, span_warning("It is fastened to the floor!")) return FALSE return TRUE diff --git a/code/modules/plumbing/plumbers/filter.dm b/code/modules/plumbing/plumbers/filter.dm index 02e1e425c14..1fa216f934c 100644 --- a/code/modules/plumbing/plumbers/filter.dm +++ b/code/modules/plumbing/plumbers/filter.dm @@ -50,7 +50,7 @@ english_right += new_chem_name right += chem_id else - to_chat(usr, "No such known reagent exists!") + to_chat(usr, span_warning("No such known reagent exists!")) if("remove") var/chem_name = params["reagent"] diff --git a/code/modules/plumbing/plumbers/grinder_chemical.dm b/code/modules/plumbing/plumbers/grinder_chemical.dm index 4db5d618f56..eff5cbed069 100644 --- a/code/modules/plumbing/plumbers/grinder_chemical.dm +++ b/code/modules/plumbing/plumbers/grinder_chemical.dm @@ -19,7 +19,7 @@ /obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user, rotation_type) if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, span_warning("It is fastened to the floor!")) return FALSE return TRUE diff --git a/code/modules/plumbing/plumbers/pill_press.dm b/code/modules/plumbing/plumbers/pill_press.dm index d0b9abf1036..6f27d61e0c6 100644 --- a/code/modules/plumbing/plumbers/pill_press.dm +++ b/code/modules/plumbing/plumbers/pill_press.dm @@ -31,7 +31,7 @@ /obj/machinery/plumbing/pill_press/examine(mob/user) . = ..() - . += "The [name] currently has [stored_products.len] stored. There needs to be less than [max_floor_products] on the floor to continue dispensing." + . += span_notice("The [name] currently has [stored_products.len] stored. There needs to be less than [max_floor_products] on the floor to continue dispensing.") /obj/machinery/plumbing/pill_press/Initialize(mapload, bolt, layer) . = ..() diff --git a/code/modules/plumbing/plumbers/plumbing_buffer.dm b/code/modules/plumbing/plumbers/plumbing_buffer.dm index 7ec177ca5b2..fe2b7649d81 100644 --- a/code/modules/plumbing/plumbers/plumbing_buffer.dm +++ b/code/modules/plumbing/plumbers/plumbing_buffer.dm @@ -77,11 +77,11 @@ return activation_volume = round(clamp(new_volume, 0, buffer)) - to_chat(user, "New activation threshold is now [activation_volume].") + to_chat(user, span_notice("New activation threshold is now [activation_volume].")) /obj/machinery/plumbing/buffer/attackby(obj/item/item, mob/user, params) if(item.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You reset the automatic buffer.") + to_chat(user, span_notice("You reset the automatic buffer.")) //reset the net buffer_net?.destruct() diff --git a/code/modules/plumbing/plumbers/pumps.dm b/code/modules/plumbing/plumbers/pumps.dm index 3c8514aedd3..f69fd835c9a 100644 --- a/code/modules/plumbing/plumbers/pumps.dm +++ b/code/modules/plumbing/plumbers/pumps.dm @@ -41,7 +41,7 @@ update_appearance() if(!geyser) //we didnt find one, abort geyserless = TRUE - visible_message("The [name] makes a sad beep!") + visible_message(span_warning("The [name] makes a sad beep!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50) return diff --git a/code/modules/plumbing/plumbers/teleporter.dm b/code/modules/plumbing/plumbers/teleporter.dm index 7a1f20204ed..0228640fb6a 100644 --- a/code/modules/plumbing/plumbers/teleporter.dm +++ b/code/modules/plumbing/plumbers/teleporter.dm @@ -20,7 +20,7 @@ var/obj/item/multitool/M = I if(!istype(M.buffer, /obj/machinery/plumbing/receiver)) - to_chat(user, "Invalid buffer.") + to_chat(user, span_warning("Invalid buffer.")) return if(target) @@ -28,7 +28,7 @@ set_teleport_target(M.buffer) - to_chat(user, "You succesfully link [src] to the [M.buffer].") + to_chat(user, span_green("You succesfully link [src] to the [M.buffer].")) return TRUE ///Lose our previous target and make our previous target lose us. Seperate proc because I feel like I'll need this again @@ -74,7 +74,7 @@ var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You store linkage information in [I]'s buffer.") + to_chat(user, span_notice("You store linkage information in [I]'s buffer.")) return TRUE /obj/machinery/plumbing/receiver/process() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 0716b104559..3e66e281646 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -338,10 +338,10 @@ else . += "The cover is closed." - . += "Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface." + . += span_notice("Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface.") if(issilicon(user)) - . += "Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"]." + . += span_notice("Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"].") // update the APC icon to show the three base states // also add overlays for indicator lights @@ -469,32 +469,32 @@ if (opened) if (has_electronics == APC_ELECTRONICS_INSTALLED) if (terminal) - to_chat(user, "Disconnect the wires first!") + to_chat(user, span_warning("Disconnect the wires first!")) return W.play_tool_sound(src) - to_chat(user, "You attempt to remove the power control board..." ) + to_chat(user, span_notice("You attempt to remove the power control board...") ) if(W.use_tool(src, user, 50)) if (has_electronics == APC_ELECTRONICS_INSTALLED) has_electronics = APC_ELECTRONICS_MISSING if (machine_stat & BROKEN) - user.visible_message("[user.name] breaks the power control board inside [src.name]!",\ - "You break the charred power control board and remove the remains.", - "You hear a crack.") + user.visible_message(span_notice("[user.name] breaks the power control board inside [src.name]!"),\ + span_notice("You break the charred power control board and remove the remains."), + span_hear("You hear a crack.")) return else if (obj_flags & EMAGGED) obj_flags &= ~EMAGGED - user.visible_message("[user.name] discards an emagged power control board from [src.name]!",\ - "You discard the emagged power control board.") + user.visible_message(span_notice("[user.name] discards an emagged power control board from [src.name]!"),\ + span_notice("You discard the emagged power control board.")) return else if (malfhack) - user.visible_message("[user.name] discards a strangely programmed power control board from [src.name]!",\ - "You discard the strangely programmed board.") + user.visible_message(span_notice("[user.name] discards a strangely programmed power control board from [src.name]!"),\ + span_notice("You discard the strangely programmed board.")) malfai = null malfhack = 0 return else - user.visible_message("[user.name] removes the power control board from [src.name]!",\ - "You remove the power control board.") + user.visible_message(span_notice("[user.name] removes the power control board from [src.name]!"),\ + span_notice("You remove the power control board.")) new /obj/item/electronics/apc(loc) return else if (opened!=APC_COVER_REMOVED) @@ -504,10 +504,10 @@ return else if (!(machine_stat & BROKEN)) if(coverlocked && !(machine_stat & MAINT)) // locked... - to_chat(user, "The cover is locked and cannot be opened!") + to_chat(user, span_warning("The cover is locked and cannot be opened!")) return else if (panel_open) - to_chat(user, "Exposed wires prevents you from opening it!") + to_chat(user, span_warning("Exposed wires prevents you from opening it!")) return else opened = APC_COVER_OPENED @@ -520,7 +520,7 @@ . = TRUE if(opened) if(cell) - user.visible_message("[user] removes \the [cell] from [src]!", "You remove \the [cell].") + user.visible_message(span_notice("[user] removes \the [cell] from [src]!"), span_notice("You remove \the [cell].")) var/turf/T = get_turf(user) cell.forceMove(T) cell.update_appearance() @@ -534,22 +534,22 @@ has_electronics = APC_ELECTRONICS_SECURED set_machine_stat(machine_stat & ~MAINT) W.play_tool_sound(src) - to_chat(user, "You screw the circuit electronics into place.") + to_chat(user, span_notice("You screw the circuit electronics into place.")) if (APC_ELECTRONICS_SECURED) has_electronics = APC_ELECTRONICS_INSTALLED set_machine_stat(machine_stat | MAINT) W.play_tool_sound(src) - to_chat(user, "You unfasten the electronics.") + to_chat(user, span_notice("You unfasten the electronics.")) else - to_chat(user, "There is nothing to secure!") + to_chat(user, span_warning("There is nothing to secure!")) return update_appearance() else if(obj_flags & EMAGGED) - to_chat(user, "The interface is broken!") + to_chat(user, span_warning("The interface is broken!")) return else panel_open = !panel_open - to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].") + to_chat(user, span_notice("The wires have been [panel_open ? "exposed" : "unexposed"].")) update_appearance() /obj/machinery/power/apc/wirecutter_act(mob/living/user, obj/item/W) @@ -564,18 +564,18 @@ if (opened && !has_electronics && !terminal) if(!W.tool_start_check(user, amount=3)) return - user.visible_message("[user.name] welds [src].", \ - "You start welding the APC frame...", \ - "You hear welding.") + user.visible_message(span_notice("[user.name] welds [src]."), \ + span_notice("You start welding the APC frame..."), \ + span_hear("You hear welding.")) if(W.use_tool(src, user, 50, volume=50, amount=3)) if ((machine_stat & BROKEN) || opened==APC_COVER_REMOVED) new /obj/item/stack/sheet/iron(loc) - user.visible_message("[user.name] cuts [src] apart with [W].",\ - "You disassembled the broken APC frame.") + user.visible_message(span_notice("[user.name] cuts [src] apart with [W]."),\ + span_notice("You disassembled the broken APC frame.")) else new /obj/item/wallframe/apc(loc) - user.visible_message("[user.name] cuts [src] from the wall with [W].",\ - "You cut the APC frame from the wall.") + user.visible_message(span_notice("[user.name] cuts [src] from the wall with [W]."),\ + span_notice("You cut the APC frame from the wall.")) qdel(src) return TRUE @@ -594,7 +594,7 @@ if(shock_source && metal && (panel_open || opened)) //Now you're cooking with electricity if(electrocute_mob(user, shock_source, src, siemens_coeff = 1, dist_check = TRUE))//People with insulated gloves just attack the APC normally. They're just short of magical anyway do_sparks(5, TRUE, src) - user.visible_message("[user.name] shoves [W] into the internal components of [src], erupting into a cascade of sparks!") + user.visible_message(span_notice("[user.name] shoves [W] into the internal components of [src], erupting into a cascade of sparks!")) if(shock_source == cell)//If the shock is coming from the cell just fully discharge it, because it's funny cell.use(cell.charge) return @@ -604,17 +604,17 @@ if (istype(W, /obj/item/stock_parts/cell) && opened) if(cell) - to_chat(user, "There is a power cell already installed!") + to_chat(user, span_warning("There is a power cell already installed!")) return else if (machine_stat & MAINT) - to_chat(user, "There is no connector for your power cell!") + to_chat(user, span_warning("There is no connector for your power cell!")) return if(!user.transferItemToLoc(W, src)) return cell = W - user.visible_message("[user.name] inserts the power cell to [src.name]!",\ - "You insert the power cell.") + user.visible_message(span_notice("[user.name] inserts the power cell to [src.name]!"),\ + span_notice("You insert the power cell.")) chargecount = 0 update_appearance() else if (W.GetID()) @@ -624,21 +624,21 @@ if(!host_turf) CRASH("attackby on APC when it's not on a turf") if (host_turf.intact) - to_chat(user, "You must remove the floor plating in front of the APC first!") + to_chat(user, span_warning("You must remove the floor plating in front of the APC first!")) return else if (terminal) - to_chat(user, "This APC is already wired!") + to_chat(user, span_warning("This APC is already wired!")) return else if (!has_electronics) - to_chat(user, "There is nothing to wire!") + to_chat(user, span_warning("There is nothing to wire!")) return var/obj/item/stack/cable_coil/C = W if(C.get_amount() < 10) - to_chat(user, "You need ten lengths of cable for APC!") + to_chat(user, span_warning("You need ten lengths of cable for APC!")) return - user.visible_message("[user.name] adds cables to the APC frame.", \ - "You start adding cables to the APC frame...") + user.visible_message(span_notice("[user.name] adds cables to the APC frame."), \ + span_notice("You start adding cables to the APC frame...")) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(do_after(user, 20, target = src)) if (C.get_amount() < 10 || !C) @@ -650,41 +650,41 @@ do_sparks(5, TRUE, src) return C.use(10) - to_chat(user, "You add cables to the APC frame.") + to_chat(user, span_notice("You add cables to the APC frame.")) make_terminal() terminal.connect_to_network() else if (istype(W, /obj/item/electronics/apc) && opened) if (has_electronics) - to_chat(user, "There is already a board inside the [src]!") + to_chat(user, span_warning("There is already a board inside the [src]!")) return else if (machine_stat & BROKEN) - to_chat(user, "You cannot put the board inside, the frame is damaged!") + to_chat(user, span_warning("You cannot put the board inside, the frame is damaged!")) return - user.visible_message("[user.name] inserts the power control board into [src].", \ - "You start to insert the power control board into the frame...") + user.visible_message(span_notice("[user.name] inserts the power control board into [src]."), \ + span_notice("You start to insert the power control board into the frame...")) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(do_after(user, 10, target = src)) if(!has_electronics) has_electronics = APC_ELECTRONICS_INSTALLED locked = FALSE - to_chat(user, "You place the power control board inside the frame.") + to_chat(user, span_notice("You place the power control board inside the frame.")) qdel(W) else if(istype(W, /obj/item/electroadaptive_pseudocircuit) && opened) var/obj/item/electroadaptive_pseudocircuit/P = W if(!has_electronics) if(machine_stat & BROKEN) - to_chat(user, "[src]'s frame is too damaged to support a circuit.") + to_chat(user, span_warning("[src]'s frame is too damaged to support a circuit.")) return if(!P.adapt_circuit(user, 50)) return - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt a power control board and click it into place in [src]'s guts.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt a power control board and click it into place in [src]'s guts.")) has_electronics = APC_ELECTRONICS_INSTALLED locked = FALSE else if(!cell) if(machine_stat & MAINT) - to_chat(user, "There's no connector for a power cell.") + to_chat(user, span_warning("There's no connector for a power cell.")) return if(!P.adapt_circuit(user, 500)) return @@ -692,32 +692,32 @@ C.forceMove(src) cell = C chargecount = 0 - user.visible_message("[user] fabricates a weak power cell and places it into [src].", \ - "Your [P.name] whirrs with strain as you create a weak power cell and place it into [src]!") + user.visible_message(span_notice("[user] fabricates a weak power cell and places it into [src]."), \ + span_warning("Your [P.name] whirrs with strain as you create a weak power cell and place it into [src]!")) update_appearance() else - to_chat(user, "[src] has both electronics and a cell.") + to_chat(user, span_warning("[src] has both electronics and a cell.")) return else if (istype(W, /obj/item/wallframe/apc) && opened) if (!(machine_stat & BROKEN || opened==APC_COVER_REMOVED || obj_integrity < max_integrity)) // There is nothing to repair - to_chat(user, "You found no reason for repairing this APC!") + to_chat(user, span_warning("You found no reason for repairing this APC!")) return if (!(machine_stat & BROKEN) && opened==APC_COVER_REMOVED) // Cover is the only thing broken, we do not need to remove elctronicks to replace cover - user.visible_message("[user.name] replaces missing APC's cover.", \ - "You begin to replace APC's cover...") + user.visible_message(span_notice("[user.name] replaces missing APC's cover."), \ + span_notice("You begin to replace APC's cover...")) if(do_after(user, 20, target = src)) // replacing cover is quicker than replacing whole frame - to_chat(user, "You replace missing APC's cover.") + to_chat(user, span_notice("You replace missing APC's cover.")) qdel(W) opened = APC_COVER_OPENED update_appearance() return if (has_electronics) - to_chat(user, "You cannot repair this APC until you remove the electronics still inside!") + to_chat(user, span_warning("You cannot repair this APC until you remove the electronics still inside!")) return - user.visible_message("[user.name] replaces the damaged APC frame with a new one.", \ - "You begin to replace the damaged APC frame...") + user.visible_message(span_notice("[user.name] replaces the damaged APC frame with a new one."), \ + span_notice("You begin to replace the damaged APC frame...")) if(do_after(user, 50, target = src)) - to_chat(user, "You replace the damaged APC frame with a new one.") + to_chat(user, span_notice("You replace the damaged APC frame with a new one.")) qdel(W) set_machine_stat(machine_stat & ~BROKEN) obj_integrity = max_integrity @@ -734,16 +734,16 @@ if(the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS) if(!has_electronics) if(machine_stat & BROKEN) - to_chat(user, "[src]'s frame is too damaged to support a circuit.") + to_chat(user, span_warning("[src]'s frame is too damaged to support a circuit.")) return FALSE return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1) else if(!cell) if(machine_stat & MAINT) - to_chat(user, "There's no connector for a power cell.") + to_chat(user, span_warning("There's no connector for a power cell.")) return FALSE return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 50, "cost" = 10) //16 for a wall else - to_chat(user, "[src] has both electronics and a cell.") + to_chat(user, span_warning("[src] has both electronics and a cell.")) return FALSE return FALSE @@ -752,27 +752,27 @@ if(RCD_UPGRADE_SIMPLE_CIRCUITS) if(!has_electronics) if(machine_stat & BROKEN) - to_chat(user, "[src]'s frame is too damaged to support a circuit.") + to_chat(user, span_warning("[src]'s frame is too damaged to support a circuit.")) return - user.visible_message("[user] fabricates a circuit and places it into [src].", \ - "You adapt a power control board and click it into place in [src]'s guts.") + user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ + span_notice("You adapt a power control board and click it into place in [src]'s guts.")) has_electronics = TRUE locked = TRUE return TRUE else if(!cell) if(machine_stat & MAINT) - to_chat(user, "There's no connector for a power cell.") + to_chat(user, span_warning("There's no connector for a power cell.")) return FALSE var/obj/item/stock_parts/cell/crap/empty/C = new(src) C.forceMove(src) cell = C chargecount = 0 - user.visible_message("[user] fabricates a weak power cell and places it into [src].", \ - "Your [the_rcd.name] whirrs with strain as you create a weak power cell and place it into [src]!") + user.visible_message(span_notice("[user] fabricates a weak power cell and places it into [src]."), \ + span_warning("Your [the_rcd.name] whirrs with strain as you create a weak power cell and place it into [src]!")) update_appearance() return TRUE else - to_chat(user, "[src] has both electronics and a cell.") + to_chat(user, span_warning("[src] has both electronics and a cell.")) return FALSE return FALSE @@ -785,25 +785,25 @@ /obj/machinery/power/apc/proc/togglelock(mob/living/user) if(obj_flags & EMAGGED) - to_chat(user, "The interface is broken!") + to_chat(user, span_warning("The interface is broken!")) else if(opened) - to_chat(user, "You must close the cover to swipe an ID card!") + to_chat(user, span_warning("You must close the cover to swipe an ID card!")) else if(panel_open) - to_chat(user, "You must close the panel!") + to_chat(user, span_warning("You must close the panel!")) else if(machine_stat & (BROKEN|MAINT)) - to_chat(user, "Nothing happens!") + to_chat(user, span_warning("Nothing happens!")) else if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN) && !malfhack) locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the APC interface.") + to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] the APC interface.")) update_appearance() updateUsrDialog() else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) /obj/machinery/power/apc/proc/toggle_nightshift_lights(mob/living/user) if(last_nightshift_switch > world.time - 100) //~10 seconds between each toggle to prevent spamming - to_chat(usr, "[src]'s night lighting circuit breaker is still cycling!") + to_chat(usr, span_warning("[src]'s night lighting circuit breaker is still cycling!")) return last_nightshift_switch = world.time set_nightshift(!nightshift_lights) @@ -825,23 +825,23 @@ if(opened != APC_COVER_REMOVED) opened = APC_COVER_REMOVED coverlocked = FALSE - visible_message("The APC cover is knocked down!") + visible_message(span_warning("The APC cover is knocked down!")) update_appearance() /obj/machinery/power/apc/emag_act(mob/user) if(!(obj_flags & EMAGGED) && !malfhack) if(opened) - to_chat(user, "You must close the cover to swipe an ID card!") + to_chat(user, span_warning("You must close the cover to swipe an ID card!")) else if(panel_open) - to_chat(user, "You must close the panel first!") + to_chat(user, span_warning("You must close the panel first!")) else if(machine_stat & (BROKEN|MAINT)) - to_chat(user, "Nothing happens!") + to_chat(user, span_warning("Nothing happens!")) else flick("apc-spark", src) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) obj_flags |= EMAGGED locked = FALSE - to_chat(user, "You emag the APC interface.") + to_chat(user, span_notice("You emag the APC interface.")) update_appearance() @@ -860,47 +860,47 @@ if((E.drain_time < world.time) && LAZYACCESS(modifiers, RIGHT_CLICK) && stomach) if(H.combat_mode) if(cell.charge <= (cell.maxcharge / 2)) // ethereals can't drain APCs under half charge, this is so that they are forced to look to alternative power sources if the station is running low - to_chat(H, "The APC's syphon safeties prevent you from draining power!") + to_chat(H, span_warning("The APC's syphon safeties prevent you from draining power!")) return if(stomach.crystal_charge > charge_limit) - to_chat(H, "Your charge is full!") + to_chat(H, span_warning("Your charge is full!")) return E.drain_time = world.time + APC_DRAIN_TIME - to_chat(H, "You start channeling some power through the APC into your body.") + to_chat(H, span_notice("You start channeling some power through the APC into your body.")) if(do_after(user, APC_DRAIN_TIME, target = src)) if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > charge_limit)) return if(istype(stomach)) - to_chat(H, "You receive some charge from the APC.") + to_chat(H, span_notice("You receive some charge from the APC.")) stomach.adjust_charge(APC_POWER_GAIN) cell.charge -= APC_POWER_GAIN else - to_chat(H, "You can't receive charge from the APC!") + to_chat(H, span_warning("You can't receive charge from the APC!")) return else if(cell.charge >= cell.maxcharge - APC_POWER_GAIN) - to_chat(H, "The APC can't receive anymore power!") + to_chat(H, span_warning("The APC can't receive anymore power!")) return if(stomach.crystal_charge < APC_POWER_GAIN) - to_chat(H, "Your charge is too low!") + to_chat(H, span_warning("Your charge is too low!")) return E.drain_time = world.time + APC_DRAIN_TIME - to_chat(H, "You start channeling power through your body into the APC.") + to_chat(H, span_notice("You start channeling power through your body into the APC.")) if(do_after(user, APC_DRAIN_TIME, target = src)) if((cell.charge >= (cell.maxcharge - APC_POWER_GAIN)) || (stomach.crystal_charge < APC_POWER_GAIN)) - to_chat(H, "You can't transfer power to the APC!") + to_chat(H, span_warning("You can't transfer power to the APC!")) return if(istype(stomach)) - to_chat(H, "You transfer some power to the APC.") + to_chat(H, span_notice("You transfer some power to the APC.")) stomach.adjust_charge(-APC_POWER_GAIN) cell.charge += APC_POWER_GAIN else - to_chat(H, "You can't transfer power to the APC!") + to_chat(H, span_warning("You can't transfer power to the APC!")) return if(opened && (!issilicon(user))) if(cell) - user.visible_message("[user] removes \the [cell] from [src]!", "You remove \the [cell].") + user.visible_message(span_notice("[user] removes \the [cell] from [src]!"), span_notice("You remove \the [cell].")) user.put_in_hands(cell) cell.update_appearance() src.cell = null @@ -1011,7 +1011,7 @@ ) \ ) if(!loud) - to_chat(user, "\The [src] has eee disabled!") + to_chat(user, span_danger("\The [src] has eee disabled!")) return FALSE return TRUE @@ -1034,7 +1034,7 @@ if("lock") if(usr.has_unlimited_silicon_privilege) if((obj_flags & EMAGGED) || (machine_stat & (BROKEN|MAINT))) - to_chat(usr, "The APC does not respond to the command!") + to_chat(usr, span_warning("The APC does not respond to the command!")) else locked = !locked update_appearance() @@ -1109,9 +1109,9 @@ if(get_malf_status(malf) != 1) return if(malf.malfhacking) - to_chat(malf, "You are already hacking an APC!") + to_chat(malf, span_warning("You are already hacking an APC!")) return - to_chat(malf, "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process.") + to_chat(malf, span_notice("Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process.")) malf.malfhack = src malf.malfhacking = addtimer(CALLBACK(malf, /mob/living/silicon/ai/.proc/malfhacked, src), 600, TIMER_STOPPABLE) @@ -1123,10 +1123,10 @@ if(!istype(malf)) return if(istype(malf.loc, /obj/machinery/power/apc)) // Already in an APC - to_chat(malf, "You must evacuate your current APC first!") + to_chat(malf, span_warning("You must evacuate your current APC first!")) return if(!malf.can_shunt) - to_chat(malf, "You cannot shunt!") + to_chat(malf, span_warning("You cannot shunt!")) return if(!is_station_level(z)) return @@ -1157,7 +1157,7 @@ occupier.parent.cancel_camera() qdel(occupier) else - to_chat(occupier, "Primary core damaged, unable to return core processes.") + to_chat(occupier, span_danger("Primary core damaged, unable to return core processes.")) if(forced) occupier.forceMove(drop_location()) occupier.death() @@ -1168,19 +1168,19 @@ /obj/machinery/power/apc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(card.AI) - to_chat(user, "[card] is already occupied!") + to_chat(user, span_warning("[card] is already occupied!")) return if(!occupier) - to_chat(user, "There's nothing in [src] to transfer!") + to_chat(user, span_warning("There's nothing in [src] to transfer!")) return if(!occupier.mind || !occupier.client) - to_chat(user, "[occupier] is either inactive or destroyed!") + to_chat(user, span_warning("[occupier] is either inactive or destroyed!")) return if(!occupier.parent.stat) - to_chat(user, "[occupier] is refusing all attempts at transfer!" ) + to_chat(user, span_warning("[occupier] is refusing all attempts at transfer!") ) return if(transfer_in_progress) - to_chat(user, "There's already a transfer in progress!") + to_chat(user, span_warning("There's already a transfer in progress!")) return if(interaction != AI_TRANS_TO_CARD || occupier.stat) return @@ -1188,30 +1188,30 @@ if(!T) return transfer_in_progress = TRUE - user.visible_message("[user] slots [card] into [src]...", "Transfer process initiated. Sending request for AI approval...") + user.visible_message(span_notice("[user] slots [card] into [src]..."), span_notice("Transfer process initiated. Sending request for AI approval...")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) SEND_SOUND(occupier, sound('sound/misc/notice2.ogg')) //To alert the AI that someone's trying to card them if they're tabbed out if(tgui_alert(occupier, "[user] is attempting to transfer you to \a [card.name]. Do you consent to this?", "APC Transfer", list("Yes - Transfer Me", "No - Keep Me Here")) == "No - Keep Me Here") - to_chat(user, "AI denied transfer request. Process terminated.") + to_chat(user, span_danger("AI denied transfer request. Process terminated.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) transfer_in_progress = FALSE return if(user.loc != T) - to_chat(user, "Location changed. Process terminated.") - to_chat(occupier, "[user] moved away! Transfer canceled.") + to_chat(user, span_danger("Location changed. Process terminated.")) + to_chat(occupier, span_warning("[user] moved away! Transfer canceled.")) transfer_in_progress = FALSE return - to_chat(user, "AI accepted request. Transferring stored intelligence to [card]...") - to_chat(occupier, "Transfer starting. You will be moved to [card] shortly.") + to_chat(user, span_notice("AI accepted request. Transferring stored intelligence to [card]...")) + to_chat(occupier, span_notice("Transfer starting. You will be moved to [card] shortly.")) if(!do_after(user, 50, target = src)) - to_chat(occupier, "[user] was interrupted! Transfer canceled.") + to_chat(occupier, span_warning("[user] was interrupted! Transfer canceled.")) transfer_in_progress = FALSE return if(!occupier || !card) transfer_in_progress = FALSE return - user.visible_message("[user] transfers [occupier] to [card]!", "Transfer complete! [occupier] is now stored in [card].") - to_chat(occupier, "Transfer complete! You've been stored in [user]'s [card.name].") + user.visible_message(span_notice("[user] transfers [occupier] to [card]!"), span_notice("Transfer complete! [occupier] is now stored in [card].")) + to_chat(occupier, span_notice("Transfer complete! You've been stored in [user]'s [card.name].")) occupier.forceMove(card) card.AI = occupier occupier.parent.shunted = FALSE diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 37691efd88d..598e3d3dae5 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri /obj/structure/cable/proc/on_rat_eat(mob/living/simple_animal/hostile/regalrat/king) SIGNAL_HANDLER - + if(avail()) king.apply_damage(10) playsound(king, 'sound/effects/sparks2.ogg', 100, TRUE) @@ -166,7 +166,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri if(W.tool_behaviour == TOOL_WIRECUTTER) if (shock(user, 50)) return - user.visible_message("[user] cuts the cable.", "You cut the cable.") + user.visible_message(span_notice("[user] cuts the cable."), span_notice("You cut the cable.")) investigate_log("was cut by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES) deconstruct() return @@ -180,9 +180,9 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri /obj/structure/cable/proc/get_power_info() if(powernet?.avail > 0) - return "Total power: [DisplayPower(powernet.avail)]\nLoad: [DisplayPower(powernet.load)]\nExcess power: [DisplayPower(surplus())]" + return span_danger("Total power: [DisplayPower(powernet.avail)]\nLoad: [DisplayPower(powernet.load)]\nExcess power: [DisplayPower(surplus())]") else - return "The cable is not powered." + return span_danger("The cable is not powered.") // Items usable on a cable : @@ -462,16 +462,16 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri /obj/item/stack/cable_coil/suicide_act(mob/user) if(locate(/obj/structure/chair/stool) in get_turf(user)) - user.visible_message("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) else - user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return(OXYLOSS) /obj/item/stack/cable_coil/proc/check_menu(mob/living/user) if(!istype(user)) return FALSE if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return FALSE if(user.incapacitated() || !user.Adjacent(src)) return FALSE @@ -548,7 +548,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) if(affecting && affecting.status == BODYPART_ROBOTIC) if(user == H) - user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.name].", "You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [affecting.name].") + user.visible_message(span_notice("[user] starts to fix some of the wires in [H]'s [affecting.name]."), span_notice("You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [affecting.name].")) if(!do_mob(user, H, 50)) return if(item_heal_robotic(H, user, 0, 15)) @@ -576,20 +576,20 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri return if(!isturf(T) || T.intact || !T.can_have_cabling()) - to_chat(user, "You can only lay cables on catwalks and plating!") + to_chat(user, span_warning("You can only lay cables on catwalks and plating!")) return if(get_amount() < 1) // Out of cable - to_chat(user, "There is no cable left!") + to_chat(user, span_warning("There is no cable left!")) return if(get_dist(T,user) > 1) // Too far - to_chat(user, "You can't lay cable at a place that far away!") + to_chat(user, span_warning("You can't lay cable at a place that far away!")) return for(var/obj/structure/cable/C in T) if(C.cable_layer & target_layer) - to_chat(user, "There's already a cable at that position!") + to_chat(user, span_warning("There's already a cable at that position!")) return var/obj/structure/cable/C = new target_type(T) @@ -708,10 +708,10 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri /obj/structure/cable/multilayer/examine(mob/user) . += ..() - . += "L1:[cable_layer & CABLE_LAYER_1 ? "Connect" : "Disconnect"]." - . += "L2:[cable_layer & CABLE_LAYER_2 ? "Connect" : "Disconnect"]." - . += "L3:[cable_layer & CABLE_LAYER_3 ? "Connect" : "Disconnect"]." - . += "M:[machinery_layer & MACHINERY_LAYER_1 ? "Connect" : "Disconnect"]." + . += span_notice("L1:[cable_layer & CABLE_LAYER_1 ? "Connect" : "Disconnect"].") + . += span_notice("L2:[cable_layer & CABLE_LAYER_2 ? "Connect" : "Disconnect"].") + . += span_notice("L3:[cable_layer & CABLE_LAYER_3 ? "Connect" : "Disconnect"].") + . += span_notice("M:[machinery_layer & MACHINERY_LAYER_1 ? "Connect" : "Disconnect"].") GLOBAL_LIST(hub_radial_layer_list) @@ -736,16 +736,16 @@ GLOBAL_LIST(hub_radial_layer_list) switch(layer_result) if("Layer 1") CL = CABLE_LAYER_1 - to_chat(user, "You toggle L1 connection.") + to_chat(user, span_warning("You toggle L1 connection.")) if("Layer 2") CL = CABLE_LAYER_2 - to_chat(user, "You toggle L2 connection.") + to_chat(user, span_warning("You toggle L2 connection.")) if("Layer 3") CL = CABLE_LAYER_3 - to_chat(user, "You toggle L3 connection.") + to_chat(user, span_warning("You toggle L3 connection.")) if("Machinery") machinery_layer ^= MACHINERY_LAYER_1 - to_chat(user, "You toggle machinery connection.") + to_chat(user, span_warning("You toggle machinery connection.")) cut_cable_from_powernet(FALSE) @@ -761,7 +761,7 @@ GLOBAL_LIST(hub_radial_layer_list) if(!istype(user)) return FALSE if(!ISADVANCEDTOOLUSER(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, span_warning("You don't have the dexterity to do this!")) return FALSE if(user.incapacitated() || !user.Adjacent(src)) return FALSE @@ -776,7 +776,7 @@ GLOBAL_LIST(hub_radial_layer_list) auto_propagate_cut_cable(src) // update the powernets /obj/structure/cable/multilayer/CtrlClick(mob/living/user) - to_chat(user, "You pust reset button.") + to_chat(user, span_warning("You pust reset button.")) addtimer(CALLBACK(src, .proc/Reload), 10, TIMER_UNIQUE) //spam protect // This is a mapping aid. In order for this to be placed on a map and function, all three layers need to have their nodes active diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 42f2f84f8e2..37b4191ab71 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -98,12 +98,12 @@ /obj/item/stock_parts/cell/examine(mob/user) . = ..() if(rigged) - . += "This power cell seems to be faulty!" + . += span_danger("This power cell seems to be faulty!") else . += "The charge meter reads [round(src.percent() )]%." /obj/item/stock_parts/cell/suicide_act(mob/user) - user.visible_message("[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (FIRELOSS) /obj/item/stock_parts/cell/proc/on_reagent_change(datum/reagents/holder, ...) @@ -169,22 +169,22 @@ if((E.drain_time > world.time) || !stomach) return if(charge < CELL_POWER_DRAIN) - to_chat(H, "[src] doesn't have enough power!") + to_chat(H, span_warning("[src] doesn't have enough power!")) return if(stomach.crystal_charge > charge_limit) - to_chat(H, "Your charge is full!") + to_chat(H, span_warning("Your charge is full!")) return - to_chat(H, "You begin clumsily channeling power from [src] into your body.") + to_chat(H, span_notice("You begin clumsily channeling power from [src] into your body.")) E.drain_time = world.time + CELL_DRAIN_TIME if(do_after(user, CELL_DRAIN_TIME, target = src)) if((charge < CELL_POWER_DRAIN) || (stomach.crystal_charge > charge_limit)) return if(istype(stomach)) - to_chat(H, "You receive some charge from [src], wasting some in the process.") + to_chat(H, span_notice("You receive some charge from [src], wasting some in the process.")) stomach.adjust_charge(CELL_POWER_GAIN) charge -= CELL_POWER_DRAIN //you waste way more than you receive, so that ethereals cant just steal one cell and forget about hunger else - to_chat(H, "You can't receive charge from [src]!") + to_chat(H, span_warning("You can't receive charge from [src]!")) return diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm index 747cd6da169..5aaecf5ed9b 100644 --- a/code/modules/power/floodlight.dm +++ b/code/modules/power/floodlight.dm @@ -17,7 +17,7 @@ if(istype(O, /obj/item/stack/cable_coil) && state == FLOODLIGHT_NEEDS_WIRES) var/obj/item/stack/S = O if(S.use(5)) - to_chat(user, "You wire [src].") + to_chat(user, span_notice("You wire [src].")) name = "wired [name]" desc = "A bare metal frame looking vaguely like a floodlight. Requires securing with a screwdriver." icon_state = "floodlight_c2" @@ -27,7 +27,7 @@ to_chat(user, "You need 5 cables to wire [src].") return if(O.tool_behaviour == TOOL_SCREWDRIVER && state == FLOODLIGHT_NEEDS_SECURING) - to_chat(user, "You fasten the wiring and electronics in [src].") + to_chat(user, span_notice("You fasten the wiring and electronics in [src].")) name = "secured [name]" desc = "A bare metal frame that looks like a floodlight. Requires a light tube to complete." icon_state = "floodlight_c3" @@ -36,7 +36,7 @@ if(istype(O, /obj/item/light/tube)) var/obj/item/light/tube/L = O if(state == FLOODLIGHT_NEEDS_LIGHTS && L.status != 2) //Ready for a light tube, and not broken. - to_chat(user, "You put lights in [src].") + to_chat(user, span_notice("You put lights in [src].")) new /obj/machinery/power/floodlight(loc) qdel(src) qdel(O) @@ -47,7 +47,7 @@ var/obj/item/lightreplacer/L = O if(state == FLOODLIGHT_NEEDS_LIGHTS && L.CanUse(user)) L.Use(user) - to_chat(user, "You put lights in [src].") + to_chat(user, span_notice("You put lights in [src].")) new /obj/machinery/power/floodlight(loc) qdel(src) return @@ -105,7 +105,7 @@ if(4) setting_text = "high power" if(user) - to_chat(user, "You set [src] to [setting_text].") + to_chat(user, span_notice("You set [src] to [setting_text].")) /obj/machinery/power/floodlight/attackby(obj/item/O, mob/user, params) if(O.tool_behaviour == TOOL_WRENCH) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 37baf3b5724..d6a411431ca 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -195,7 +195,7 @@ if(!anchored) kill_circs() connect_to_network() - to_chat(user, "You [anchored?"secure":"unsecure"] [src].") + to_chat(user, span_notice("You [anchored?"secure":"unsecure"] [src].")) return TRUE /obj/machinery/power/generator/multitool_act(mob/living/user, obj/item/I) @@ -203,7 +203,7 @@ if(!anchored) return find_circs() - to_chat(user, "You update [src]'s circulator links.") + to_chat(user, span_notice("You update [src]'s circulator links.")) return TRUE /obj/machinery/power/generator/screwdriver_act(mob/user, obj/item/I) @@ -211,7 +211,7 @@ return TRUE panel_open = !panel_open I.play_tool_sound(src) - to_chat(user, "You [panel_open?"open":"close"] the panel on [src].") + to_chat(user, span_notice("You [panel_open?"open":"close"] the panel on [src].")) return TRUE /obj/machinery/power/generator/crowbar_act(mob/user, obj/item/I) diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 3325751120b..0ee714c2437 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -205,7 +205,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne switch(broken_state) if(GRAV_NEEDS_SCREWDRIVER) if(I.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You secure the screws of the framework.") + to_chat(user, span_notice("You secure the screws of the framework.")) I.play_tool_sound(src) broken_state++ update_appearance() @@ -213,7 +213,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne 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.") + to_chat(user, span_notice("You mend the damaged framework.")) broken_state++ update_appearance() return @@ -222,16 +222,16 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne var/obj/item/stack/sheet/plasteel/PS = I if(PS.get_amount() >= 10) PS.use(10) - to_chat(user, "You add the plating to the framework.") + to_chat(user, span_notice("You add the plating to the framework.")) playsound(src.loc, 'sound/machines/click.ogg', 75, TRUE) broken_state++ update_appearance() else - to_chat(user, "You need 10 sheets of plasteel!") + to_chat(user, span_warning("You need 10 sheets of plasteel!")) return if(GRAV_NEEDS_WRENCH) if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You secure the plating to the framework.") + to_chat(user, span_notice("You secure the plating to the framework.")) I.play_tool_sound(src) set_fix() return diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 32e1210f42c..3366da24034 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -37,7 +37,7 @@ return var/area/A = get_area(user) if(!IS_DYNAMIC_LIGHTING(A)) - to_chat(user, "You cannot place [src] in this area!") + to_chat(user, span_warning("You cannot place [src] in this area!")) return return TRUE @@ -87,11 +87,11 @@ else . += "The casing has no power cell for backup power." else - . += "This casing doesn't support power cells for backup power." + . += span_danger("This casing doesn't support power cells for backup power.") /obj/structure/light_construct/attack_hand(mob/user, list/modifiers) if(cell) - user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].") + user.visible_message(span_notice("[user] removes [cell] from [src]!"), span_notice("You remove [cell].")) user.put_in_hands(cell) cell.update_appearance() cell = null @@ -101,7 +101,7 @@ /obj/structure/light_construct/attack_tk(mob/user) if(!cell) return - to_chat(user, "You telekinetically remove [cell].") + to_chat(user, span_notice("You telekinetically remove [cell].")) var/obj/item/stock_parts/cell/cell_reference = cell cell = null cell_reference.forceMove(drop_location()) @@ -112,37 +112,37 @@ add_fingerprint(user) if(istype(W, /obj/item/stock_parts/cell)) if(!cell_connectors) - to_chat(user, "This [name] can't support a power cell!") + to_chat(user, span_warning("This [name] can't support a power cell!")) return if(HAS_TRAIT(W, TRAIT_NODROP)) - to_chat(user, "[W] is stuck to your hand!") + to_chat(user, span_warning("[W] is stuck to your hand!")) return if(cell) - to_chat(user, "There is a power cell already installed!") + to_chat(user, span_warning("There is a power cell already installed!")) else if(user.temporarilyRemoveItemFromInventory(W)) - user.visible_message("[user] hooks up [W] to [src].", \ - "You add [W] to [src].") + user.visible_message(span_notice("[user] hooks up [W] to [src]."), \ + span_notice("You add [W] to [src].")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) W.forceMove(src) cell = W add_fingerprint(user) return else if (istype(W, /obj/item/light)) - to_chat(user, "This [name] isn't finished being setup!") + to_chat(user, span_warning("This [name] isn't finished being setup!")) return switch(stage) if(1) if(W.tool_behaviour == TOOL_WRENCH) if(cell) - to_chat(user, "You have to remove the cell first!") + to_chat(user, span_warning("You have to remove the cell first!")) return else - to_chat(user, "You begin deconstructing [src]...") + to_chat(user, span_notice("You begin deconstructing [src]...")) if (W.use_tool(src, user, 30, volume=50)) new /obj/item/stack/sheet/iron(drop_location(), sheets_refunded) - user.visible_message("[user.name] deconstructs [src].", \ - "You deconstruct [src].", "You hear a ratchet.") + user.visible_message(span_notice("[user.name] deconstructs [src]."), \ + span_notice("You deconstruct [src]."), span_hear("You hear a ratchet.")) playsound(src, 'sound/items/deconstruct.ogg', 75, TRUE) qdel(src) return @@ -152,28 +152,28 @@ if(coil.use(1)) icon_state = "[fixture_type]-construct-stage2" stage = 2 - user.visible_message("[user.name] adds wires to [src].", \ - "You add wires to [src].") + user.visible_message(span_notice("[user.name] adds wires to [src]."), \ + span_notice("You add wires to [src].")) else - to_chat(user, "You need one length of cable to wire [src]!") + to_chat(user, span_warning("You need one length of cable to wire [src]!")) return if(2) if(W.tool_behaviour == TOOL_WRENCH) - to_chat(usr, "You have to remove the wires first!") + to_chat(usr, span_warning("You have to remove the wires first!")) return if(W.tool_behaviour == TOOL_WIRECUTTER) stage = 1 icon_state = "[fixture_type]-construct-stage1" new /obj/item/stack/cable_coil(drop_location(), 1, "red") - user.visible_message("[user.name] removes the wiring from [src].", \ - "You remove the wiring from [src].", "You hear clicking.") + user.visible_message(span_notice("[user.name] removes the wiring from [src]."), \ + span_notice("You remove the wiring from [src]."), span_hear("You hear clicking.")) W.play_tool_sound(src, 100) return if(W.tool_behaviour == TOOL_SCREWDRIVER) - user.visible_message("[user.name] closes [src]'s casing.", \ - "You close [src]'s casing.", "You hear screwing.") + user.visible_message(span_notice("[user.name] closes [src]'s casing."), \ + span_notice("You close [src]'s casing."), span_hear("You hear screwing.")) W.play_tool_sound(src, 75) switch(fixture_type) if("tube") @@ -526,7 +526,7 @@ // attempt to insert light else if(istype(W, /obj/item/light)) if(status == LIGHT_OK) - to_chat(user, "There is a [fitting] already inserted!") + to_chat(user, span_warning("There is a [fitting] already inserted!")) else src.add_fingerprint(user) var/obj/item/light/L = W @@ -537,9 +537,9 @@ src.add_fingerprint(user) if(status != LIGHT_EMPTY) drop_light_tube(user) - to_chat(user, "You replace [L].") + to_chat(user, span_notice("You replace [L].")) else - to_chat(user, "You insert [L].") + to_chat(user, span_notice("You insert [L].")) status = L.status switchcount = L.switchcount rigged = L.rigged @@ -552,17 +552,17 @@ if(on && rigged) explode() else - to_chat(user, "This type of light requires a [fitting]!") + to_chat(user, span_warning("This type of light requires a [fitting]!")) // attempt to stick weapon into light socket else if(status == LIGHT_EMPTY) if(W.tool_behaviour == TOOL_SCREWDRIVER) //If it's a screwdriver open it. W.play_tool_sound(src, 75) - user.visible_message("[user.name] opens [src]'s casing.", \ - "You open [src]'s casing.", "You hear a noise.") + user.visible_message(span_notice("[user.name] opens [src]'s casing."), \ + span_notice("You open [src]'s casing."), span_hear("You hear a noise.")) deconstruct() else - to_chat(user, "You stick \the [W] into the light socket!") + to_chat(user, span_userdanger("You stick \the [W] into the light socket!")) if(has_power() && (W.flags_1 & CONDUCT_1)) do_sparks(3, TRUE, src) if (prob(75)) @@ -651,7 +651,7 @@ if(!has_emergency_power(pwr)) return FALSE if(cell.charge > 300) //it's meant to handle 120 W, ya doofus - visible_message("[src] short-circuits from too powerful of a power cell!") + visible_message(span_warning("[src] short-circuits from too powerful of a power cell!")) burn_out() return FALSE cell.use(pwr) @@ -679,7 +679,7 @@ /obj/machinery/light/attack_ai(mob/user) no_emergency = !no_emergency - to_chat(user, "Emergency lights for this fixture have been [no_emergency ? "disabled" : "enabled"].") + to_chat(user, span_notice("Emergency lights for this fixture have been [no_emergency ? "disabled" : "enabled"].")) update(FALSE) return @@ -694,7 +694,7 @@ add_fingerprint(user) if(status == LIGHT_EMPTY) - to_chat(user, "There is no [fitting] in this light!") + to_chat(user, span_warning("There is no [fitting] in this light!")) return // make it burn hands unless you're wearing heat insulated gloves or have the RESISTHEAT/RESISTHEATHANDS traits @@ -709,14 +709,14 @@ var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) if((E.drain_time > world.time) || !stomach) return - to_chat(H, "You start channeling some power through the [fitting] into your body.") + to_chat(H, span_notice("You start channeling some power through the [fitting] into your body.")) E.drain_time = world.time + LIGHT_DRAIN_TIME if(do_after(user, LIGHT_DRAIN_TIME, target = src)) if(istype(stomach)) - to_chat(H, "You receive some charge from the [fitting].") + to_chat(H, span_notice("You receive some charge from the [fitting].")) stomach.adjust_charge(LIGHT_POWER_GAIN) else - to_chat(H, "You can't receive charge from the [fitting]!") + to_chat(H, span_warning("You can't receive charge from the [fitting]!")) return if(H.gloves) @@ -727,26 +727,26 @@ prot = 1 if(prot > 0 || HAS_TRAIT(user, TRAIT_RESISTHEAT) || HAS_TRAIT(user, TRAIT_RESISTHEATHANDS)) - to_chat(user, "You remove the light [fitting].") + to_chat(user, span_notice("You remove the light [fitting].")) else if(istype(user) && user.dna.check_mutation(TK)) - to_chat(user, "You telekinetically remove the light [fitting].") + to_chat(user, span_notice("You telekinetically remove the light [fitting].")) else var/obj/item/bodypart/affecting = H.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") if(affecting?.receive_damage( 0, 5 )) // 5 burn damage H.update_damage_overlays() if(HAS_TRAIT(user, TRAIT_LIGHTBULB_REMOVER)) - to_chat(user, "You feel like you're burning, but you can push through.") + to_chat(user, span_notice("You feel like you're burning, but you can push through.")) if(!do_after(user, 5 SECONDS, target = src)) return if(affecting?.receive_damage( 0, 10 )) // 10 more burn damage H.update_damage_overlays() - to_chat(user, "You manage to remove the light [fitting], shattering it in process.") + to_chat(user, span_notice("You manage to remove the light [fitting], shattering it in process.")) break_light_tube() else - to_chat(user, "You try to remove the light [fitting], but you burn your hand on it!") + to_chat(user, span_warning("You try to remove the light [fitting], but you burn your hand on it!")) return else - to_chat(user, "You remove the light [fitting].") + to_chat(user, span_notice("You remove the light [fitting].")) // create a light tube/bulb item and put it in the user's hand drop_light_tube(user) @@ -773,10 +773,10 @@ /obj/machinery/light/attack_tk(mob/user) if(status == LIGHT_EMPTY) - to_chat(user, "There is no [fitting] in this light!") + to_chat(user, span_warning("There is no [fitting] in this light!")) return - to_chat(user, "You telekinetically remove the light [fitting].") + to_chat(user, span_notice("You telekinetically remove the light [fitting].")) // create a light tube/bulb item and put it in the user's hand var/obj/item/light/light_tube = drop_light_tube() return light_tube.attack_tk(user) @@ -865,10 +865,10 @@ /obj/item/light/suicide_act(mob/living/carbon/user) if (status == LIGHT_BROKEN) - user.visible_message("[user] begins to stab [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to stab [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS else - user.visible_message("[user] begins to eat \the [src]! It looks like [user.p_theyre()] not very bright!") + user.visible_message(span_suicide("[user] begins to eat \the [src]! It looks like [user.p_theyre()] not very bright!")) shatter() return BRUTELOSS @@ -975,7 +975,7 @@ /obj/item/light/proc/shatter() if(status == LIGHT_OK || status == LIGHT_BURNED) - visible_message("[src] shatters.","You hear a small glass object shatter.") + visible_message(span_danger("[src] shatters."),span_hear("You hear a small glass object shatter.")) status = LIGHT_BROKEN force = 5 playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE) diff --git a/code/modules/power/monitor.dm b/code/modules/power/monitor.dm index 2f7793d029a..37d9278bd1a 100644 --- a/code/modules/power/monitor.dm +++ b/code/modules/power/monitor.dm @@ -29,7 +29,7 @@ /obj/machinery/computer/monitor/secret/examine(mob/user) . = ..() - . += "It's operating system seems quite outdated... It doesn't seem like it'd be compatible with the latest remote NTOS monitoring systems." + . += span_notice("It's operating system seems quite outdated... It doesn't seem like it'd be compatible with the latest remote NTOS monitoring systems.") /obj/machinery/computer/monitor/Initialize() . = ..() diff --git a/code/modules/power/multiz.dm b/code/modules/power/multiz.dm index 969db61d3b3..f4f1bd987b3 100644 --- a/code/modules/power/multiz.dm +++ b/code/modules/power/multiz.dm @@ -15,6 +15,6 @@ /obj/structure/cable/multilayer/examine(mob/user) . += ..() var/turf/T = get_turf(src) - . += "[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_below(T)) ? "Detected" : "Undetected"] hub UP." - . += "[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_above(T)) ? "Detected" : "Undetected"] hub DOWN." + . += span_notice("[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_below(T)) ? "Detected" : "Undetected"] hub UP.") + . += span_notice("[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_above(T)) ? "Detected" : "Undetected"] hub DOWN.") diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm index 894527f66ea..0d78d59e03f 100644 --- a/code/modules/power/pipecleaners.dm +++ b/code/modules/power/pipecleaners.dm @@ -133,14 +133,14 @@ By design, d1 is the smallest direction and d2 is the highest else if(istype(W, /obj/item/stack/pipe_cleaner_coil)) var/obj/item/stack/pipe_cleaner_coil/coil = W if (coil.get_amount() < 1) - to_chat(user, "Not enough pipe cleaner!") + to_chat(user, span_warning("Not enough pipe cleaner!")) return coil.pipe_cleaner_join(src, user) add_fingerprint(user) /obj/structure/pipe_cleaner/proc/cut_pipe_cleaner(mob/user) - user.visible_message("[user] pulls up the pipe cleaner.", "You pull up the pipe cleaner.") + user.visible_message(span_notice("[user] pulls up the pipe cleaner."), span_notice("You pull up the pipe cleaner.")) stored.add_fingerprint(user) investigate_log("was pulled up by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES) deconstruct() @@ -233,9 +233,9 @@ By design, d1 is the smallest direction and d2 is the highest /obj/item/stack/pipe_cleaner_coil/suicide_act(mob/user) if(locate(/obj/structure/chair/stool) in get_turf(user)) - user.visible_message("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) else - user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return(OXYLOSS) /obj/item/stack/pipe_cleaner_coil/Initialize(mapload, new_amount = null, list/mat_override=null, mat_amt=1, param_color = null) @@ -299,15 +299,15 @@ By design, d1 is the smallest direction and d2 is the highest return if(!isturf(T) || !T.can_have_cabling()) - to_chat(user, "You can only lay pipe cleaners on a solid floor!") + to_chat(user, span_warning("You can only lay pipe cleaners on a solid floor!")) return if(get_amount() < 1) // Out of pipe_cleaner - to_chat(user, "There is no pipe cleaner left!") + to_chat(user, span_warning("There is no pipe cleaner left!")) return if(get_dist(T,user) > 1) // Too far - to_chat(user, "You can't lay pipe cleaner at a place that far away!") + to_chat(user, span_warning("You can't lay pipe cleaner at a place that far away!")) return var/dirn @@ -321,7 +321,7 @@ By design, d1 is the smallest direction and d2 is the highest for(var/obj/structure/pipe_cleaner/LC in T) if(LC.d2 == dirn && LC.d1 == 0) - to_chat(user, "There's already a pipe leaner at that position!") + to_chat(user, span_warning("There's already a pipe leaner at that position!")) return var/obj/structure/pipe_cleaner/C = get_new_pipe_cleaner(T) @@ -349,7 +349,7 @@ By design, d1 is the smallest direction and d2 is the highest return if(get_dist(C, user) > 1) // make sure it's close enough - to_chat(user, "You can't lay pipe cleaner at a place that far away!") + to_chat(user, span_warning("You can't lay pipe cleaner at a place that far away!")) return @@ -365,7 +365,7 @@ By design, d1 is the smallest direction and d2 is the highest if((C.d1 == dirn || C.d2 == dirn) && !forceddir) if(!U.can_have_cabling()) //checking if it's a plating or catwalk if (showerror) - to_chat(user, "You can only lay pipe cleaners on catwalks and plating!") + to_chat(user, span_warning("You can only lay pipe cleaners on catwalks and plating!")) return else // pipe_cleaner is pointing at us, we're standing on an open tile @@ -376,7 +376,7 @@ By design, d1 is the smallest direction and d2 is the highest for(var/obj/structure/pipe_cleaner/LC in U) // check to make sure there's not a pipe_cleaner there already if(LC.d1 == fdirn || LC.d2 == fdirn) if (showerror) - to_chat(user, "There's already a pipe cleaner at that position!") + to_chat(user, span_warning("There's already a pipe cleaner at that position!")) return var/obj/structure/pipe_cleaner/NC = get_new_pipe_cleaner(U) @@ -407,7 +407,7 @@ By design, d1 is the smallest direction and d2 is the highest continue if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1) ) // make sure no pipe_cleaner matches either direction if (showerror) - to_chat(user, "There's already a pipe cleaner at that position!") + to_chat(user, span_warning("There's already a pipe cleaner at that position!")) return diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 61206609605..7e2c02e0dbc 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -119,11 +119,11 @@ /obj/machinery/power/port_gen/pacman/examine(mob/user) . = ..() - . += "The generator has [sheets] units of [sheet_name] fuel left, producing [DisplayPower(power_gen)] per cycle." + . += span_notice("The generator has [sheets] units of [sheet_name] fuel left, producing [DisplayPower(power_gen)] per cycle.") if(anchored) - . += "It is anchored to the ground." + . += span_notice("It is anchored to the ground.") if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Fuel efficiency increased by [(consumption*100)-100]%." + . += span_notice("The status display reads: Fuel efficiency increased by [(consumption*100)-100]%.") /obj/machinery/power/port_gen/pacman/HasFuel() if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left) @@ -187,9 +187,9 @@ var/obj/item/stack/addstack = O var/amount = min((max_sheets - sheets), addstack.amount) if(amount < 1) - to_chat(user, "The [src.name] is full!") + to_chat(user, span_notice("The [src.name] is full!")) return - to_chat(user, "You add [amount] sheets to the [src.name].") + to_chat(user, span_notice("You add [amount] sheets to the [src.name].")) sheets += amount addstack.use(amount) return @@ -197,10 +197,10 @@ if(O.tool_behaviour == TOOL_WRENCH) if(!anchored && !isinspace()) set_anchored(TRUE) - to_chat(user, "You secure the generator to the floor.") + to_chat(user, span_notice("You secure the generator to the floor.")) else if(anchored) set_anchored(FALSE) - to_chat(user, "You unsecure the generator from the floor.") + to_chat(user, span_notice("You unsecure the generator from the floor.")) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) return @@ -208,9 +208,9 @@ panel_open = !panel_open O.play_tool_sound(src) if(panel_open) - to_chat(user, "You open the access panel.") + to_chat(user, span_notice("You open the access panel.")) else - to_chat(user, "You close the access panel.") + to_chat(user, span_notice("You close the access panel.")) return else if(default_deconstruction_crowbar(O)) return diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm index 3cccca8d0f3..020f16528a2 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -39,7 +39,7 @@ /obj/machinery/power/rtg/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Power generation now at [power_gen*0.001]kW." + . += span_notice("The status display reads: Power generation now at [power_gen*0.001]kW.") /obj/machinery/power/rtg/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-open", initial(icon_state), I)) @@ -72,8 +72,8 @@ if(going_kaboom) return going_kaboom = TRUE - visible_message("\The [src] lets out a shower of sparks as it starts to lose stability!",\ - "You hear a loud electrical crack!") + visible_message(span_danger("\The [src] lets out a shower of sparks as it starts to lose stability!"),\ + span_hear("You hear a loud electrical crack!")) playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) tesla_zap(src, 5, power_gen * 0.05) addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, src, 2, 3, 4, null, 8), 10 SECONDS) // Not a normal explosion. diff --git a/code/modules/power/singularity/boh_tear.dm b/code/modules/power/singularity/boh_tear.dm index 64c3e5b390d..0eb5a6bbfbc 100644 --- a/code/modules/power/singularity/boh_tear.dm +++ b/code/modules/power/singularity/boh_tear.dm @@ -38,7 +38,7 @@ if(!isliving(user)) return var/mob/living/jedi = user - to_chat(jedi, "You don't feel like you are real anymore.") + to_chat(jedi, span_userdanger("You don't feel like you are real anymore.")) jedi.dust_animation() jedi.spawn_dust() addtimer(CALLBACK(src, /atom/proc/attack_hand, jedi), 0.5 SECONDS) diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 6622e221ad6..bbe1b946922 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -64,11 +64,11 @@ if(!anchored) return if(locked) - to_chat(user, "The controls are locked!") + to_chat(user, span_warning("The controls are locked!")) return toggle_power() - user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \ - "You turn the [src.name] [active? "on":"off"].") + user.visible_message(span_notice("[user.name] turns the [src.name] [active? "on":"off"]."), \ + span_notice("You turn the [src.name] [active? "on":"off"].")) var/datum/gas_mixture/tank_mix = loaded_tank.return_air() var/fuel if(loaded_tank) @@ -80,7 +80,7 @@ if(!loaded_tank) return ..() if(!silent) - to_chat(user, "Remove the plasma tank first!") + to_chat(user, span_warning("Remove the plasma tank first!")) return FAILED_UNFASTEN @@ -96,13 +96,13 @@ /obj/machinery/power/rad_collector/attackby(obj/item/item, mob/user, params) if(istype(item, /obj/item/tank/internals/plasma)) if(!anchored) - to_chat(user, "[src] needs to be secured to the floor first!") + to_chat(user, span_warning("[src] needs to be secured to the floor first!")) return TRUE if(loaded_tank) - to_chat(user, "There's already a plasma tank loaded!") + to_chat(user, span_warning("There's already a plasma tank loaded!")) return TRUE if(panel_open) - to_chat(user, "Close the maintenance panel first!") + to_chat(user, span_warning("Close the maintenance panel first!")) return TRUE if(!user.transferItemToLoc(item, src)) return @@ -110,12 +110,12 @@ update_appearance() else if(item.GetID()) if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) if(!active) - to_chat(user, "The controls can only be locked when \the [src] is active!") + to_chat(user, span_warning("The controls can only be locked when \the [src] is active!")) return TRUE locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the controls.") + to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the controls.")) return TRUE else return ..() @@ -131,7 +131,7 @@ if(!loaded_tank) default_deconstruction_screwdriver(user, icon_state, icon_state, item) return TRUE - to_chat(user, "Remove the plasma tank first!") + to_chat(user, span_warning("Remove the plasma tank first!")) return TRUE /obj/machinery/power/rad_collector/crowbar_act(mob/living/user, obj/item/I) @@ -139,11 +139,11 @@ if(!locked) eject() return TRUE - to_chat(user, "The controls are locked!") + to_chat(user, span_warning("The controls are locked!")) return TRUE if(default_deconstruction_crowbar(I)) return TRUE - to_chat(user, "There isn't a tank loaded!") + to_chat(user, span_warning("There isn't a tank loaded!")) return TRUE /obj/machinery/power/rad_collector/return_analyzable_air() @@ -154,12 +154,12 @@ /obj/machinery/power/rad_collector/examine(mob/user) . = ..() if(!active) - . += "[src]'s display displays the words: \"Power production mode. Please insert Plasma.\"" + . += span_notice("[src]'s display displays the words: \"Power production mode. Please insert Plasma.\"") // stored_energy is converted directly to watts every SSmachines.wait * 0.1 seconds. // Therefore, its units are joules per SSmachines.wait * 0.1 seconds. // So joules = stored_energy * SSmachines.wait * 0.1 var/joules = stored_energy * SSmachines.wait * 0.1 - . += "[src]'s display states that it has stored [DisplayJoules(joules)], and is processing [DisplayPower(RAD_COLLECTOR_OUTPUT)]." + . += span_notice("[src]'s display states that it has stored [DisplayJoules(joules)], and is processing [DisplayPower(RAD_COLLECTOR_OUTPUT)].") /obj/machinery/power/rad_collector/obj_break(damage_flag) . = ..() diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 46ed815aa6a..0cb718b349b 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -63,7 +63,7 @@ qdel(src) return if(ismegafauna(user)) - user.visible_message("[user] glows fiercely as the containment field flickers out!") + user.visible_message(span_warning("[user] glows fiercely as the containment field flickers out!")) FG1.calc_power(INFINITY) //rip that 'containment' field user.adjustHealth(-user.obj_damage) else @@ -133,9 +133,9 @@ if(prob(20)) user.Stun(40) user.take_overall_damage(0, shock_damage) - user.visible_message("[user.name] is shocked by the [src.name]!", \ - "Energy pulse detected, system damaged!", \ - "You hear an electrical crack.") + user.visible_message(span_danger("[user.name] is shocked by the [src.name]!"), \ + span_userdanger("Energy pulse detected, system damaged!"), \ + span_hear("You hear an electrical crack.")) user.updatehealth() bump_field(user) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 55f39e7183f..4d5c99b979f 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -115,22 +115,22 @@ /obj/machinery/power/emitter/examine(mob/user) . = ..() if(welded) - . += "It's moored firmly to the floor. You can unsecure its moorings with a welder." + . += span_info("It's moored firmly to the floor. You can unsecure its moorings with a welder.") else if(anchored) - . += "It's currently anchored to the floor. You can secure its moorings with a welder, or remove it with a wrench." + . += span_info("It's currently anchored to the floor. You can secure its moorings with a welder, or remove it with a wrench.") else - . += "It's not anchored to the floor. You can secure it in place with a wrench." + . += span_info("It's not anchored to the floor. You can secure it in place with a wrench.") if(!in_range(user, src) && !isobserver(user)) return if(!active) - . += "Its status display is currently turned off." + . += span_notice("Its status display is currently turned off.") else if(!powered) - . += "Its status display is glowing faintly." + . += span_notice("Its status display is glowing faintly.") else - . += "Its status display reads: Emitting one beam every [DisplayTimeText(fire_delay)]." - . += "Power consumption at [DisplayPower(active_power_usage)]." + . += span_notice("Its status display reads: Emitting one beam every [DisplayTimeText(fire_delay)].") + . += span_notice("Power consumption at [DisplayPower(active_power_usage)].") /obj/machinery/power/emitter/ComponentInitialize() . = ..() @@ -139,7 +139,7 @@ /obj/machinery/power/emitter/proc/can_be_rotated(mob/user, rotation_type) if(!anchored) return TRUE - to_chat(user, "It is fastened to the floor!") + to_chat(user, span_warning("It is fastened to the floor!")) return FALSE /obj/machinery/power/emitter/should_have_node() @@ -164,13 +164,13 @@ /obj/machinery/power/emitter/interact(mob/user) add_fingerprint(user) if(!welded) - to_chat(user, "[src] needs to be firmly secured to the floor first!") + to_chat(user, span_warning("[src] needs to be firmly secured to the floor first!")) return FALSE if(!powernet) - to_chat(user, "\The [src] isn't connected to a wire!") + to_chat(user, span_warning("\The [src] isn't connected to a wire!")) return FALSE if(locked || !allow_switch_interact) - to_chat(user, "The controls are locked!") + to_chat(user, span_warning("The controls are locked!")) return FALSE if(active) @@ -180,7 +180,7 @@ shot_number = 0 fire_delay = maximum_fire_delay - to_chat(user, "You turn [active ? "on" : "off"] [src].") + to_chat(user, span_notice("You turn [active ? "on" : "off"] [src].")) message_admins("Emitter turned [active ? "ON" : "OFF"] by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(src)]") 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) @@ -189,7 +189,7 @@ /obj/machinery/power/emitter/attack_animal(mob/living/simple_animal/user, list/modifiers) if(ismegafauna(user) && anchored) set_anchored(FALSE) - user.visible_message("[user] rips [src] free from its moorings!") + user.visible_message(span_warning("[user] rips [src] free from its moorings!")) else . = ..() if(. && !anchored) @@ -263,12 +263,12 @@ /obj/machinery/power/emitter/can_be_unfasten_wrench(mob/user, silent) if(active) if(!silent) - to_chat(user, "Turn \the [src] off first!") + to_chat(user, span_warning("Turn \the [src] off first!")) return FAILED_UNFASTEN else if(welded) if(!silent) - to_chat(user, "[src] is welded to the floor!") + to_chat(user, span_warning("[src] is welded to the floor!")) return FAILED_UNFASTEN return ..() @@ -281,35 +281,35 @@ /obj/machinery/power/emitter/welder_act(mob/living/user, obj/item/item) ..() if(active) - to_chat(user, "Turn [src] off first!") + to_chat(user, span_warning("Turn [src] off first!")) return TRUE if(welded) if(!item.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user.name] starts to cut the [name] free from the floor.", \ - "You start to cut [src] free from the floor...", \ - "You hear welding.") + user.visible_message(span_notice("[user.name] starts to cut the [name] free from the floor."), \ + span_notice("You start to cut [src] free from the floor..."), \ + span_hear("You hear welding.")) if(!item.use_tool(src, user, 20, 1, 50)) return FALSE welded = FALSE - to_chat(user, "You cut [src] free from the floor.") + to_chat(user, span_notice("You cut [src] free from the floor.")) disconnect_from_network() update_cable_icons_on_turf(get_turf(src)) return TRUE if(!anchored) - to_chat(user, "[src] needs to be wrenched to the floor!") + to_chat(user, span_warning("[src] needs to be wrenched to the floor!")) return TRUE if(!item.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user.name] starts to weld the [name] to the floor.", \ - "You start to weld [src] to the floor...", \ - "You hear welding.") + user.visible_message(span_notice("[user.name] starts to weld the [name] to the floor."), \ + span_notice("You start to weld [src] to the floor..."), \ + span_hear("You hear welding.")) if(!item.use_tool(src, user, 20, 1, 50)) return FALSE welded = TRUE - to_chat(user, "You weld [src] to the floor.") + to_chat(user, span_notice("You weld [src] to the floor.")) connect_to_network() update_cable_icons_on_turf(get_turf(src)) return TRUE @@ -330,16 +330,16 @@ /obj/machinery/power/emitter/attackby(obj/item/item, mob/user, params) if(item.GetID()) if(obj_flags & EMAGGED) - to_chat(user, "The lock seems to be broken!") + to_chat(user, span_warning("The lock seems to be broken!")) return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) return if(!active) - to_chat(user, "The controls can only be locked when \the [src] is online!") + to_chat(user, span_warning("The controls can only be locked when \the [src] is online!")) return locked = !locked - to_chat(user, "You [src.locked ? "lock" : "unlock"] the controls.") + to_chat(user, span_notice("You [src.locked ? "lock" : "unlock"] the controls.")) return if(is_wire_tool(item) && panel_open) @@ -388,7 +388,7 @@ locked = FALSE obj_flags |= EMAGGED if(user) - user.visible_message("[user.name] emags [src].", "You short out the lock.") + user.visible_message(span_warning("[user.name] emags [src]."), span_notice("You short out the lock.")) /obj/machinery/power/emitter/prototype diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index e43510f7b9b..5c512474f43 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -76,18 +76,18 @@ no power level overlay is currently in the overlays list. if(state == FG_WELDED) if(get_dist(src, user) <= 1)//Need to actually touch the thing to turn it on if(active >= FG_CHARGING) - to_chat(user, "You are unable to turn off [src] once it is online!") + to_chat(user, span_warning("You are unable to turn off [src] once it is online!")) return 1 else - user.visible_message("[user] turns on [src].", \ - "You turn on [src].", \ - "You hear heavy droning.") + user.visible_message(span_notice("[user] turns on [src]."), \ + span_notice("You turn on [src]."), \ + span_hear("You hear heavy droning.")) turn_on() investigate_log("activated by [key_name(user)].", INVESTIGATE_SINGULO) add_fingerprint(user) else - to_chat(user, "[src] needs to be firmly secured to the floor first!") + to_chat(user, span_warning("[src] needs to be firmly secured to the floor first!")) /obj/machinery/field/generator/set_anchored(anchorvalue) . = ..() @@ -100,12 +100,12 @@ no power level overlay is currently in the overlays list. /obj/machinery/field/generator/can_be_unfasten_wrench(mob/user, silent) if(active) if(!silent) - to_chat(user, "Turn \the [src] off first!") + to_chat(user, span_warning("Turn \the [src] off first!")) return FAILED_UNFASTEN else if(state == FG_WELDED) if(!silent) - to_chat(user, "[src] is welded to the floor!") + to_chat(user, span_warning("[src] is welded to the floor!")) return FAILED_UNFASTEN return ..() @@ -118,32 +118,32 @@ no power level overlay is currently in the overlays list. /obj/machinery/field/generator/welder_act(mob/living/user, obj/item/I) . = ..() if(active) - to_chat(user, "[src] needs to be off!") + to_chat(user, span_warning("[src] needs to be off!")) return TRUE switch(state) if(FG_UNSECURED) - to_chat(user, "[src] needs to be wrenched to the floor!") + to_chat(user, span_warning("[src] needs to be wrenched to the floor!")) if(FG_SECURED) if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user] starts to weld [src] to the floor.", \ - "You start to weld \the [src] to the floor...", \ - "You hear welding.") + user.visible_message(span_notice("[user] starts to weld [src] to the floor."), \ + span_notice("You start to weld \the [src] to the floor..."), \ + span_hear("You hear welding.")) if(I.use_tool(src, user, 20, volume=50) && state == FG_SECURED) state = FG_WELDED - to_chat(user, "You weld the field generator to the floor.") + to_chat(user, span_notice("You weld the field generator to the floor.")) if(FG_WELDED) if(!I.tool_start_check(user, amount=0)) return TRUE - user.visible_message("[user] starts to cut [src] free from the floor.", \ - "You start to cut \the [src] free from the floor...", \ - "You hear welding.") + user.visible_message(span_notice("[user] starts to cut [src] free from the floor."), \ + span_notice("You start to cut \the [src] free from the floor..."), \ + span_hear("You hear welding.")) if(I.use_tool(src, user, 20, volume=50) && state == FG_WELDED) state = FG_SECURED - to_chat(user, "You cut \the [src] free from the floor.") + to_chat(user, span_notice("You cut \the [src] free from the floor.")) return TRUE @@ -151,7 +151,7 @@ no power level overlay is currently in the overlays list. /obj/machinery/field/generator/attack_animal(mob/living/simple_animal/user, list/modifiers) if(user.environment_smash & ENVIRONMENT_SMASH_RWALLS && active == FG_OFFLINE && state != FG_UNSECURED) set_anchored(FALSE) - user.visible_message("[user] rips [src] free from its moorings!") + user.visible_message(span_warning("[user] rips [src] free from its moorings!")) else ..() if(!anchored) @@ -223,7 +223,7 @@ no power level overlay is currently in the overlays list. check_power_level() return TRUE else - visible_message("The [name] shuts down!", "You hear something shutting down.") + visible_message(span_danger("The [name] shuts down!"), span_hear("You hear something shutting down.")) turn_off() investigate_log("ran out of power and deactivated", INVESTIGATE_SINGULO) power = 0 diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index eda139183da..93b14338540 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -52,7 +52,7 @@ singularity_size = NARSIE_SINGULARITY_SIZE, \ )) - send_to_playing_players("NAR'SIE HAS RISEN") + send_to_playing_players(span_narsie("NAR'SIE HAS RISEN")) sound_to_playing_players('sound/creatures/narsie_rises.ogg') var/area/area = get_area(src) @@ -90,7 +90,7 @@ INVOKE_ASYNC(GLOBAL_PROC, .proc/begin_the_end) /obj/narsie/Destroy() - send_to_playing_players("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\"") + send_to_playing_players(span_narsie("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\"")) sound_to_playing_players('sound/magic/demon_dies.ogg', 50) var/list/all_cults = list() @@ -132,7 +132,7 @@ for (var/mob/living/carbon/victim in viewers(NARSIE_CONSUME_RANGE, src)) if (victim.stat == CONSCIOUS) if (!IS_CULTIST(victim)) - to_chat(victim, "You feel conscious thought crumble away in an instant as you gaze upon [src]...") + to_chat(victim, span_cult("You feel conscious thought crumble away in an instant as you gaze upon [src]...")) victim.apply_effect(NARSIE_MESMERIZE_EFFECT, EFFECT_STUN) /// Narsie rewards her cultists with being devoured first, then picks a ghost to follow. @@ -179,12 +179,12 @@ if (food == old_target) return - to_chat(old_target, "NAR'SIE HAS LOST INTEREST IN YOU.") + to_chat(old_target, span_cult("NAR'SIE HAS LOST INTEREST IN YOU.")) singularity_component.target = food if(ishuman(food)) - to_chat(food, "NAR'SIE HUNGERS FOR YOUR SOUL.") + to_chat(food, span_cult("NAR'SIE HUNGERS FOR YOUR SOUL.")) else - to_chat(food, "NAR'SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL.") + to_chat(food, span_cult("NAR'SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL.")) /// Called to make Nar'Sie convert objects to cult stuff, or to eat /obj/narsie/proc/consume(atom/target) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 955738e8311..95b6e23f313 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -71,9 +71,9 @@ . = COMPONENT_CANCEL_ATTACK_CHAIN var/mob/living/carbon/jedi = user jedi.visible_message( - "[jedi]'s head begins to collapse in on itself!", - "Your head feels like it's collapsing in on itself! This was really not a good idea!", - "You hear something crack and explode in gore." + span_danger("[jedi]'s head begins to collapse in on itself!"), + span_userdanger("Your head feels like it's collapsing in on itself! This was really not a good idea!"), + span_hear("You hear something crack and explode in gore.") ) jedi.Stun(3 SECONDS) new /obj/effect/gibspawner/generic(get_turf(jedi), jedi) @@ -377,8 +377,8 @@ /obj/singularity/proc/combust_mobs() for(var/mob/living/carbon/C in urange(20, src, 1)) - C.visible_message("[C]'s skin bursts into flame!", \ - "You feel an inner fire as your skin bursts into flames!") + C.visible_message(span_warning("[C]'s skin bursts into flame!"), \ + span_userdanger("You feel an inner fire as your skin bursts into flames!")) C.adjust_fire_stacks(5) C.IgniteMob() return @@ -395,12 +395,12 @@ if(istype(H.glasses, /obj/item/clothing/glasses/meson)) var/obj/item/clothing/glasses/meson/MS = H.glasses if(MS.vision_flags == SEE_TURFS) - to_chat(H, "You look directly into the [src.name], good thing you had your protective eyewear on!") + to_chat(H, span_notice("You look directly into the [src.name], good thing you had your protective eyewear on!")) return M.apply_effect(60, EFFECT_STUN) - M.visible_message("[M] stares blankly at the [src.name]!", \ - "You look directly into the [src.name] and feel weak.") + M.visible_message(span_danger("[M] stares blankly at the [src.name]!"), \ + span_userdanger("You look directly into the [src.name] and feel weak.")) return diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index dfda7979383..00ce2a7ed97 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -42,7 +42,7 @@ /obj/machinery/power/smes/examine(user) . = ..() if(!terminal) - . += "This SMES has no power terminal!" + . += span_warning("This SMES has no power terminal!") /obj/machinery/power/smes/Initialize() . = ..() @@ -92,10 +92,10 @@ if(term && term.dir == turn(dir, 180)) terminal = term terminal.master = src - to_chat(user, "Terminal found.") + to_chat(user, span_notice("Terminal found.")) break if(!terminal) - to_chat(user, "No power terminal found.") + to_chat(user, span_alert("No power terminal found.")) return set_machine_stat(machine_stat & ~BROKEN) update_appearance() @@ -108,25 +108,25 @@ return if(terminal) //is there already a terminal ? - to_chat(user, "This SMES already has a power terminal!") + to_chat(user, span_warning("This SMES already has a power terminal!")) return if(!panel_open) //is the panel open ? - to_chat(user, "You must open the maintenance panel first!") + to_chat(user, span_warning("You must open the maintenance panel first!")) return var/turf/T = get_turf(user) if (T.intact) //is the floor plating removed ? - to_chat(user, "You must first remove the floor plating!") + to_chat(user, span_warning("You must first remove the floor plating!")) return var/obj/item/stack/cable_coil/C = I if(C.get_amount() < 10) - to_chat(user, "You need more wires!") + to_chat(user, span_warning("You need more wires!")) return - to_chat(user, "You start building the power terminal...") + to_chat(user, span_notice("You start building the power terminal...")) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(do_after(user, 20, target = src)) @@ -138,8 +138,8 @@ return if(!terminal) C.use(10) - user.visible_message("[user.name] builds a power terminal.",\ - "You build the power terminal.") + user.visible_message(span_notice("[user.name] builds a power terminal."),\ + span_notice("You build the power terminal.")) //build the terminal and link it to the network make_terminal(T) @@ -169,7 +169,7 @@ /obj/machinery/power/smes/default_deconstruction_crowbar(obj/item/crowbar/C) if(istype(C) && terminal) - to_chat(usr, "You must first remove the power terminal!") + to_chat(usr, span_warning("You must first remove the power terminal!")) return FALSE return ..() diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index a69743ad5cf..cc66db2be60 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -72,10 +72,10 @@ /obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I) playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) - user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...") + user.visible_message(span_notice("[user] begins to take the glass off [src]."), span_notice("You begin to take the glass off [src]...")) if(I.use_tool(src, user, 50)) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) - user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].") + user.visible_message(span_notice("[user] takes the glass off [src]."), span_notice("You take the glass off [src].")) deconstruct(TRUE) return TRUE @@ -241,28 +241,28 @@ /obj/item/solar_assembly/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_WRENCH && isturf(loc)) if(isinspace()) - to_chat(user, "You can't secure [src] here.") + to_chat(user, span_warning("You can't secure [src] here.")) return set_anchored(!anchored) - user.visible_message("[user] [anchored ? null : "un"]wrenches the solar assembly into place.", "You [anchored ? null : "un"]wrench the solar assembly into place.") + user.visible_message(span_notice("[user] [anchored ? null : "un"]wrenches the solar assembly into place."), span_notice("You [anchored ? null : "un"]wrench the solar assembly into place.")) W.play_tool_sound(src, 75) return TRUE if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass)) if(!anchored) - to_chat(user, "You need to secure the assembly before you can add glass.") + to_chat(user, span_warning("You need to secure the assembly before you can add glass.")) return var/obj/item/stack/sheet/S = W if(S.use(2)) glass_type = W.type playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) - user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.") + user.visible_message(span_notice("[user] places the glass on the solar assembly."), span_notice("You place the glass on the solar assembly.")) if(tracker) new /obj/machinery/power/tracker(get_turf(src), src) else new /obj/machinery/power/solar(get_turf(src), src) else - to_chat(user, "You need two sheets of glass to put them into a solar panel!") + to_chat(user, span_warning("You need two sheets of glass to put them into a solar panel!")) return return TRUE @@ -272,13 +272,13 @@ return tracker = TRUE qdel(W) - user.visible_message("[user] inserts the electronics into the solar assembly.", "You insert the electronics into the solar assembly.") + user.visible_message(span_notice("[user] inserts the electronics into the solar assembly."), span_notice("You insert the electronics into the solar assembly.")) return TRUE else if(W.tool_behaviour == TOOL_CROWBAR) new /obj/item/electronics/tracker(src.loc) tracker = FALSE - user.visible_message("[user] takes out the electronics from the solar assembly.", "You take out the electronics from the solar assembly.") + user.visible_message(span_notice("[user] takes out the electronics from the solar assembly."), span_notice("You take out the electronics from the solar assembly.")) return TRUE return ..() @@ -408,7 +408,7 @@ if(I.tool_behaviour == TOOL_SCREWDRIVER) if(I.use_tool(src, user, 20, volume=50)) if (src.machine_stat & BROKEN) - to_chat(user, "The broken glass falls out.") + to_chat(user, span_notice("The broken glass falls out.")) var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc ) new /obj/item/shard( src.loc ) var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A ) @@ -420,7 +420,7 @@ A.set_anchored(TRUE) qdel(src) else - to_chat(user, "You disconnect the monitor.") + to_chat(user, span_notice("You disconnect the monitor.")) var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc ) var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A ) for (var/obj/C in src) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index c5020e9dbda..5dff2a4789d 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -265,7 +265,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) . = ..() var/immune = HAS_TRAIT(user, TRAIT_SUPERMATTER_MADNESS_IMMUNE) || (user.mind && HAS_TRAIT(user.mind, TRAIT_SUPERMATTER_MADNESS_IMMUNE)) if(isliving(user) && !immune && (get_dist(user, src) < HALLUCINATION_RANGE(power))) - . += "You get headaches just from looking at it." + . += span_danger("You get headaches just from looking at it.") // SupermatterMonitor UI for ghosts only. Inherited attack_ghost will call this. /obj/machinery/power/supermatter_crystal/ui_interact(mob/user, datum/tgui/ui) @@ -413,9 +413,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) SEND_SOUND(victim, 'sound/magic/charge.ogg') if (victim.z != z) - to_chat(victim, "You hold onto \the [victim.loc] as hard as you can, as reality distorts around you. You feel safe.") + to_chat(victim, span_boldannounce("You hold onto \the [victim.loc] as hard as you can, as reality distorts around you. You feel safe.")) continue - to_chat(victim, "You feel reality distort for a moment...") + to_chat(victim, span_boldannounce("You feel reality distort for a moment...")) SEND_SIGNAL(victim, COMSIG_ADD_MOOD_EVENT, "delam", /datum/mood_event/delam) @@ -461,7 +461,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(isclosedturf(local_turf)) var/turf/did_it_melt = local_turf.Melt() if(!isclosedturf(did_it_melt)) //In case some joker finds way to place these on indestructible walls - visible_message("[src] melts through [local_turf]!") + visible_message(span_warning("[src] melts through [local_turf]!")) return //We vary volume by power, and handle OH FUCK FUSION IN COOLING LOOP noises. @@ -814,12 +814,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/gain = 100 investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO) message_admins("Singularity has consumed a supermatter shard and can now become stage six.") - visible_message("[src] is consumed by the singularity!") + visible_message(span_userdanger("[src] is consumed by the singularity!")) for(var/mob/hearing_mob as anything in GLOB.player_list) if(hearing_mob.z != z) continue SEND_SOUND(hearing_mob, 'sound/effects/supermatter.ogg') //everyone goan know bout this - to_chat(hearing_mob, "A horrible screeching fills your ears, and a wave of dread washes over you...") + to_chat(hearing_mob, span_boldannounce("A horrible screeching fills your ears, and a wave of dread washes over you...")) qdel(src) return gain @@ -829,19 +829,19 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) damage += blob.get_integrity() * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us if(blob.get_integrity() > 100) - blob.visible_message("\The [blob] strikes at \the [src] and flinches away!", - "You hear a loud crack as you are washed with a wave of heat.") + blob.visible_message(span_danger("\The [blob] strikes at \the [src] and flinches away!"), + span_hear("You hear a loud crack as you are washed with a wave of heat.")) blob.take_damage(100, BURN) else - blob.visible_message("\The [blob] strikes at \the [src] and rapidly flashes to ash.", - "You hear a loud crack as you are washed with a wave of heat.") + blob.visible_message(span_danger("\The [blob] strikes at \the [src] and rapidly flashes to ash."), + span_hear("You hear a loud crack as you are washed with a wave of heat.")) Consume(blob) /obj/machinery/power/supermatter_crystal/attack_tk(mob/user) if(!iscarbon(user)) return var/mob/living/carbon/jedi = user - to_chat(jedi, "That was a really dense idea.") + to_chat(jedi, span_userdanger("That was a really dense idea.")) jedi.ghostize() var/obj/item/organ/brain/rip_u = locate(/obj/item/organ/brain) in jedi.internal_organs if(rip_u) @@ -863,8 +863,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) else murder = user.attack_verb_continuous dust_mob(user, \ - "[user] unwisely [murder] [src], and [user.p_their()] body burns brilliantly before flashing into ash!", \ - "You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops.", \ + span_danger("[user] unwisely [murder] [src], and [user.p_their()] body burns brilliantly before flashing into ash!"), \ + span_userdanger("You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops."), \ "simple animal attack") /obj/machinery/power/supermatter_crystal/attack_robot(mob/user) @@ -889,8 +889,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(!user.is_mouth_covered()) if(user.combat_mode) dust_mob(user, - "As [user] tries to take a bite out of [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash.", - "You try to take a bite out of [src], but find [p_them()] far too hard to get anywhere before everything starts burning and your ears fill with ringing!", + span_danger("As [user] tries to take a bite out of [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash."), + span_userdanger("You try to take a bite out of [src], but find [p_them()] far too hard to get anywhere before everything starts burning and your ears fill with ringing!"), "attempted bite" ) return @@ -898,8 +898,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/obj/item/organ/tongue/licking_tongue = user.getorganslot(ORGAN_SLOT_TONGUE) if(licking_tongue) dust_mob(user, - "As [user] hesitantly leans in and licks [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash!", - "You tentatively lick [src], but you can't figure out what it tastes like before everything starts burning and your ears fill with ringing!", + span_danger("As [user] hesitantly leans in and licks [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash!"), + span_userdanger("You tentatively lick [src], but you can't figure out what it tastes like before everything starts burning and your ears fill with ringing!"), "attempted lick" ) return @@ -907,15 +907,15 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/obj/item/bodypart/head/forehead = user.get_bodypart(BODY_ZONE_HEAD) if(forehead) dust_mob(user, - "As [user]'s forehead bumps into [src], inducing a resonance... Everything goes silent before [user.p_their()] [forehead] flashes to ash!", - "You feel your forehead bump into [src] and everything suddenly goes silent. As your head fills with ringing you come to realize that that was not a wise decision.", + span_danger("As [user]'s forehead bumps into [src], inducing a resonance... Everything goes silent before [user.p_their()] [forehead] flashes to ash!"), + span_userdanger("You feel your forehead bump into [src] and everything suddenly goes silent. As your head fills with ringing you come to realize that that was not a wise decision."), "failed lick" ) return dust_mob(user, - "[user] leans in and tries to lick [src], inducing a resonance... [user.p_their()] body starts to glow and burst into flames before flashing into dust!", - "You lean in and try to lick [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"", + span_danger("[user] leans in and tries to lick [src], inducing a resonance... [user.p_their()] body starts to glow and burst into flames before flashing into dust!"), + span_userdanger("You lean in and try to lick [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\""), "failed lick" ) @@ -924,12 +924,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(nom.incorporeal_move || nom.status_flags & GODMODE) //try to keep supermatter sliver's + hemostat's dust conditions in sync with this too return if(!vis_msg) - vis_msg = "[nom] reaches out and touches [src], inducing a resonance... [nom.p_their()] body starts to glow and burst into flames before flashing into dust!" + vis_msg = span_danger("[nom] reaches out and touches [src], inducing a resonance... [nom.p_their()] body starts to glow and burst into flames before flashing into dust!") if(!mob_msg) - mob_msg = "You reach out and touch [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"" + mob_msg = span_userdanger("You reach out and touch [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"") if(!cause) cause = "contact" - nom.visible_message(vis_msg, mob_msg, "You hear an unearthly noise as a wave of heat washes over you.") + nom.visible_message(vis_msg, mob_msg, span_hear("You hear an unearthly noise as a wave of heat washes over you.")) investigate_log("has been attacked ([cause]) by [key_name(nom)]", INVESTIGATE_SUPERMATTER) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) Consume(nom) @@ -948,42 +948,42 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) which_hand = BODY_ZONE_R_ARM var/obj/item/bodypart/dust_arm = user.get_bodypart(which_hand) dust_arm.dismember() - user.visible_message("The [item] flashes out of existence on contact with \the [src], resonating with a horrible sound...",\ - "Oops! The [item] flashes out of existence on contact with \the [src], taking your arm with it! That was clumsy of you!") + user.visible_message(span_danger("The [item] flashes out of existence on contact with \the [src], resonating with a horrible sound..."),\ + span_danger("Oops! The [item] flashes out of existence on contact with \the [src], taking your arm with it! That was clumsy of you!")) playsound(src, 'sound/effects/supermatter.ogg', 150, TRUE) Consume(dust_arm) qdel(item) return if(cig.lit || user.combat_mode) - user.visible_message("A hideous sound echoes as [item] is ashed out on contact with \the [src]. That didn't seem like a good idea...") + user.visible_message(span_danger("A hideous sound echoes as [item] is ashed out on contact with \the [src]. That didn't seem like a good idea...")) playsound(src, 'sound/effects/supermatter.ogg', 150, TRUE) Consume(item) radiation_pulse(src, 150, 4) return ..() else cig.light() - user.visible_message("As [user] lights \their [item] on \the [src], silence fills the room...",\ - "Time seems to slow to a crawl as you touch \the [src] with \the [item].\n\The [item] flashes alight with an eerie energy as you nonchalantly lift your hand away from \the [src]. Damn.") + user.visible_message(span_danger("As [user] lights \their [item] on \the [src], silence fills the room..."),\ + span_danger("Time seems to slow to a crawl as you touch \the [src] with \the [item].\n\The [item] flashes alight with an eerie energy as you nonchalantly lift your hand away from \the [src]. Damn.")) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) radiation_pulse(src, 50, 3) return if(istype(item, /obj/item/scalpel/supermatter)) var/obj/item/scalpel/supermatter/scalpel = item - to_chat(user, "You carefully begin to scrape \the [src] with \the [item]...") + to_chat(user, span_notice("You carefully begin to scrape \the [src] with \the [item]...")) if(item.use_tool(src, user, 60, volume=100)) if (scalpel.usesLeft) - to_chat(user, "You extract a sliver from \the [src]. \The [src] begins to react violently!") + to_chat(user, span_danger("You extract a sliver from \the [src]. \The [src] begins to react violently!")) new /obj/item/nuke_core/supermatter_sliver(drop_location()) matter_power += 800 scalpel.usesLeft-- if (!scalpel.usesLeft) - to_chat(user, "A tiny piece of \the [item] falls off, rendering it useless!") + to_chat(user, span_notice("A tiny piece of \the [item] falls off, rendering it useless!")) else - to_chat(user, "You fail to extract a sliver from \The [src]! \the [item] isn't sharp enough anymore.") + to_chat(user, span_warning("You fail to extract a sliver from \The [src]! \the [item] isn't sharp enough anymore.")) else if(user.dropItemToGround(item)) - user.visible_message("As [user] touches \the [src] with \a [item], silence fills the room...",\ - "You touch \the [src] with \the [item], and everything suddenly goes silent.\n\The [item] flashes into dust as you flinch away from \the [src].",\ - "Everything suddenly goes silent.") + user.visible_message(span_danger("As [user] touches \the [src] with \a [item], silence fills the room..."),\ + span_userdanger("You touch \the [src] with \the [item], and everything suddenly goes silent.\n\The [item] flashes into dust as you flinch away from \the [src]."),\ + span_hear("Everything suddenly goes silent.")) investigate_log("has been attacked ([item]) by [key_name(user)]", INVESTIGATE_SUPERMATTER) Consume(item) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) @@ -991,8 +991,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) radiation_pulse(src, 150, 4) else if(Adjacent(user)) //if the item is stuck to the person, kill the person too instead of eating just the item. - var/vis_msg = "[user] reaches out and touches [src] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_they(TRUE)] bursts into flames before flashing into dust!" - var/mob_msg = "You reach out and touch [src] with [item]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"" + var/vis_msg = span_danger("[user] reaches out and touches [src] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_they(TRUE)] bursts into flames before flashing into dust!") + var/mob_msg = span_userdanger("You reach out and touch [src] with [item]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"") dust_mob(user, vis_msg, mob_msg) /obj/machinery/power/supermatter_crystal/wrench_act(mob/user, obj/item/tool) @@ -1003,12 +1003,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) /obj/machinery/power/supermatter_crystal/Bumped(atom/movable/hit_object) if(isliving(hit_object)) - hit_object.visible_message("\The [hit_object] slams into \the [src] inducing a resonance... [hit_object.p_their()] body starts to glow and burst into flames before flashing into dust!", - "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"", - "You hear an unearthly noise as a wave of heat washes over you.") + hit_object.visible_message(span_danger("\The [hit_object] slams into \the [src] inducing a resonance... [hit_object.p_their()] body starts to glow and burst into flames before flashing into dust!"), + span_userdanger("You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\""), + span_hear("You hear an unearthly noise as a wave of heat washes over you.")) else if(isobj(hit_object) && !iseffect(hit_object)) - hit_object.visible_message("\The [hit_object] smacks into \the [src] and rapidly flashes to ash.", null, - "You hear a loud crack as you are washed with a wave of heat.") + hit_object.visible_message(span_danger("\The [hit_object] smacks into \the [src] and rapidly flashes to ash."), null, + span_hear("You hear a loud crack as you are washed with a wave of heat.")) else return @@ -1048,10 +1048,10 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) for(var/mob/living/near_mob in range(10)) investigate_log("has irradiated [key_name(near_mob)] after consuming [consumed_object].", INVESTIGATE_SUPERMATTER) if(near_mob in view()) - near_mob.show_message("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns.", MSG_VISUAL, - "The unearthly ringing subsides and you notice you have new radiation burns.", MSG_AUDIBLE) + near_mob.show_message(span_danger("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns."), MSG_VISUAL, + span_danger("The unearthly ringing subsides and you notice you have new radiation burns."), MSG_AUDIBLE) else - near_mob.show_message("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns.", MSG_AUDIBLE) + near_mob.show_message(span_hear("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns."), MSG_AUDIBLE) //Do not blow up our internal radio /obj/machinery/power/supermatter_crystal/contents_explosion(severity, target) return diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm index 0077193b250..a93ec6728bb 100644 --- a/code/modules/power/terminal.dm +++ b/code/modules/power/terminal.dm @@ -43,14 +43,14 @@ if(isturf(loc)) var/turf/T = loc if(T.intact) - to_chat(user, "You must first expose the power terminal!") + to_chat(user, span_warning("You must first expose the power terminal!")) return if(master && !master.can_terminal_dismantle()) return - user.visible_message("[user.name] dismantles the power terminal from [master].", - "You begin to cut the cables...") + user.visible_message(span_notice("[user.name] dismantles the power terminal from [master]."), + span_notice("You begin to cut the cables...")) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(I.use_tool(src, user, 50)) @@ -62,7 +62,7 @@ return new /obj/item/stack/cable_coil(drop_location(), 10) - to_chat(user, "You cut the cables and dismantle the power terminal.") + to_chat(user, span_notice("You cut the cables and dismantle the power terminal.")) qdel(src) /obj/machinery/power/terminal/wirecutter_act(mob/living/user, obj/item/I) diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index a6309ee762c..0a3f89fc011 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -36,7 +36,7 @@ /obj/machinery/power/tesla_coil/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Power generation at [input_power_multiplier*100]%.
    Shock interval at [zap_cooldown*0.1] seconds.
    " + . += span_notice("The status display reads: Power generation at [input_power_multiplier*100]%.
    Shock interval at [zap_cooldown*0.1] seconds.") /obj/machinery/power/tesla_coil/on_construction() if(anchored) diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 071ab29b69a..7261c44b369 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -163,7 +163,7 @@ if(!iscarbon(user)) return var/mob/living/carbon/jedi = user - to_chat(jedi, "That was a shockingly dumb idea.") + to_chat(jedi, span_userdanger("That was a shockingly dumb idea.")) var/obj/item/organ/brain/rip_u = locate(/obj/item/organ/brain) in jedi.internal_organs jedi.ghostize(jedi) if(rip_u) diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index 6e636cd53d8..46f12cdf3db 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -57,10 +57,10 @@ /obj/machinery/power/tracker/crowbar_act(mob/user, obj/item/I) playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) - user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...") + user.visible_message(span_notice("[user] begins to take the glass off [src]."), span_notice("You begin to take the glass off [src]...")) if(I.use_tool(src, user, 50)) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) - user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].") + user.visible_message(span_notice("[user] takes the glass off [src]."), span_notice("You take the glass off [src].")) deconstruct(TRUE) return TRUE diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index d099b5ea0e6..8bcda068fbc 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -97,7 +97,7 @@ /obj/machinery/power/compressor/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Efficiency at [efficiency*100]%." + . += span_notice("The status display reads: Efficiency at [efficiency*100]%.") /obj/machinery/power/compressor/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I)) @@ -108,10 +108,10 @@ inturf = get_step(src, dir) locate_machinery() if(turbine) - to_chat(user, "Turbine connected.") + to_chat(user, span_notice("Turbine connected.")) set_machine_stat(machine_stat & ~BROKEN) else - to_chat(user, "Turbine not connected.") + to_chat(user, span_alert("Turbine not connected.")) obj_break() return @@ -183,7 +183,7 @@ /obj/machinery/power/turbine/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Productivity at [productivity*100]%." + . += span_notice("The status display reads: Productivity at [productivity*100]%.") /obj/machinery/power/turbine/locate_machinery() if(compressor) @@ -238,10 +238,10 @@ outturf = get_step(src, dir) locate_machinery() if(compressor) - to_chat(user, "Compressor connected.") + to_chat(user, span_notice("Compressor connected.")) set_machine_stat(machine_stat & ~BROKEN) else - to_chat(user, "Compressor not connected.") + to_chat(user, span_alert("Compressor not connected.")) obj_break() return diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index cdcaf34dc7c..79bb0252798 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -70,9 +70,9 @@ var/list/readout = list("") // No dividing by 0 if(loaded_projectile.damage > 0) - readout += "Most monkeys our legal team subjected to these rounds succumbed to their wounds after [round(100 / (loaded_projectile.damage * pellets), 0.1)] discharge\s at point-blank, taking [pellets] shot\s per round" + readout += "Most monkeys our legal team subjected to these rounds succumbed to their wounds after [span_warning("[round(100 / (loaded_projectile.damage * pellets), 0.1)]")] discharge\s at point-blank, taking [span_warning("[pellets]")] shot\s per round" if(loaded_projectile.stamina > 0) - readout += "[loaded_projectile.damage == 0 ? "Most Monkeys" : "More Fortunate Monkeys" ] collapsed from exhaustion after [round(100 / ((loaded_projectile.damage + loaded_projectile.stamina) * pellets), 0.1)] of these rounds" + readout += "[loaded_projectile.damage == 0 ? "Most Monkeys" : "More Fortunate Monkeys" ] collapsed from exhaustion after [span_warning("[round(100 / ((loaded_projectile.damage + loaded_projectile.stamina) * pellets), 0.1)]")] of these rounds" if(loaded_projectile.damage == 0 && loaded_projectile.stamina == 0) return "Our legal team has determined the offensive nature of these rounds to be esoteric" return readout.Join("\n") // Sending over a single string, rather than the whole list @@ -120,9 +120,9 @@ continue if (boolets > 0) box.update_appearance() - to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.") + to_chat(user, span_notice("You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.")) else - to_chat(user, "You fail to collect anything!") + to_chat(user, span_warning("You fail to collect anything!")) else return ..() diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index b9f3ffb574a..32e19e49c9a 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -29,7 +29,7 @@ modified = TRUE FD.modified = TRUE FD.damage_type = BRUTE - to_chat(user, "You pop the safety cap off [src].") + to_chat(user, span_notice("You pop the safety cap off [src].")) update_appearance() else if (istype(A, /obj/item/pen)) if(modified) @@ -40,11 +40,11 @@ FD.pen = A FD.damage = 5 FD.nodamage = FALSE - to_chat(user, "You insert [A] into [src].") + to_chat(user, span_notice("You insert [A] into [src].")) else - to_chat(user, "There's already something in [src].") + to_chat(user, span_warning("There's already something in [src].")) else - to_chat(user, "The safety cap prevents you from inserting [A] into [src].") + to_chat(user, span_warning("The safety cap prevents you from inserting [A] into [src].")) else return ..() @@ -54,7 +54,7 @@ FD.damage = initial(FD.damage) FD.nodamage = initial(FD.nodamage) user.put_in_hands(FD.pen) - to_chat(user, "You remove [FD.pen] from [src].") + to_chat(user, span_notice("You remove [FD.pen] from [src].")) FD.pen = null /obj/item/ammo_casing/caseless/foam_dart/riot diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index d631fdb500c..c41972d7b3e 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -123,7 +123,7 @@ if(num_loaded) if(!silent) - to_chat(user, "You load [num_loaded] shell\s into \the [src]!") + to_chat(user, span_notice("You load [num_loaded] shell\s into \the [src]!")) playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) update_ammo_count() @@ -138,7 +138,7 @@ 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]!") + to_chat(user, span_notice("You remove a round from [src]!")) update_ammo_count() /// Updates the materials and appearance of this ammo box diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index e2001a43e6a..e3bc5e5b24d 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -126,21 +126,21 @@ . = ..() if(pin) . += "It has \a [pin] installed." - . += "[pin] looks like it could be removed with some tools." + . += span_info("[pin] looks like it could be removed with some tools.") else . += "It doesn't have a firing pin installed, and won't fire." if(gun_light) . += "It has \a [gun_light] [can_flashlight ? "" : "permanently "]mounted on it." if(can_flashlight) //if it has a light and this is false, the light is permanent. - . += "[gun_light] looks like it can be unscrewed from [src]." + . += span_info("[gun_light] looks like it can be unscrewed from [src].") else if(can_flashlight) . += "It has a mounting point for a seclite." if(bayonet) . += "It has \a [bayonet] [can_bayonet ? "" : "permanently "]affixed to it." if(can_bayonet) //if it has a bayonet and this is false, the bayonet is permanent. - . += "[bayonet] looks like it can be unscrewed from [src]." + . += span_info("[bayonet] looks like it can be unscrewed from [src].") if(can_bayonet) . += "It has a bayonet lug on it." @@ -159,7 +159,7 @@ return TRUE /obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj) - to_chat(user, "*click*") + to_chat(user, span_danger("*click*")) playsound(src, dry_fire_sound, 30, TRUE) @@ -173,18 +173,18 @@ playsound(user, fire_sound, fire_sound_volume, vary_fire_sound) if(message) if(pointblank) - user.visible_message("[user] fires [src] point blank at [pbtarget]!", \ - "You fire [src] point blank at [pbtarget]!", \ - "You hear a gunshot!", COMBAT_MESSAGE_RANGE, pbtarget) - to_chat(pbtarget, "[user] fires [src] point blank at you!") + user.visible_message(span_danger("[user] fires [src] point blank at [pbtarget]!"), \ + span_danger("You fire [src] point blank at [pbtarget]!"), \ + span_hear("You hear a gunshot!"), COMBAT_MESSAGE_RANGE, pbtarget) + to_chat(pbtarget, span_userdanger("[user] fires [src] point blank at you!")) if(pb_knockback > 0 && ismob(pbtarget)) var/mob/PBT = pbtarget var/atom/throw_target = get_edge_target_turf(PBT, user.dir) PBT.throw_at(throw_target, pb_knockback, 2) else - user.visible_message("[user] fires [src]!", \ - "You fire [src]!", \ - "You hear a gunshot!", COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] fires [src]!"), \ + span_danger("You fire [src]!"), \ + span_hear("You hear a gunshot!"), COMBAT_MESSAGE_RANGE) /obj/item/gun/emp_act(severity) . = ..() @@ -194,10 +194,10 @@ /obj/item/gun/attack_secondary(mob/living/victim, mob/living/user, params) if (user.GetComponent(/datum/component/gunpoint)) - to_chat(user, "You are already holding someone up!") + to_chat(user, span_warning("You are already holding someone up!")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN if (user == victim) - to_chat(user,"You can't hold yourself up!") + to_chat(user,span_warning("You can't hold yourself up!")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN user.AddComponent(/datum/component/gunpoint, victim, src) @@ -242,7 +242,7 @@ var/obj/item/bodypart/other_hand = user.has_hand_for_held_index(user.get_inactive_hand_index()) //returns non-disabled inactive hands if(weapon_weight == WEAPON_HEAVY && (user.get_inactive_held_item() || !other_hand)) - to_chat(user, "You need two hands to fire [src]!") + to_chat(user, span_warning("You need two hands to fire [src]!")) return //DUAL (or more!) WIELDING var/bonus_spread = 0 @@ -263,7 +263,7 @@ if(clumsy_check) if(istype(user)) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) - to_chat(user, "You shoot yourself in the foot with [src]!") + to_chat(user, span_userdanger("You shoot yourself in the foot with [src]!")) var/shot_leg = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) process_fire(user, user, FALSE, params, shot_leg) SEND_SIGNAL(user, COMSIG_MOB_CLUMSY_SHOOT_FOOT) @@ -283,7 +283,7 @@ pin.auth_fail(user) return FALSE else - to_chat(user, "[src]'s trigger is locked. This weapon doesn't have a firing pin installed!") + to_chat(user, span_warning("[src]'s trigger is locked. This weapon doesn't have a firing pin installed!")) return FALSE /obj/item/gun/proc/recharge_newshot() @@ -300,7 +300,7 @@ if(chambered?.loaded_projectile) if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal. if(chambered.harmful) // Is the bullet chambered harmful? - to_chat(user, "[src] is lethally chambered! You don't want to risk harming anyone...") + to_chat(user, span_warning("[src] is lethally chambered! You don't want to risk harming anyone...")) return if(randomspread) sprd = round((rand(0, 1) - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread)) @@ -358,7 +358,7 @@ if(chambered) if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal. if(chambered.harmful) // Is the bullet chambered harmful? - to_chat(user, "[src] is lethally chambered! You don't want to risk harming anyone...") + to_chat(user, span_warning("[src] is lethally chambered! You don't want to risk harming anyone...")) return sprd = round((rand(0, 1) - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread)) before_firing(target,user) @@ -413,7 +413,7 @@ if(!gun_light) if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You click [S] into place on [src].") + to_chat(user, span_notice("You click [S] into place on [src].")) set_gun_light(S) update_gunlight() alight = new(src) @@ -425,7 +425,7 @@ return ..() if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You attach [K] to [src]'s bayonet lug.") + to_chat(user, span_notice("You attach [K] to [src]'s bayonet lug.")) bayonet = K update_appearance() @@ -452,13 +452,13 @@ return remove_gun_attachment(user, I, bayonet, "unfix") else if(pin && user.is_holding(src)) - user.visible_message("[user] attempts to remove [pin] from [src] with [I].", - "You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)", null, 3) + user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."), + span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3) if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, volume = 50)) if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay return - user.visible_message("[pin] is pried out of [src] by [user], destroying the pin in the process.", - "You pry [pin] out with [I], destroying the pin in the process.", null, 3) + user.visible_message(span_notice("[pin] is pried out of [src] by [user], destroying the pin in the process."), + span_warning("You pry [pin] out with [I], destroying the pin in the process."), null, 3) QDEL_NULL(pin) return TRUE @@ -469,13 +469,13 @@ if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(pin && user.is_holding(src)) - user.visible_message("[user] attempts to remove [pin] from [src] with [I].", - "You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)", null, 3) + user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."), + span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3) if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, 5, volume = 50)) if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay return - user.visible_message("[pin] is spliced out of [src] by [user], melting part of the pin in the process.", - "You splice [pin] out of [src] with [I], melting part of the pin in the process.", null, 3) + user.visible_message(span_notice("[pin] is spliced out of [src] by [user], melting part of the pin in the process."), + span_warning("You splice [pin] out of [src] with [I], melting part of the pin in the process."), null, 3) QDEL_NULL(pin) return TRUE @@ -486,20 +486,20 @@ if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(pin && user.is_holding(src)) - user.visible_message("[user] attempts to remove [pin] from [src] with [I].", - "You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)", null, 3) + user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."), + span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3) if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, volume = 50)) if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay return - user.visible_message("[pin] is ripped out of [src] by [user], mangling the pin in the process.", - "You rip [pin] out of [src] with [I], mangling the pin in the process.", null, 3) + user.visible_message(span_notice("[pin] is ripped out of [src] by [user], mangling the pin in the process."), + span_warning("You rip [pin] out of [src] with [I], mangling the pin in the process."), null, 3) QDEL_NULL(pin) return TRUE /obj/item/gun/proc/remove_gun_attachment(mob/living/user, obj/item/tool_item, obj/item/item_to_remove, removal_verb) if(tool_item) tool_item.play_tool_sound(src) - to_chat(user, "You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src].") + to_chat(user, span_notice("You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src].")) item_to_remove.forceMove(drop_location()) if(Adjacent(user) && !issilicon(user)) @@ -569,7 +569,7 @@ var/mob/living/carbon/human/user = usr gun_light.on = !gun_light.on gun_light.update_brightness() - to_chat(user, "You toggle the gunlight [gun_light.on ? "on":"off"].") + to_chat(user, span_notice("You toggle the gunlight [gun_light.on ? "on":"off"].")) playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) update_gunlight() @@ -623,26 +623,26 @@ return if(user == target) - target.visible_message("[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...", \ - "You stick [src] in your mouth, ready to pull the trigger...") + target.visible_message(span_warning("[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger..."), \ + span_userdanger("You stick [src] in your mouth, ready to pull the trigger...")) else - target.visible_message("[user] points [src] at [target]'s head, ready to pull the trigger...", \ - "[user] points [src] at your head, ready to pull the trigger...") + target.visible_message(span_warning("[user] points [src] at [target]'s head, ready to pull the trigger..."), \ + span_userdanger("[user] points [src] at your head, ready to pull the trigger...")) semicd = TRUE if(!bypass_timer && (!do_mob(user, target, 120) || user.zone_selected != BODY_ZONE_PRECISE_MOUTH)) if(user) if(user == target) - user.visible_message("[user] decided not to shoot.") + user.visible_message(span_notice("[user] decided not to shoot.")) else if(target?.Adjacent(user)) - target.visible_message("[user] has decided to spare [target]", "[user] has decided to spare your life!") + target.visible_message(span_notice("[user] has decided to spare [target]"), span_notice("[user] has decided to spare your life!")) semicd = FALSE return semicd = FALSE - target.visible_message("[user] pulls the trigger!", "[(user == target) ? "You pull" : "[user] pulls"] the trigger!") + target.visible_message(span_warning("[user] pulls the trigger!"), span_userdanger("[(user == target) ? "You pull" : "[user] pulls"] the trigger!")) if(chambered?.loaded_projectile) chambered.loaded_projectile.damage *= 5 diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index b14bd0810fc..f55948c50e8 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -142,7 +142,7 @@ */ /obj/item/gun/ballistic/proc/add_notes_ballistic() if(magazine) // Make sure you have a magazine, thats where the warning is! - return "\nBe especially careful around this device, as it can be loaded with [magazine.caliber] rounds, which you can inspect for more information." + return "\nBe especially careful around this device, as it can be loaded with [span_warning("[magazine.caliber]")] rounds, which you can inspect for more information." else return "\nThe warning attached to the magazine is missing..." @@ -242,11 +242,11 @@ if (bolt_type == BOLT_TYPE_OPEN) if(!bolt_locked) //If it's an open bolt, racking again would do nothing if (user) - to_chat(user, "\The [src]'s [bolt_wording] is already cocked!") + to_chat(user, span_notice("\The [src]'s [bolt_wording] is already cocked!")) return bolt_locked = FALSE if (user) - to_chat(user, "You rack the [bolt_wording] of \the [src].") + to_chat(user, span_notice("You rack the [bolt_wording] of \the [src].")) process_chamber(!chambered, FALSE) if (bolt_type == BOLT_TYPE_LOCKING && !chambered) bolt_locked = TRUE @@ -259,7 +259,7 @@ /obj/item/gun/ballistic/proc/drop_bolt(mob/user = null) playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE) if (user) - to_chat(user, "You drop the [bolt_wording] of \the [src].") + to_chat(user, span_notice("You drop the [bolt_wording] of \the [src].")) chamber_round() bolt_locked = FALSE update_appearance() @@ -267,19 +267,19 @@ ///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) if(!istype(AM, mag_type)) - to_chat(user, "\The [AM] doesn't seem to fit into \the [src]...") + to_chat(user, span_warning("\The [AM] doesn't seem to fit into \the [src]...")) return FALSE if(user.transferItemToLoc(AM, src)) magazine = AM if (display_message) - to_chat(user, "You load a new [magazine_wording] into \the [src].") + to_chat(user, span_notice("You load a new [magazine_wording] into \the [src].")) playsound(src, load_empty_sound, load_sound_volume, load_sound_vary) if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked) chamber_round(TRUE) update_appearance() return TRUE else - to_chat(user, "You cannot seem to get \the [src] out of your hands!") + to_chat(user, span_warning("You cannot seem to get \the [src] out of your hands!")) return FALSE ///Handles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject @@ -294,16 +294,16 @@ var/obj/item/ammo_box/magazine/old_mag = magazine if (tac_load) if (insert_magazine(user, tac_load, FALSE)) - to_chat(user, "You perform a tactical reload on \the [src].") + to_chat(user, span_notice("You perform a tactical reload on \the [src].")) else - to_chat(user, "You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing.") + to_chat(user, span_warning("You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing.")) magazine = null else magazine = null user.put_in_hands(old_mag) old_mag.update_appearance() if (display_message) - to_chat(user, "You pull the [magazine_wording] out of \the [src].") + to_chat(user, span_notice("You pull the [magazine_wording] out of \the [src].")) update_appearance() /obj/item/gun/ballistic/can_shoot() @@ -321,7 +321,7 @@ if (tac_reloads) eject_magazine(user, FALSE, AM) else - to_chat(user, "There's already a [magazine_wording] in \the [src].") + to_chat(user, span_notice("There's already a [magazine_wording] in \the [src].")) return if (istype(A, /obj/item/ammo_casing) || istype(A, /obj/item/ammo_box)) if (bolt_type == BOLT_TYPE_NO_BOLT || internal_magazine) @@ -330,7 +330,7 @@ chambered = null var/num_loaded = magazine?.attackby(A, user, params, TRUE) if (num_loaded) - to_chat(user, "You load [num_loaded] [cartridge_wording]\s into \the [src].") + to_chat(user, span_notice("You load [num_loaded] [cartridge_wording]\s into \the [src].")) playsound(src, load_sound, load_sound_volume, load_sound_vary) if (chambered == null && bolt_type == BOLT_TYPE_NO_BOLT) chamber_round() @@ -340,16 +340,16 @@ if(istype(A, /obj/item/suppressor)) var/obj/item/suppressor/S = A if(!can_suppress) - to_chat(user, "You can't seem to figure out how to fit [S] on [src]!") + to_chat(user, span_warning("You can't seem to figure out how to fit [S] on [src]!")) return if(!user.is_holding(src)) - to_chat(user, "You need be holding [src] to fit [S] to it!") + to_chat(user, span_warning("You need be holding [src] to fit [S] to it!")) return if(suppressed) - to_chat(user, "[src] already has a suppressor!") + to_chat(user, span_warning("[src] already has a suppressor!")) return if(user.transferItemToLoc(A, src)) - to_chat(user, "You screw \the [S] onto \the [src].") + to_chat(user, span_notice("You screw \the [S] onto \the [src].")) install_suppressor(A) return if (can_be_sawn_off) @@ -367,7 +367,7 @@ if(magazine && chambered.loaded_projectile && can_misfire && misfire_probability > 0) if(prob(misfire_probability)) if(blow_up(user)) - to_chat(user, "[src] misfires!") + to_chat(user, span_userdanger("[src] misfires!")) if (sawn_off) bonus_spread += SAWN_OFF_ACC_PENALTY @@ -403,7 +403,7 @@ var/obj/item/suppressor/S = suppressed if(!user.is_holding(src)) return ..() - to_chat(user, "You unscrew \the [S] from \the [src].") + to_chat(user, span_notice("You unscrew \the [S] from \the [src].")) user.put_in_hands(S) clear_suppressor() @@ -441,13 +441,13 @@ if(HAS_TRAIT(user, TRAIT_GUNFLIP)) if(flip_cooldown <= world.time) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) - to_chat(user, "While trying to flip the [src] you pull the trigger and accidently shoot yourself!") + to_chat(user, span_userdanger("While trying to flip the [src] you pull the trigger and accidently shoot yourself!")) var/flip_mistake = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST) process_fire(user, user, FALSE, flip_mistake) user.dropItemToGround(src, TRUE) return flip_cooldown = (world.time + 30) - user.visible_message("[user] spins the [src] around their finger by the trigger. That’s pretty badass.") + user.visible_message(span_notice("[user] spins the [src] around their finger by the trigger. That’s pretty badass.")) playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE) if(!internal_magazine && magazine) if(!magazine.ammo_count()) @@ -464,11 +464,11 @@ if(T && is_station_level(T.z)) SSblackbox.record_feedback("tally", "station_mess_created", 1, CB.name) if (num_unloaded) - to_chat(user, "You unload [num_unloaded] [cartridge_wording]\s from [src].") + to_chat(user, span_notice("You unload [num_unloaded] [cartridge_wording]\s from [src].")) playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) update_appearance() else - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return if(bolt_type == BOLT_TYPE_LOCKING && bolt_locked) drop_bolt(user) @@ -492,9 +492,9 @@ if (suppressed) . += "It has a suppressor attached that can be removed with alt+click." if(can_misfire) - . += "You get the feeling this might explode if you fire it...." + . += span_danger("You get the feeling this might explode if you fire it....") if(misfire_probability > 0) - . += "Given the state of the gun, there is a [misfire_probability]% chance it'll misfire." + . += span_danger("Given the state of the gun, there is a [misfire_probability]% chance it'll misfire.") ///Gets the number of bullets in the gun /obj/item/gun/ballistic/proc/get_ammo(countchambered = TRUE) @@ -521,12 +521,12 @@ /obj/item/gun/ballistic/suicide_act(mob/user) var/obj/item/organ/brain/B = user.getorganslot(ORGAN_SLOT_BRAIN) if (B && chambered && chambered.loaded_projectile && can_trigger_gun(user) && !chambered.loaded_projectile.nodamage) - user.visible_message("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!")) sleep(25) if(user.is_holding(src)) var/turf/T = get_turf(user) process_fire(user, user, FALSE, null, BODY_ZONE_HEAD) - user.visible_message("[user] blows [user.p_their()] brain[user.p_s()] out with [src]!") + user.visible_message(span_suicide("[user] blows [user.p_their()] brain[user.p_s()] out with [src]!")) var/turf/target = get_ranged_target_turf(user, turn(user.dir, 180), BRAINS_BLOWN_THROW_RANGE) B.Remove(user) B.forceMove(T) @@ -534,10 +534,10 @@ B.throw_at(target, BRAINS_BLOWN_THROW_RANGE, BRAINS_BLOWN_THROW_SPEED, callback=gibspawner) return(BRUTELOSS) else - user.visible_message("[user] panics and starts choking to death!") + user.visible_message(span_suicide("[user] panics and starts choking to death!")) return(OXYLOSS) else - user.visible_message("[user] is pretending to blow [user.p_their()] brain[user.p_s()] out with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is pretending to blow [user.p_their()] brain[user.p_s()] out with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, dry_fire_sound, 30, TRUE) return (OXYLOSS) #undef BRAINS_BLOWN_THROW_SPEED @@ -554,23 +554,23 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( if(!saw.get_sharpness() || (!is_type_in_typecache(saw, GLOB.gun_saw_types) && saw.tool_behaviour != TOOL_SAW)) //needs to be sharp. Otherwise turned off eswords can cut this. return if(sawn_off) - to_chat(user, "\The [src] is already shortened!") + to_chat(user, span_warning("\The [src] is already shortened!")) return if(bayonet) - to_chat(user, "You cannot saw-off \the [src] with \the [bayonet] attached!") + to_chat(user, span_warning("You cannot saw-off \the [src] with \the [bayonet] attached!")) return user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] begins to shorten \the [src].", "You begin to shorten \the [src]...") + user.visible_message(span_notice("[user] begins to shorten \the [src]."), span_notice("You begin to shorten \the [src]...")) //if there's any live ammo inside the gun, makes it go off if(blow_up(user)) - user.visible_message("\The [src] goes off!", "\The [src] goes off in your face!") + user.visible_message(span_danger("\The [src] goes off!"), span_danger("\The [src] goes off in your face!")) return if(do_after(user, 30, target = src)) if(sawn_off) return - user.visible_message("[user] shortens \the [src]!", "You shorten \the [src].") + user.visible_message(span_notice("[user] shortens \the [src]!"), span_notice("You shorten \the [src].")) name = "sawn-off [src.name]" desc = sawn_desc w_class = WEIGHT_CLASS_NORMAL @@ -590,22 +590,22 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( /obj/item/gun/ballistic/proc/guncleaning(mob/user, /obj/item/A) if(misfire_probability == 0) - to_chat(user, "\The [src] seems to be already clean of fouling.") + to_chat(user, span_notice("\The [src] seems to be already clean of fouling.")) return user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] begins to cleaning \the [src].", "You begin to clean the internals of \the [src].") + user.visible_message(span_notice("[user] begins to cleaning \the [src]."), span_notice("You begin to clean the internals of \the [src].")) if(do_after(user, 100, target = src)) var/original_misfire_value = initial(misfire_probability) if(misfire_probability > original_misfire_value) misfire_probability = original_misfire_value - user.visible_message("[user] cleans \the [src] of any fouling.", "You clean \the [src], removing any fouling, preventing misfire.") + user.visible_message(span_notice("[user] cleans \the [src] of any fouling."), span_notice("You clean \the [src], removing any fouling, preventing misfire.")) return TRUE /obj/item/gun/ballistic/wrench_act(mob/living/user, obj/item/I) if(!user.is_holding(src)) - to_chat(user, "You need to hold [src] to modify it.") + to_chat(user, span_notice("You need to hold [src] to modify it.")) return TRUE if(!can_modify_ammo) @@ -613,20 +613,20 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( if(bolt_type == BOLT_TYPE_STANDARD) if(get_ammo()) - to_chat(user, "You can't get at the internals while the gun has a bullet in it!") + to_chat(user, span_notice("You can't get at the internals while the gun has a bullet in it!")) return else if(!bolt_locked) - to_chat(user, "You can't get at the internals while the bolt is down!") + to_chat(user, span_notice("You can't get at the internals while the bolt is down!")) return - to_chat(user, "You begin to tinker with [src]...") + to_chat(user, span_notice("You begin to tinker with [src]...")) I.play_tool_sound(src) if(!I.use_tool(src, user, 3 SECONDS)) return TRUE if(blow_up(user)) - user.visible_message("\The [src] goes off!", "\The [src] goes off in your face!") + user.visible_message(span_danger("\The [src] goes off!"), span_danger("\The [src] goes off in your face!")) return if(magazine.caliber == initial_caliber) @@ -634,13 +634,13 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( if(alternative_ammo_misfires) can_misfire = TRUE fire_sound = alternative_fire_sound - to_chat(user, "You modify [src]. Now it will fire [alternative_caliber] rounds.") + to_chat(user, span_notice("You modify [src]. Now it will fire [alternative_caliber] rounds.")) else magazine.caliber = initial_caliber if(alternative_ammo_misfires) can_misfire = FALSE fire_sound = initial_fire_sound - to_chat(user, "You reset [src]. Now it will fire [initial_caliber] rounds.") + to_chat(user, span_notice("You reset [src]. Now it will fire [initial_caliber] rounds.")) ///used for sawing guns, causes the gun to fire without the input of the user diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index a2584ef2c10..2f3f3aa36e1 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -36,11 +36,11 @@ if(!select) burst_size = 1 fire_delay = 0 - to_chat(user, "You switch to semi-automatic.") + to_chat(user, span_notice("You switch to semi-automatic.")) else burst_size = initial(burst_size) fire_delay = initial(fire_delay) - to_chat(user, "You switch to [burst_size]-round burst.") + to_chat(user, span_notice("You switch to [burst_size]-round burst.")) playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) update_appearance() @@ -203,12 +203,12 @@ select = 1 burst_size = initial(burst_size) fire_delay = initial(fire_delay) - to_chat(user, "You switch to [burst_size]-rnd burst.") + to_chat(user, span_notice("You switch to [burst_size]-rnd burst.")) if(1) select = 0 burst_size = 1 fire_delay = 0 - to_chat(user, "You switch to semi-auto.") + to_chat(user, span_notice("You switch to semi-auto.")) playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) update_appearance() return @@ -285,14 +285,14 @@ . = ..() . += "alt + click to [cover_open ? "close" : "open"] the dust cover." if(cover_open && magazine) - . += "It seems like you could use an empty hand to remove the magazine." + . += span_notice("It seems like you could use an empty hand to remove the magazine.") /obj/item/gun/ballistic/automatic/l6_saw/AltClick(mob/user) if(!user.canUseTopic(src)) return cover_open = !cover_open - to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") + to_chat(user, span_notice("You [cover_open ? "open" : "close"] [src]'s cover.")) playsound(src, 'sound/weapons/gun/l6/l6_door.ogg', 60, TRUE) update_appearance() @@ -307,7 +307,7 @@ /obj/item/gun/ballistic/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) if(cover_open) - to_chat(user, "[src]'s cover is open! Close it before firing!") + to_chat(user, span_warning("[src]'s cover is open! Close it before firing!")) return else . = ..() @@ -319,13 +319,13 @@ ..() return if (!cover_open) - to_chat(user, "[src]'s cover is closed! Open it before trying to remove the magazine!") + to_chat(user, span_warning("[src]'s cover is closed! Open it before trying to remove the magazine!")) return ..() /obj/item/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params) if(!cover_open && istype(A, mag_type)) - to_chat(user, "[src]'s dust cover prevents a magazine from being fit.") + to_chat(user, span_warning("[src]'s dust cover prevents a magazine from being fit.")) return ..() diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index 558157a6ad5..c94766c98b9 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -86,8 +86,8 @@ return //too difficult to remove the rocket with TK /obj/item/gun/ballistic/rocketlauncher/suicide_act(mob/living/user) - user.visible_message("[user] aims [src] at the ground! It looks like [user.p_theyre()] performing a sick rocket jump!", \ - "You aim [src] at the ground to perform a bisnasty rocket jump...") + user.visible_message(span_warning("[user] aims [src] at the ground! It looks like [user.p_theyre()] performing a sick rocket jump!"), \ + span_userdanger("You aim [src] at the ground to perform a bisnasty rocket jump...")) if(can_shoot()) user.notransform = TRUE playsound(src, 'sound/vehicles/rocketlaunch.ogg', 80, TRUE, 5) @@ -104,7 +104,7 @@ sleep(5) shoot_with_empty_chamber(user) sleep(20) - user.visible_message("[user] looks about the room realizing [user.p_theyre()] still there. [user.p_they(TRUE)] proceed to shove [src] down their throat and choke [user.p_them()]self with it!", \ - "You look around after realizing you're still here, then proceed to choke yourself to death with [src]!") + user.visible_message(span_warning("[user] looks about the room realizing [user.p_theyre()] still there. [user.p_they(TRUE)] proceed to shove [src] down their throat and choke [user.p_them()]self with it!"), \ + span_userdanger("You look around after realizing you're still here, then proceed to choke yourself to death with [src]!")) sleep(20) return OXYLOSS diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 4ba65457a0b..7013790b98d 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -90,12 +90,12 @@ /obj/item/gun/ballistic/automatic/pistol/stickman/pickup(mob/living/user) SHOULD_CALL_PARENT(FALSE) - to_chat(user, "As you try to pick up [src], it slips out of your grip..") + to_chat(user, span_notice("As you try to pick up [src], it slips out of your grip..")) if(prob(50)) - to_chat(user, "..and vanishes from your vision! Where the hell did it go?") + to_chat(user, span_notice("..and vanishes from your vision! Where the hell did it go?")) qdel(src) user.update_icons() else - to_chat(user, "..and falls into view. Whew, that was a close one.") + to_chat(user, span_notice("..and falls into view. Whew, that was a close one.")) user.dropItemToGround(src) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 7fe39ad1153..5089aab7ca7 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -54,7 +54,7 @@ if(do_spin()) playsound(usr, "revolver_spin", 30, FALSE) - usr.visible_message("[usr] spins [src]'s chamber.", "You spin [src]'s chamber.") + usr.visible_message(span_notice("[usr] spins [src]'s chamber."), span_notice("You spin [src]'s chamber.")) else verbs -= /obj/item/gun/ballistic/revolver/verb/spin @@ -82,7 +82,7 @@ /obj/item/gun/ballistic/revolver/ignition_effect(atom/A, mob/user) if(last_fire && last_fire + 15 SECONDS > world.time) - . = "[user] touches the end of [src] to \the [A], using the residual heat to ignite it in a puff of smoke. What a badass." + . = span_notice("[user] touches the end of [src] to \the [A], using the residual heat to ignite it in a puff of smoke. What a badass.") /obj/item/gun/ballistic/revolver/detective name = "\improper Colt Detective Special" @@ -176,13 +176,13 @@ return if(target != user) if(ismob(target)) - to_chat(user, "A mechanism prevents you from shooting anyone but yourself!") + to_chat(user, span_warning("A mechanism prevents you from shooting anyone but yourself!")) return if(ishuman(user)) var/mob/living/carbon/human/H = user if(!spun) - to_chat(user, "You need to spin \the [src]'s chamber first!") + to_chat(user, span_warning("You need to spin \the [src]'s chamber first!")) return spun = FALSE @@ -196,21 +196,21 @@ if(zone == BODY_ZONE_HEAD || zone == BODY_ZONE_PRECISE_EYES || zone == BODY_ZONE_PRECISE_MOUTH) shoot_self(user, affecting) else - user.visible_message("[user.name] cowardly fires [src] at [user.p_their()] [affecting.name]!", "You cowardly fire [src] at your [affecting.name]!", "You hear a gunshot!") + user.visible_message(span_danger("[user.name] cowardly fires [src] at [user.p_their()] [affecting.name]!"), span_userdanger("You cowardly fire [src] at your [affecting.name]!"), span_hear("You hear a gunshot!")) chambered = null return - user.visible_message("*click*") + user.visible_message(span_danger("*click*")) playsound(src, dry_fire_sound, 30, TRUE) /obj/item/gun/ballistic/revolver/russian/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) add_fingerprint(user) playsound(src, dry_fire_sound, 30, TRUE) - user.visible_message("[user.name] tries to fire \the [src] at the same time, but only succeeds at looking like an idiot.", "\The [src]'s anti-combat mechanism prevents you from firing it at the same time!") + user.visible_message(span_danger("[user.name] tries to fire \the [src] at the same time, but only succeeds at looking like an idiot."), span_danger("\The [src]'s anti-combat mechanism prevents you from firing it at the same time!")) /obj/item/gun/ballistic/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = BODY_ZONE_HEAD) user.apply_damage(300, BRUTE, affecting) - user.visible_message("[user.name] fires [src] at [user.p_their()] head!", "You fire [src] at your head!", "You hear a gunshot!") + user.visible_message(span_danger("[user.name] fires [src] at [user.p_their()] head!"), span_userdanger("You fire [src] at your head!"), span_hear("You hear a gunshot!")) /obj/item/gun/ballistic/revolver/russian/soul name = "cursed Russian revolver" @@ -222,7 +222,7 @@ if(!SS.transfer_soul("FORCE", user)) //Something went wrong qdel(SS) return - user.visible_message("[user.name]'s soul is captured by \the [src]!", "You've lost the gamble! Your soul is forfeit!") + user.visible_message(span_danger("[user.name]'s soul is captured by \the [src]!"), span_userdanger("You've lost the gamble! Your soul is forfeit!")) /obj/item/gun/ballistic/revolver/reverse //Fires directly at its user... unless the user is a clown, of course. clumsy_check = FALSE @@ -231,7 +231,7 @@ if((HAS_TRAIT(user, TRAIT_CLUMSY)) || (user.mind && user.mind.assigned_role == "Clown")) return ..() if(process_fire(user, user, FALSE, null, BODY_ZONE_HEAD)) - user.visible_message("[user] somehow manages to shoot [user.p_them()]self in the face!", "You somehow shoot yourself in the face! How the hell?!") + user.visible_message(span_warning("[user] somehow manages to shoot [user.p_them()]self in the face!"), span_userdanger("You somehow shoot yourself in the face! How the hell?!")) user.emote("scream") user.drop_all_held_items() user.Paralyze(80) diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 8a901e9e20d..2ff72e61627 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -23,7 +23,7 @@ /obj/item/gun/ballistic/rifle/rack(mob/user = null) if (bolt_locked == FALSE) - to_chat(user, "You open the bolt of \the [src].") + to_chat(user, span_notice("You open the bolt of \the [src].")) playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) process_chamber(FALSE, FALSE, FALSE) bolt_locked = TRUE @@ -38,7 +38,7 @@ /obj/item/gun/ballistic/rifle/attackby(obj/item/A, mob/user, params) if (!bolt_locked && !istype(A, /obj/item/stack/sheet/cloth)) - to_chat(user, "The bolt is closed!") + to_chat(user, span_notice("The bolt is closed!")) return return ..() @@ -84,7 +84,7 @@ unjam_chance = 10 else unjam_chance += 10 - to_chat(user, "[src] is jammed!") + to_chat(user, span_warning("[src] is jammed!")) playsound(user,'sound/weapons/jammed.ogg', 75, TRUE) return FALSE ..() @@ -104,7 +104,7 @@ if(bolt_locked) if(istype(item, /obj/item/gun_maintenance_supplies)) if(do_after(user, 10 SECONDS, target = src)) - user.visible_message("[user] finishes maintenance of [src].") + user.visible_message(span_notice("[user] finishes maintenance of [src].")) jamming_chance = 10 qdel(item) diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 0edaa588533..7a5714b3a8b 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -80,7 +80,7 @@ /obj/item/gun/ballistic/shotgun/automatic/dual_tube/examine(mob/user) . = ..() - . += "Alt-click to pump it." + . += span_notice("Alt-click to pump it.") /obj/item/gun/ballistic/shotgun/automatic/dual_tube/Initialize() . = ..() @@ -100,9 +100,9 @@ alternate_magazine = current_mag toggled = !toggled if(toggled) - to_chat(user, "You switch to tube B.") + to_chat(user, span_notice("You switch to tube B.")) else - to_chat(user, "You switch to tube A.") + to_chat(user, span_notice("You switch to tube A.")) /obj/item/gun/ballistic/shotgun/automatic/dual_tube/AltClick(mob/living/user) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) @@ -208,7 +208,7 @@ /obj/item/gun/ballistic/shotgun/hook/examine(mob/user) . = ..() - . += "Right-click to shoot the hook." + . += span_notice("Right-click to shoot the hook.") /obj/item/gun/ballistic/shotgun/hook/afterattack_secondary(atom/target, mob/user, proximity_flag, click_parameters) hook.afterattack(target, user, proximity_flag, click_parameters) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index d6786e6c3db..ac8a98337e5 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -62,14 +62,14 @@ if(!ammo_type) return var/obj/projectile/exam_proj - readout += "Standard models of this projectile weapon have [ammo_type.len] mode\s" + readout += "Standard models of this projectile weapon have [span_warning("[ammo_type.len]")] mode\s" readout += "Our heroic interns have shown that one can theoretically stay standing after..." for(var/obj/item/ammo_casing/energy/for_ammo in ammo_type) exam_proj = for_ammo.loaded_projectile if(exam_proj.damage > 0) // Don't divide by 0!!!!! - readout += "[round(100 / exam_proj.damage, 0.1)] shot\s on [for_ammo.select_name] mode before collapsing from [exam_proj.damage_type == STAMINA ? "immense pain" : "their wounds"]." + readout += "[span_warning("[round(100 / exam_proj.damage, 0.1)]")] shot\s on [span_warning("[for_ammo.select_name]")] mode before collapsing from [exam_proj.damage_type == STAMINA ? "immense pain" : "their wounds"]." else - readout += "an infinite number of shots on [for_ammo.select_name] mode." + readout += "an infinite number of shots on [span_warning("[for_ammo.select_name] mode")]." return readout.Join("\n") // Sending over the singular string, rather than the whole list /obj/item/gun/energy/ComponentInitialize() @@ -160,7 +160,7 @@ fire_sound = shot.fire_sound fire_delay = shot.delay if (shot.select_name) - to_chat(user, "[src] is now set to [shot.select_name].") + to_chat(user, span_notice("[src] is now set to [shot.select_name].")) chambered = null recharge_newshot(TRUE) update_appearance() @@ -219,20 +219,20 @@ /obj/item/gun/energy/suicide_act(mob/living/user) if (istype(user) && can_shoot() && can_trigger_gun(user) && user.get_bodypart(BODY_ZONE_HEAD)) - user.visible_message("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!")) sleep(25) if(user.is_holding(src)) - user.visible_message("[user] melts [user.p_their()] face off with [src]!") + user.visible_message(span_suicide("[user] melts [user.p_their()] face off with [src]!")) playsound(loc, fire_sound, 50, TRUE, -1) var/obj/item/ammo_casing/energy/shot = ammo_type[select] cell.use(shot.e_cost) update_appearance() return(FIRELOSS) else - user.visible_message("[user] panics and starts choking to death!") + user.visible_message(span_suicide("[user] panics and starts choking to death!")) return(OXYLOSS) else - user.visible_message("[user] is pretending to melt [user.p_their()] face off with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is pretending to melt [user.p_their()] face off with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, dry_fire_sound, 30, TRUE) return (OXYLOSS) @@ -257,13 +257,13 @@ if(!loaded_projectile) . = "" else if(loaded_projectile.nodamage || !loaded_projectile.damage || loaded_projectile.damage_type == STAMINA) - user.visible_message("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but it doesn't do anything. Dumbass.") + user.visible_message(span_danger("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but it doesn't do anything. Dumbass.")) playsound(user, E.fire_sound, 50, TRUE) playsound(user, loaded_projectile.hitsound, 50, TRUE) cell.use(E.e_cost) . = "" else if(loaded_projectile.damage_type != BURN) - user.visible_message("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but only succeeds in utterly destroying it. Dumbass.") + user.visible_message(span_danger("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but only succeeds in utterly destroying it. Dumbass.")) playsound(user, E.fire_sound, 50, TRUE) playsound(user, loaded_projectile.hitsound, 50, TRUE) cell.use(E.e_cost) @@ -273,7 +273,7 @@ playsound(user, E.fire_sound, 50, TRUE) playsound(user, loaded_projectile.hitsound, 50, TRUE) cell.use(E.e_cost) - . = "[user] casually lights [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src]. Damn." + . = span_danger("[user] casually lights [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src]. Damn.") /obj/item/gun/energy/proc/instant_recharge() SIGNAL_HANDLER diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm index 2fc965cc18c..4f941fd3618 100644 --- a/code/modules/projectiles/guns/energy/dueling.dm +++ b/code/modules/projectiles/guns/energy/dueling.dm @@ -24,7 +24,7 @@ var/mob/living/A = get_duelist(gun_A) var/mob/living/B = get_duelist(gun_B) if(!A || !B) - message_duelists("To begin the duel, both participants need to be holding paired dueling pistols.") + message_duelists(span_warning("To begin the duel, both participants need to be holding paired dueling pistols.")) return begin() @@ -34,7 +34,7 @@ fired.Cut() countdown_step = countdown_length - message_duelists("Set your gun setting and move [required_distance] steps away from your opponent.") + message_duelists(span_notice("Set your gun setting and move [required_distance] steps away from your opponent.")) START_PROCESSING(SSobj,src) @@ -56,7 +56,7 @@ return G == gun_A ? gun_B : gun_A /datum/duel/proc/end() - message_duelists("Duel finished. Re-engaging safety.") + message_duelists(span_notice("Duel finished. Re-engaging safety.")) STOP_PROCESSING(SSobj,src) state = DUEL_IDLE @@ -83,26 +83,26 @@ /datum/duel/proc/back_to_prep() - message_duelists("Positions invalid. Please move to valid positions [required_distance] steps away from each other to continue.") + message_duelists(span_notice("Positions invalid. Please move to valid positions [required_distance] steps away from each other to continue.")) state = DUEL_PREPARATION confirmations.Cut() countdown_step = countdown_length /datum/duel/proc/confirm_positioning() - message_duelists("Position confirmed. Confirm readiness by pulling the trigger once.") + message_duelists(span_notice("Position confirmed. Confirm readiness by pulling the trigger once.")) state = DUEL_READY /datum/duel/proc/confirm_ready() - message_duelists("Readiness confirmed. Starting countdown. Commence firing at zero mark.") + message_duelists(span_notice("Readiness confirmed. Starting countdown. Commence firing at zero mark.")) state = DUEL_COUNTDOWN /datum/duel/proc/countdown_step() countdown_step-- if(countdown_step == 0) state = DUEL_FIRING - message_duelists("Fire!") + message_duelists(span_userdanger("Fire!")) else - message_duelists("[countdown_step]!") + message_duelists(span_userdanger("[countdown_step]!")) /datum/duel/proc/check_fired() if(fired.len == 2) @@ -172,7 +172,7 @@ setting = DUEL_SETTING_C if(DUEL_SETTING_C) setting = DUEL_SETTING_A - to_chat(user,"You switch [src] setting to [setting] mode.") + to_chat(user,span_notice("You switch [src] setting to [setting] mode.")) update_appearance() /obj/item/gun/energy/dueling/update_overlays() @@ -197,7 +197,7 @@ if(DUEL_READY) return . else - to_chat(user,"[src] is locked. Wait for FIRE signal before shooting.") + to_chat(user,span_warning("[src] is locked. Wait for FIRE signal before shooting.")) return FALSE /obj/item/gun/energy/dueling/proc/is_duelist(mob/living/L) @@ -210,10 +210,10 @@ /obj/item/gun/energy/dueling/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread) if(duel.state == DUEL_READY) duel.confirmations[src] = TRUE - to_chat(user,"You confirm your readiness.") + to_chat(user,span_notice("You confirm your readiness.")) return else if(!is_duelist(target)) //I kinda want to leave this out just to see someone shoot a bystander or missing. - to_chat(user,"[src] safety system prevents shooting anyone but your designated opponent.") + to_chat(user,span_warning("[src] safety system prevents shooting anyone but your designated opponent.")) return else duel.fired[src] = TRUE diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index e30170870ea..6ff2ec90576 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -122,12 +122,12 @@ if(0 to 200) fail_tick += (2*(fail_chance)) M.rad_act(40) - to_chat(M, "Your [name] feels warmer.") + to_chat(M, span_userdanger("Your [name] feels warmer.")) if(201 to INFINITY) SSobj.processing.Remove(src) M.rad_act(80) reactor_overloaded = TRUE - to_chat(M, "Your [name]'s reactor overloads!") + to_chat(M, span_userdanger("Your [name]'s reactor overloads!")) /obj/item/gun/energy/e_gun/nuclear/emp_act(severity) . = ..() diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 73c8e123fcb..9566ba1464b 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -31,21 +31,21 @@ . = ..() if(max_mod_capacity) . += "[get_remaining_mod_capacity()]% mod capacity remaining." - . += "You can use a crowbar to remove modules." + . += span_info("You can use a crowbar to remove modules.") for(var/A in modkits) var/obj/item/borg/upgrade/modkit/M = A - . += "There is \a [M] installed, using [M.cost]% capacity." + . += span_notice("There is \a [M] installed, using [M.cost]% capacity.") /obj/item/gun/energy/kinetic_accelerator/crowbar_act(mob/living/user, obj/item/I) . = TRUE if(modkits.len) - to_chat(user, "You pry the modifications out.") + to_chat(user, span_notice("You pry the modifications out.")) I.play_tool_sound(src, 100) for(var/a in modkits) var/obj/item/borg/upgrade/modkit/M = a M.forceMove(drop_location()) //uninstallation handled in Exited(), or /mob/living/silicon/robot/remove_from_upgrades() for borgs else - to_chat(user, "There are no modifications currently installed.") + to_chat(user, span_notice("There are no modifications currently installed.")) /obj/item/gun/energy/kinetic_accelerator/Exited(atom/A) if(modkits.len && (A in modkits)) @@ -146,7 +146,7 @@ if(!suppressed) playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, TRUE) else - to_chat(loc, "[src] silently charges up.") + to_chat(loc, span_warning("[src] silently charges up.")) update_appearance() overheat = FALSE @@ -250,7 +250,7 @@ /obj/item/borg/upgrade/modkit/examine(mob/user) . = ..() - . += "Occupies [cost]% of mod capacity." + . += span_notice("Occupies [cost]% of mod capacity.") /obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user) if(istype(A, /obj/item/gun/energy/kinetic_accelerator) && !issilicon(user)) @@ -268,10 +268,10 @@ . = TRUE if(minebot_upgrade) if(minebot_exclusive && !istype(KA.loc, /mob/living/simple_animal/hostile/mining_drone)) - to_chat(user, "The modkit you're trying to install is only rated for minebot use.") + to_chat(user, span_notice("The modkit you're trying to install is only rated for minebot use.")) return FALSE else if(istype(KA.loc, /mob/living/simple_animal/hostile/mining_drone)) - to_chat(user, "The modkit you're trying to install is not rated for minebot use.") + to_chat(user, span_notice("The modkit you're trying to install is not rated for minebot use.")) return FALSE if(denied_type) var/number_of_denied = 0 @@ -286,13 +286,13 @@ if(.) if(transfer_to_loc && !user.transferItemToLoc(src, KA)) return - to_chat(user, "You install the modkit.") + to_chat(user, span_notice("You install the modkit.")) playsound(loc, 'sound/items/screwdriver.ogg', 100, TRUE) KA.modkits += src else - to_chat(user, "The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.") + to_chat(user, span_notice("The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.")) else - to_chat(user, "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.") + to_chat(user, span_notice("You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.")) . = FALSE /obj/item/borg/upgrade/modkit/deactivate(mob/living/silicon/robot/R, user = usr) @@ -402,7 +402,7 @@ for(var/mob/living/L in range(1, target_turf) - K.firer - target) var/armor = L.run_armor_check(K.def_zone, K.flag, "", "", K.armour_penetration) L.apply_damage(K.damage*modifier, K.damage_type, K.def_zone, armor) - to_chat(L, "You're struck by a [K.name]!") + to_chat(L, span_userdanger("You're struck by a [K.name]!")) /obj/item/borg/upgrade/modkit/aoe/turfs name = "mining explosion" diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index da2cb6e3be7..f5294b665a3 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -43,12 +43,12 @@ armed = TRUE if(!user.put_in_hands(gun)) armed = FALSE - to_chat(user, "You need a free hand to hold the gun!") + to_chat(user, span_warning("You need a free hand to hold the gun!")) return update_appearance() user.update_inv_back() else - to_chat(user, "You are already holding the gun!") + to_chat(user, span_warning("You are already holding the gun!")) else ..() @@ -90,9 +90,9 @@ gun.forceMove(src) armed = FALSE if(user) - to_chat(user, "You attach the [gun.name] to the [name].") + to_chat(user, span_notice("You attach the [gun.name] to the [name].")) else - src.visible_message("The [gun.name] snaps back onto the [name]!") + src.visible_message(span_warning("The [gun.name] snaps back onto the [name]!")) update_appearance() user.update_inv_back() @@ -140,7 +140,7 @@ /obj/item/gun/energy/minigun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(ammo_pack && ammo_pack.overheat >= ammo_pack.overheat_max) - to_chat(user, "The gun's heat sensor locked the trigger to prevent lens damage!") + to_chat(user, span_warning("The gun's heat sensor locked the trigger to prevent lens damage!")) return ..() ammo_pack.overheat += burst_size @@ -152,7 +152,7 @@ /obj/item/gun/energy/minigun/afterattack(atom/target, mob/living/user, flag, params) if(!ammo_pack || ammo_pack.loc != user) - to_chat(user, "You need the backpack power source to fire the gun!") + to_chat(user, span_warning("You need the backpack power source to fire the gun!")) . = ..() /obj/item/stock_parts/cell/minigun diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index bbf81e3455c..e490df5b0c7 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -55,7 +55,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse) /obj/item/gun/energy/pulse/destroyer/attack_self(mob/living/user) - to_chat(user, "[src.name] has three settings, and they are all DESTROY.") + to_chat(user, span_danger("[src.name] has three settings, and they are all DESTROY.")) /obj/item/gun/energy/pulse/pistol name = "pulse pistol" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 1b53e4c82f8..3587c7ba530 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -145,7 +145,7 @@ /obj/item/gun/energy/plasmacutter/examine(mob/user) . = ..() if(cell) - . += "[src] is [round(cell.percent())]% charged." + . += span_notice("[src] is [round(cell.percent())]% charged.") /obj/item/gun/energy/plasmacutter/attackby(obj/item/I, mob/user) var/charge_multiplier = 0 //2 = Refined stack, 1 = Ore @@ -155,11 +155,11 @@ charge_multiplier = 1 if(charge_multiplier) if(cell.charge == cell.maxcharge) - to_chat(user, "You try to insert [I] into [src], but it's fully charged.") //my cell is round and full + to_chat(user, span_notice("You try to insert [I] into [src], but it's fully charged.")) //my cell is round and full return I.use(1) cell.give(500*charge_multiplier) - to_chat(user, "You insert [I] in [src], recharging it.") + to_chat(user, span_notice("You insert [I] in [src], recharging it.")) else ..() @@ -167,13 +167,13 @@ // Amount cannot be defaulted to 1: most of the code specifies 0 in the call. /obj/item/gun/energy/plasmacutter/tool_use_check(mob/living/user, amount) if(QDELETED(cell)) - to_chat(user, "[src] does not have a cell, and cannot be used!") + to_chat(user, span_warning("[src] does not have a cell, and cannot be used!")) return FALSE // Amount cannot be used if drain is made continuous, e.g. amount = 5, charge_weld = 25 // Then it'll drain 125 at first and 25 periodically, but fail if charge dips below 125 even though it still can finish action // Alternately it'll need to drain amount*charge_weld every period, which is either obscene or makes it free for other uses if(amount ? cell.charge < charge_weld * amount : cell.charge < charge_weld) - to_chat(user, "You need more charge to complete this task!") + to_chat(user, span_warning("You need more charge to complete this task!")) return FALSE return TRUE @@ -209,7 +209,7 @@ /obj/item/gun/energy/wormhole_projector/attackby(obj/item/C, mob/user) if(istype(C, /obj/item/assembly/signaler/anomaly/bluespace)) - to_chat(user, "You insert [C] into the wormhole projector and the weapon gently hums to life.") + to_chat(user, span_notice("You insert [C] into the wormhole projector and the weapon gently hums to life.")) firing_core = TRUE playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) qdel(C) @@ -222,7 +222,7 @@ /obj/item/gun/energy/wormhole_projector/shoot_with_empty_chamber(mob/living/user) . = ..() - to_chat(user, "The display says, 'NO CORE INSTALLED'.") + to_chat(user, span_danger("The display says, 'NO CORE INSTALLED'.")) /obj/item/gun/energy/wormhole_projector/update_icon_state() . = ..() @@ -371,7 +371,7 @@ /obj/item/gun/energy/gravity_gun/attackby(obj/item/C, mob/user) if(istype(C, /obj/item/assembly/signaler/anomaly/grav)) - to_chat(user, "You insert [C] into the gravitational manipulator and the weapon gently hums to life.") + to_chat(user, span_notice("You insert [C] into the gravitational manipulator and the weapon gently hums to life.")) firing_core = TRUE playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) qdel(C) diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 4ccf9aec009..49c6bc0075b 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -28,13 +28,13 @@ var/area/A = get_area(user) if(istype(A, /area/wizard_station)) add_fingerprint(user) - to_chat(user, "You know better than to violate the security of The Den, best wait until you leave to use [src].") + to_chat(user, span_warning("You know better than to violate the security of The Den, best wait until you leave to use [src].")) return else no_den_usage = 0 if(checks_antimagic && user.anti_magic_check(TRUE, FALSE, FALSE, 0, TRUE)) add_fingerprint(user) - to_chat(user, "Something is interfering with [src].") + to_chat(user, span_warning("Something is interfering with [src].")) return . = ..() @@ -80,10 +80,10 @@ /obj/item/gun/magic/shoot_with_empty_chamber(mob/living/user as mob|obj) - to_chat(user, "The [name] whizzles quietly.") + to_chat(user, span_warning("The [name] whizzles quietly.")) /obj/item/gun/magic/suicide_act(mob/user) - user.visible_message("[user] is twisting [src] above [user.p_their()] head, releasing a magical blast! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is twisting [src] above [user.p_their()] head, releasing a magical blast! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, fire_sound, 50, TRUE, -1) return (FIRELOSS) diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 124e4ef3d9d..5096b4d3f03 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -39,7 +39,7 @@ if(no_den_usage) var/area/A = get_area(user) if(istype(A, /area/wizard_station)) - to_chat(user, "You know better than to violate the security of The Den, best wait until you leave to use [src].") + to_chat(user, span_warning("You know better than to violate the security of The Den, best wait until you leave to use [src].")) return else no_den_usage = 0 @@ -50,7 +50,7 @@ /obj/item/gun/magic/wand/proc/zap_self(mob/living/user) - user.visible_message("[user] zaps [user.p_them()]self with [src].") + user.visible_message(span_danger("[user] zaps [user.p_them()]self with [src].")) playsound(user, fire_sound, 50, TRUE) user.log_message("zapped [user.p_them()]self with a [src]", LOG_ATTACK) @@ -73,13 +73,13 @@ ..() charges-- if(user.anti_magic_check()) - user.visible_message("[src] has no effect on [user]!") + user.visible_message(span_warning("[src] has no effect on [user]!")) return if(isliving(user)) var/mob/living/L = user if(L.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead user.revive(full_heal = TRUE, admin_revive = TRUE) - to_chat(user, "You feel great!") + to_chat(user, span_notice("You feel great!")) return to_chat(user, "You irradiate yourself with pure negative energy! \ [pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?")]\ @@ -112,7 +112,7 @@ ..() charges-- if(user.anti_magic_check()) - user.visible_message("[src] has no effect on [user]!") + user.visible_message(span_warning("[src] has no effect on [user]!")) return if(isliving(user)) var/mob/living/L = user @@ -123,7 +123,7 @@ user.death(0) return user.revive(full_heal = TRUE, admin_revive = TRUE) - to_chat(user, "You feel great!") + to_chat(user, span_notice("You feel great!")) /obj/item/gun/magic/wand/resurrection/debug //for testing desc = "Is it possible for something to be even more powerful than regular magic? This wand is." @@ -221,7 +221,7 @@ no_den_usage = 1 /obj/item/gun/magic/wand/door/zap_self(mob/living/user) - to_chat(user, "You feel vaguely more open with your feelings.") + to_chat(user, span_notice("You feel vaguely more open with your feelings.")) charges-- ..() diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index c2b72b2f410..da8add58698 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -101,13 +101,13 @@ zoom_lock = 0 switch(zoom_lock) if(ZOOM_LOCK_AUTOZOOM_FREEMOVE) - to_chat(user, "You switch [src]'s zooming processor to free directional.") + to_chat(user, span_boldnotice("You switch [src]'s zooming processor to free directional.")) if(ZOOM_LOCK_AUTOZOOM_ANGLELOCK) - to_chat(user, "You switch [src]'s zooming processor to locked directional.") + to_chat(user, span_boldnotice("You switch [src]'s zooming processor to locked directional.")) if(ZOOM_LOCK_CENTER_VIEW) - to_chat(user, "You switch [src]'s zooming processor to center mode.") + to_chat(user, span_boldnotice("You switch [src]'s zooming processor to center mode.")) if(ZOOM_LOCK_OFF) - to_chat(user, "You disable [src]'s zooming system.") + to_chat(user, span_boldnotice("You disable [src]'s zooming system.")) reset_zooming() else ..() @@ -148,7 +148,7 @@ /obj/item/gun/energy/beam_rifle/attack_self(mob/user) projectile_setting_pierce = !projectile_setting_pierce - to_chat(user, "You set \the [src] to [projectile_setting_pierce? "pierce":"impact"] mode.") + to_chat(user, span_boldnotice("You set \the [src] to [projectile_setting_pierce? "pierce":"impact"] mode.")) aiming_beam() /obj/item/gun/energy/beam_rifle/proc/update_slowdown() @@ -441,7 +441,7 @@ new /obj/effect/temp_visual/explosion/fast(epicenter) for(var/mob/living/L in range(aoe_mob_range, epicenter)) //handle aoe mob damage L.adjustFireLoss(aoe_mob_damage) - to_chat(L, "\The [src] sears you!") + to_chat(L, span_userdanger("\The [src] sears you!")) for(var/turf/T in RANGE_TURFS(aoe_fire_range, epicenter)) //handle aoe fire if(prob(aoe_fire_chance)) new /obj/effect/hotspot(T) diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index 0cb443f1a2a..8f2d607e5be 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -62,13 +62,13 @@ /obj/item/gun/blastcannon/examine(mob/user) . = ..() if(bomb) - . += "A bomb is loaded inside." + . += span_notice("A bomb is loaded inside.") /obj/item/gun/blastcannon/attack_self(mob/user) if(bomb) bomb.forceMove(user.loc) user.put_in_hands(bomb) - user.visible_message("[user] detaches [bomb] from [src].") + user.visible_message(span_warning("[user] detaches [bomb] from [src].")) bomb = null update_appearance() return ..() @@ -82,16 +82,16 @@ return ..() if(bomb) - to_chat(user, "[bomb] is already attached to [src]!") + to_chat(user, span_warning("[bomb] is already attached to [src]!")) return if(!bomb_to_attach.ready()) - to_chat(user, "What good would an incomplete bomb do?") + to_chat(user, span_warning("What good would an incomplete bomb do?")) return FALSE if(!user.transferItemToLoc(bomb_to_attach, src)) - to_chat(user, "[bomb_to_attach] seems to be stuck to your hand!") + to_chat(user, span_warning("[bomb_to_attach] seems to be stuck to your hand!")) return FALSE - user.visible_message("[user] attaches [bomb_to_attach] to [src]!") + user.visible_message(span_warning("[user] attaches [bomb_to_attach] to [src]!")) bomb = bomb_to_attach update_appearance() return TRUE @@ -104,8 +104,8 @@ cached_modifiers = params if(bomb?.valve_open) user.visible_message( - "[user] points [src] at [target]!", - "You point [src] at [target]!" + span_danger("[user] points [src] at [target]!"), + span_danger("You point [src] at [target]!") ) return @@ -116,8 +116,8 @@ playsound(src, dry_fire_sound, 30, TRUE) // *click user.visible_message( - "[user] opens [bomb] on [user.p_their()] [src] and points [p_them()] at [target]!", - "You open [bomb] on your [src] and point [p_them()] at [target]!" + span_danger("[user] opens [bomb] on [user.p_their()] [src] and points [p_them()] at [target]!"), + span_danger("You open [bomb] on your [src] and point [p_them()] at [target]!") ) var/turf/current_turf = get_turf(src) var/turf/target_turf = get_turf(target) @@ -142,7 +142,7 @@ var/light = arguments[EXARG_KEY_LIGHT_RANGE] var/range = max(heavy, medium, light, 0) if(!range) - visible_message("[src] lets out a little \"phut\".") + visible_message(span_warning("[src] lets out a little \"phut\".")) return if(!ismob(loc)) @@ -200,8 +200,8 @@ */ /obj/item/gun/blastcannon/proc/fire_intentionally(atom/target, mob/firer, heavy, medium, light, modifiers) firer.visible_message( - "[firer] fires a blast wave at [target]!", - "You fire a blast wave at [target]!" + span_danger("[firer] fires a blast wave at [target]!"), + span_danger("You fire a blast wave at [target]!") ) var/turf/start_turf = get_turf(src) var/turf/target_turf = get_turf(target) @@ -232,8 +232,8 @@ var/mob/firer = cached_firer?.resolve() var/turf/start_turf = get_turf(src) holder.visible_message( - "[src] suddenly goes off[holding ? " in [holder]'s hands" : null]!", - "[src] suddenly goes off[holding ? " in your hands" : null]!" + span_danger("[src] suddenly goes off[holding ? " in [holder]'s hands" : null]!"), + span_danger("[src] suddenly goes off[holding ? " in your hands" : null]!") ) message_admins("Blast wave primed by [ADMIN_LOOKUPFLW(firer)] fired from [ADMIN_VERBOSEJMP(start_turf)] roughly towards [ADMIN_VERBOSEJMP(target)] while being held by [ADMIN_LOOKUPFLW(holder)] with power [heavy]/[medium]/[light].") log_game("Blast wave primed by [key_name(firer)] fired from [AREACOORD(start_turf)] roughly towards [AREACOORD(target)] while being held by [key_name(holder)] with power [heavy]/[medium]/[light].") diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index 30724d81f6c..57b3e3b078f 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -40,7 +40,7 @@ /obj/item/gun/ballistic/bow/attack_self(mob/user) if(chambered) - to_chat(user, "You [drawn ? "release the tension on" : "draw the string on"] [src].") + to_chat(user, span_notice("You [drawn ? "release the tension on" : "draw the string on"] [src].")) drawn = !drawn update_appearance() diff --git a/code/modules/projectiles/guns/misc/chem_gun.dm b/code/modules/projectiles/guns/misc/chem_gun.dm index 8bd1eb229ac..5d30449188f 100644 --- a/code/modules/projectiles/guns/misc/chem_gun.dm +++ b/code/modules/projectiles/guns/misc/chem_gun.dm @@ -39,7 +39,7 @@ return if(world.time < last_synth+time_per_syringe) return - to_chat(loc, "You hear a click as [src] synthesizes a new dart.") + to_chat(loc, span_warning("You hear a click as [src] synthesizes a new dart.")) syringes_left++ if(chambered && !chambered.loaded_projectile) chambered.newshot() diff --git a/code/modules/projectiles/guns/misc/grenade_launcher.dm b/code/modules/projectiles/guns/misc/grenade_launcher.dm index 2aea1a2fb0e..98b4a0fb75b 100644 --- a/code/modules/projectiles/guns/misc/grenade_launcher.dm +++ b/code/modules/projectiles/guns/misc/grenade_launcher.dm @@ -23,17 +23,17 @@ if(!user.transferItemToLoc(I, src)) return grenades += I - to_chat(user, "You put the grenade in the grenade launcher.") - to_chat(user, "[grenades.len] / [max_grenades] Grenades.") + to_chat(user, span_notice("You put the grenade in the grenade launcher.")) + to_chat(user, span_notice("[grenades.len] / [max_grenades] Grenades.")) else - to_chat(usr, "The grenade launcher cannot hold more grenades!") + to_chat(usr, span_warning("The grenade launcher cannot hold more grenades!")) /obj/item/gun/grenadelauncher/can_shoot() return grenades.len /obj/item/gun/grenadelauncher/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) - user.visible_message("[user] fired a grenade!", \ - "You fire the grenade launcher!") + user.visible_message(span_danger("[user] fired a grenade!"), \ + span_danger("You fire the grenade launcher!")) var/obj/item/grenade/F = grenades[1] //Now with less copypasta! grenades -= F F.forceMove(user.loc) diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm index 035b0224a2c..9211dea31e4 100644 --- a/code/modules/projectiles/guns/misc/medbeam.dm +++ b/code/modules/projectiles/guns/misc/medbeam.dm @@ -53,7 +53,7 @@ SIGNAL_HANDLER active = FALSE //skip qdelling the beam again if we're doing this proc, because if(isliving(loc)) - to_chat(loc, "You lose control of the beam!") + to_chat(loc, span_warning("You lose control of the beam!")) LoseTarget() /obj/item/gun/medbeam/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 265305206dd..e04e7cd85c9 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -44,7 +44,7 @@ /obj/item/gun/syringe/attack_self(mob/living/user) if(!syringes.len) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return FALSE var/obj/item/reagent_containers/syringe/S = syringes[syringes.len] @@ -54,27 +54,27 @@ user.put_in_hands(S) syringes.Remove(S) - to_chat(user, "You unload [S] from \the [src].") + to_chat(user, span_notice("You unload [S] from \the [src].")) update_appearance() return TRUE /obj/item/gun/syringe/attackby(obj/item/A, mob/user, params, show_msg = TRUE) if(istype(A, /obj/item/reagent_containers/syringe/bluespace)) - to_chat(user, "[A] is too big to load into [src].") + to_chat(user, span_notice("[A] is too big to load into [src].")) return TRUE if(istype(A, /obj/item/reagent_containers/syringe)) if(syringes.len < max_syringes) if(!user.transferItemToLoc(A, src)) return FALSE - to_chat(user, "You load [A] into \the [src].") + to_chat(user, span_notice("You load [A] into \the [src].")) syringes += A recharge_newshot() update_appearance() playsound(loc, load_sound, 40) return TRUE else - to_chat(user, "[src] cannot hold more syringes!") + to_chat(user, span_warning("[src] cannot hold more syringes!")) return FALSE /obj/item/gun/syringe/update_overlays() @@ -113,17 +113,17 @@ if(istype(A, /obj/item/dnainjector)) var/obj/item/dnainjector/D = A if(D.used) - to_chat(user, "This injector is used up!") + to_chat(user, span_warning("This injector is used up!")) return if(syringes.len < max_syringes) if(!user.transferItemToLoc(D, src)) return FALSE - to_chat(user, "You load \the [D] into \the [src].") + to_chat(user, span_notice("You load \the [D] into \the [src].")) syringes += D recharge_newshot() return TRUE else - to_chat(user, "[src] cannot hold more syringes!") + to_chat(user, span_warning("[src] cannot hold more syringes!")) return FALSE /obj/item/gun/syringe/blowgun @@ -135,7 +135,7 @@ fire_sound = 'sound/items/syringeproj.ogg' /obj/item/gun/syringe/blowgun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) - visible_message("[user] starts aiming with a blowgun!") + visible_message(span_danger("[user] starts aiming with a blowgun!")) if(do_after(user, 25, target = src)) user.adjustStaminaLoss(20) user.adjustOxyLoss(20) diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 3bd3af0118d..29fc7b58eb8 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -27,7 +27,7 @@ var/obj/item/gun/G = target var/obj/item/firing_pin/old_pin = G.pin if(old_pin && (force_replace || old_pin.pin_removeable)) - to_chat(user, "You remove [old_pin] from [G].") + to_chat(user, span_notice("You remove [old_pin] from [G].")) if(Adjacent(user)) user.put_in_hands(old_pin) else @@ -38,15 +38,15 @@ if(!user.temporarilyRemoveItemFromInventory(src)) return gun_insert(user, G) - to_chat(user, "You insert [src] into [G].") + to_chat(user, span_notice("You insert [src] into [G].")) else - to_chat(user, "This firearm already has a firing pin installed.") + to_chat(user, span_notice("This firearm already has a firing pin installed.")) /obj/item/firing_pin/emag_act(mob/user) if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - to_chat(user, "You override the authentication mechanism.") + to_chat(user, span_notice("You override the authentication mechanism.")) /obj/item/firing_pin/proc/gun_insert(mob/living/user, obj/item/gun/G) gun = G @@ -67,8 +67,8 @@ user.show_message(fail_message, MSG_VISUAL) if(selfdestruct) if(user) - user.show_message("SELF-DESTRUCTING...
    ", MSG_VISUAL) - to_chat(user, "[gun] explodes!") + user.show_message("[span_danger("SELF-DESTRUCTING...")]
    ", MSG_VISUAL) + to_chat(user, span_userdanger("[gun] explodes!")) explosion(src, devastation_range = -1, light_impact_range = 2, flash_range = 3) if(gun) qdel(gun) @@ -185,7 +185,7 @@ var/mob/living/carbon/M = target if(M.dna && M.dna.unique_enzymes) unique_enzymes = M.dna.unique_enzymes - to_chat(user, "DNA-LOCK SET.") + to_chat(user, span_notice("DNA-LOCK SET.")) /obj/item/firing_pin/dna/pin_auth(mob/living/carbon/user) if(user && user.dna && user.dna.unique_enzymes) @@ -197,7 +197,7 @@ if(!unique_enzymes) if(user && user.dna && user.dna.unique_enzymes) unique_enzymes = user.dna.unique_enzymes - to_chat(user, "DNA-LOCK SET.") + to_chat(user, span_notice("DNA-LOCK SET.")) else ..() @@ -221,24 +221,24 @@ /obj/item/firing_pin/paywall/attack_self(mob/user) multi_payment = !multi_payment - to_chat(user, "You set the pin to [( multi_payment ) ? "process payment for every shot" : "one-time license payment"].") + to_chat(user, span_notice("You set the pin to [( multi_payment ) ? "process payment for every shot" : "one-time license payment"].")) /obj/item/firing_pin/paywall/examine(mob/user) . = ..() if(pin_owner) - . += "This firing pin is currently authorized to pay into the account of [pin_owner.registered_name]." + . += span_notice("This firing pin is currently authorized to pay into the account of [pin_owner.registered_name].") /obj/item/firing_pin/paywall/gun_insert(mob/living/user, obj/item/gun/G) if(!pin_owner) - to_chat(user, "ERROR: Please swipe valid identification card before installing firing pin!") + to_chat(user, span_warning("ERROR: Please swipe valid identification card before installing firing pin!")) return gun = G forceMove(gun) gun.pin = src if(multi_payment) - gun.desc += " This [gun.name] has a per-shot cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""]." + gun.desc += span_notice(" This [gun.name] has a per-shot cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""].") return - gun.desc += " This [gun.name] has a license permit cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""]." + gun.desc += span_notice(" This [gun.name] has a license permit cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""].") return @@ -250,20 +250,20 @@ if(istype(M, /obj/item/card/id)) var/obj/item/card/id/id = M if(!id.registered_account) - to_chat(user, "ERROR: Identification card lacks registered bank account!") + to_chat(user, span_warning("ERROR: Identification card lacks registered bank account!")) return if(id != pin_owner && owned) - to_chat(user, "ERROR: This firing pin has already been authorized!") + to_chat(user, span_warning("ERROR: This firing pin has already been authorized!")) return if(id == pin_owner) - to_chat(user, "You unlink the card from the firing pin.") + to_chat(user, span_notice("You unlink the card from the firing pin.")) gun_owners -= user pin_owner = null owned = FALSE return var/transaction_amount = input(user, "Insert valid deposit amount for gun purchase", "Money Deposit") as null|num if(transaction_amount < 1) - to_chat(user, "ERROR: Invalid amount designated.") + to_chat(user, span_warning("ERROR: Invalid amount designated.")) return if(!transaction_amount) return @@ -271,7 +271,7 @@ owned = TRUE payment_amount = transaction_amount gun_owners += user - to_chat(user, "You link the card to the firing pin.") + to_chat(user, span_notice("You link the card to the firing pin.")) /obj/item/firing_pin/paywall/pin_auth(mob/living/user) if(!istype(user))//nice try commie @@ -282,7 +282,7 @@ if(credit_card_details.adjust_money(-payment_amount)) pin_owner.registered_account.adjust_money(payment_amount) return TRUE - to_chat(user, "ERROR: User balance insufficent for successful transaction!") + to_chat(user, span_warning("ERROR: User balance insufficent for successful transaction!")) return FALSE return TRUE if(credit_card_details && !active_prompt) @@ -296,15 +296,15 @@ if(credit_card_details.adjust_money(-payment_amount)) pin_owner.registered_account.adjust_money(payment_amount) gun_owners += user - to_chat(user, "Gun license purchased, have a secure day!") + to_chat(user, span_notice("Gun license purchased, have a secure day!")) active_prompt = FALSE return FALSE //we return false here so you don't click initially to fire, get the prompt, accept the prompt, and THEN the gun - to_chat(user, "ERROR: User balance insufficent for successful transaction!") + to_chat(user, span_warning("ERROR: User balance insufficent for successful transaction!")) return FALSE if("No") - to_chat(user, "ERROR: User has declined to purchase gun license!") + to_chat(user, span_warning("ERROR: User has declined to purchase gun license!")) return FALSE - to_chat(user, "ERROR: User has no valid bank account to substract neccesary funds from!") + to_chat(user, span_warning("ERROR: User has no valid bank account to substract neccesary funds from!")) return FALSE // Explorer Firing Pin- Prevents use on station Z-Level, so it's justifiable to give Explorers guns that don't suck. @@ -318,7 +318,7 @@ /obj/item/firing_pin/explorer/pin_auth(mob/living/user) var/turf/station_check = get_turf(user) if(!station_check||is_station_level(station_check.z)) - to_chat(user, "You cannot use your weapon while on the station!") + to_chat(user, span_warning("You cannot use your weapon while on the station!")) return FALSE return TRUE @@ -335,7 +335,7 @@ var/mob/living/carbon/human/M = user if(istype(M.wear_suit, suit_requirement)) return TRUE - to_chat(user, "You need to be wearing [tagcolor] laser tag armor!") + to_chat(user, span_warning("You need to be wearing [tagcolor] laser tag armor!")) return FALSE /obj/item/firing_pin/tag/red diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 73ee0afcc57..7e92b54a105 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -279,13 +279,13 @@ playsound(loc, hitsound, 5, TRUE, -1) else if(suppressed) playsound(loc, hitsound, 5, TRUE, -1) - to_chat(L, "You're shot by \a [src][organ_hit_text]!") + to_chat(L, span_userdanger("You're shot by \a [src][organ_hit_text]!")) else if(hitsound) var/volume = vol_by_damage() playsound(src, hitsound, volume, TRUE, -1) - L.visible_message("[L] is hit by \a [src][organ_hit_text]!", \ - "You're hit by \a [src][organ_hit_text]!", null, COMBAT_MESSAGE_RANGE) + L.visible_message(span_danger("[L] is hit by \a [src][organ_hit_text]!"), \ + span_userdanger("You're hit by \a [src][organ_hit_text]!"), null, COMBAT_MESSAGE_RANGE) L.on_hit(src) var/reagent_note diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 67b2216d66f..d846833a5da 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -234,7 +234,7 @@ . = ..() if(iscarbon(target)) var/mob/living/carbon/M = target - M.visible_message("[M] explodes into a shower of gibs!") + M.visible_message(span_danger("[M] explodes into a shower of gibs!")) M.gib() //a shrink ray that shrinks stuff, which grows back after a short while. diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 1ae3c4f177a..d5afc5e731a 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -20,8 +20,8 @@ return BULLET_ACT_HIT else blocked = 100 - target.visible_message("\The [src] is deflected!", \ - "You are protected against \the [src]!") + target.visible_message(span_danger("\The [src] is deflected!"), \ + span_userdanger("You are protected against \the [src]!")) ..(target, blocked) reagents.flags &= ~(NO_REACT) diff --git a/code/modules/projectiles/projectile/bullets/dnainjector.dm b/code/modules/projectiles/projectile/bullets/dnainjector.dm index bf4fa7e8a22..074cd52ba0e 100644 --- a/code/modules/projectiles/projectile/bullets/dnainjector.dm +++ b/code/modules/projectiles/projectile/bullets/dnainjector.dm @@ -17,8 +17,8 @@ return BULLET_ACT_HIT else blocked = 100 - target.visible_message("\The [src] is deflected!", \ - "You are protected against \the [src]!") + target.visible_message(span_danger("\The [src] is deflected!"), \ + span_userdanger("You are protected against \the [src]!")) return ..() /obj/projectile/bullet/dnainjector/Destroy() diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 31267ab3ec3..7f0ebe3dfa5 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -17,15 +17,15 @@ return if(target.anti_magic_check()) - target.visible_message("[src] vanishes on contact with [target]!") + target.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK if(target.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead if(target.revive(full_heal = TRUE, admin_revive = TRUE)) target.grab_ghost(force = TRUE) // even suicides - to_chat(target, "You rise with a start, you're undead!!!") + to_chat(target, span_notice("You rise with a start, you're undead!!!")) else if(target.stat != DEAD) - to_chat(target, "You feel great!") + to_chat(target, span_notice("You feel great!")) return target.death() @@ -41,16 +41,16 @@ . = ..() if(isliving(target)) if(target.anti_magic_check()) - target.visible_message("[src] vanishes on contact with [target]!") + target.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK if(target.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead target.death(0) else if(target.revive(full_heal = TRUE, admin_revive = TRUE)) target.grab_ghost(force = TRUE) // even suicides - to_chat(target, "You rise with a start, you're alive!!!") + to_chat(target, span_notice("You rise with a start, you're alive!!!")) else if(target.stat != DEAD) - to_chat(target, "You feel great!") + to_chat(target, span_notice("You feel great!")) /obj/projectile/magic/teleport name = "bolt of teleportation" @@ -66,7 +66,7 @@ if(ismob(target)) var/mob/M = target if(M.anti_magic_check()) - M.visible_message("[src] fizzles on contact with [target]!") + M.visible_message(span_warning("[src] fizzles on contact with [target]!")) return BULLET_ACT_BLOCK var/teleammount = 0 var/teleloc = target @@ -92,7 +92,7 @@ if(ismob(target)) var/mob/M = target if(M.anti_magic_check()) - M.visible_message("[src] fizzles on contact with [target]!") + M.visible_message(span_warning("[src] fizzles on contact with [target]!")) return BULLET_ACT_BLOCK if(isturf(target)) return BULLET_ACT_HIT @@ -147,7 +147,7 @@ if(ismob(change)) var/mob/M = change if(M.anti_magic_check()) - M.visible_message("[src] fizzles on contact with [M]!") + M.visible_message(span_warning("[src] fizzles on contact with [M]!")) qdel(src) return BULLET_ACT_BLOCK wabbajack(change) @@ -294,7 +294,7 @@ M.wabbajack_act(new_mob) - to_chat(new_mob, "Your form morphs into that of a [randomize].") + to_chat(new_mob, span_warning("Your form morphs into that of a [randomize].")) var/poly_msg = get_policy(POLICY_POLYMORPH) if(poly_msg) @@ -334,7 +334,7 @@ if(L.mind) L.mind.transfer_to(S) if(owner) - to_chat(S, "You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator.") + to_chat(S, span_userdanger("You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator.")) P.forceMove(S) return else @@ -363,7 +363,7 @@ if(ismob(target)) var/mob/M = target if(M.anti_magic_check()) - M.visible_message("[src] vanishes on contact with [target]!") + M.visible_message(span_warning("[src] vanishes on contact with [target]!")) qdel(src) return BULLET_ACT_BLOCK . = ..() @@ -382,7 +382,7 @@ if(ismob(target)) var/mob/M = target if(M.anti_magic_check()) - M.visible_message("[src] vanishes on contact with [target]!") + M.visible_message(span_warning("[src] vanishes on contact with [target]!")) qdel(src) return BULLET_ACT_BLOCK . = ..() @@ -407,7 +407,7 @@ if(isliving(A) && locker_suck) var/mob/living/M = A if(M.anti_magic_check()) // no this doesn't check if ..() returned to phase through do I care no it's magic ain't gotta explain shit - M.visible_message("[src] vanishes on contact with [A]!") + M.visible_message(span_warning("[src] vanishes on contact with [A]!")) return PROJECTILE_DELETE_WITHOUT_HITTING if(!locker_temp_instance.insertion_allowed(M)) return @@ -473,7 +473,7 @@ if(isliving(target)) var/mob/living/L = target if(L.anti_magic_check()) - L.visible_message("[src] vanishes on contact with [target]!") + L.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK var/atom/throw_target = get_edge_target_turf(L, angle2dir(Angle)) L.throw_at(throw_target, 200, 4) @@ -487,7 +487,7 @@ if(isliving(target)) var/mob/living/L = target if(L.anti_magic_check() || !firer) - L.visible_message("[src] vanishes on contact with [target]!") + L.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK L.apply_status_effect(STATUS_EFFECT_BOUNTY, firer) @@ -500,7 +500,7 @@ if(isliving(target)) var/mob/living/L = target if(L.anti_magic_check()) - L.visible_message("[src] vanishes on contact with [target]!") + L.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK L.apply_status_effect(STATUS_EFFECT_ANTIMAGIC) @@ -513,7 +513,7 @@ if(isliving(target)) var/mob/living/L = target if(L.anti_magic_check() || !firer) - L.visible_message("[src] vanishes on contact with [target]!") + L.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK var/atom/throw_target = get_edge_target_turf(L, get_dir(L, firer)) L.throw_at(throw_target, 200, 4) @@ -527,7 +527,7 @@ if(ismob(target)) var/mob/M = target if(M.anti_magic_check()) - M.visible_message("[src] vanishes on contact with [target]!") + M.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, src, /datum/mood_event/sapped) @@ -540,13 +540,13 @@ if(isliving(target)) var/mob/living/L = target if(L.anti_magic_check() || !L.mind) - L.visible_message("[src] vanishes on contact with [target]!") + L.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK - to_chat(L, "Your body feels drained and there is a burning pain in your chest.") + to_chat(L, span_danger("Your body feels drained and there is a burning pain in your chest.")) L.maxHealth -= 20 L.health = min(L.health, L.maxHealth) if(L.maxHealth <= 0) - to_chat(L, "Your weakened soul is completely consumed by the [src]!") + to_chat(L, span_userdanger("Your weakened soul is completely consumed by the [src]!")) return for(var/obj/effect/proc_holder/spell/spell in L.mind.spell_list) spell.charge_counter = spell.charge_max @@ -562,13 +562,13 @@ if(iscarbon(target)) var/mob/living/carbon/M = target if(M.anti_magic_check()) - M.visible_message("[src] vanishes on contact with [target]!") + M.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK for(var/x in M.get_traumas())//checks to see if the victim is already going through possession if(istype(x, /datum/brain_trauma/special/imaginary_friend/trapped_owner)) - M.visible_message("[src] vanishes on contact with [target]!") + M.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK - to_chat(M, "Your mind has been opened to possession!") + to_chat(M, span_warning("Your mind has been opened to possession!")) possession_test(M) return BULLET_ACT_HIT @@ -588,7 +588,7 @@ return if(LAZYLEN(candidates)) var/mob/dead/observer/C = pick(candidates) - to_chat(M, "You have been noticed by a ghost and it has possessed you!") + to_chat(M, span_boldnotice("You have been noticed by a ghost and it has possessed you!")) var/oldkey = M.key M.ghostize(0) M.key = C.key @@ -597,7 +597,7 @@ trauma.friend.Show() trauma.friend_initialized = TRUE else - to_chat(M, "Your mind has managed to go unnoticed in the spirit world.") + to_chat(M, span_notice("Your mind has managed to go unnoticed in the spirit world.")) qdel(trauma) /obj/projectile/magic/aoe @@ -639,7 +639,7 @@ if(ismob(target)) var/mob/M = target if(M.anti_magic_check()) - visible_message("[src] fizzles on contact with [target]!") + visible_message(span_warning("[src] fizzles on contact with [target]!")) qdel(src) return BULLET_ACT_BLOCK tesla_zap(src, zap_range, zap_power, zap_flags) @@ -672,7 +672,7 @@ if(ismob(target)) var/mob/living/M = target if(M.anti_magic_check()) - visible_message("[src] vanishes into smoke on contact with [target]!") + visible_message(span_warning("[src] vanishes into smoke on contact with [target]!")) return BULLET_ACT_BLOCK M.take_overall_damage(0,10) //between this 10 burn, the 10 brute, the explosion brute, and the onfire burn, your at about 65 damage if you stop drop and roll immediately var/turf/T = get_turf(target) diff --git a/code/modules/projectiles/projectile/special/floral.dm b/code/modules/projectiles/projectile/special/floral.dm index c37b16bb7d4..eec59e009bd 100644 --- a/code/modules/projectiles/projectile/special/floral.dm +++ b/code/modules/projectiles/projectile/special/floral.dm @@ -14,7 +14,7 @@ if(prob(15)) L.rad_act(rand(30, 80)) L.Paralyze(100) - L.visible_message("[L] writhes in pain as [L.p_their()] vacuoles boil.", "You writhe in pain as your vacuoles boil!", "You hear the crunching of leaves.") + L.visible_message(span_warning("[L] writhes in pain as [L.p_their()] vacuoles boil."), span_userdanger("You writhe in pain as your vacuoles boil!"), span_hear("You hear the crunching of leaves.")) if(iscarbon(L) && L.has_dna()) var/mob/living/carbon/C = L if(prob(80)) @@ -25,7 +25,7 @@ C.domutcheck() else L.adjustFireLoss(rand(5, 15)) - L.show_message("The radiation beam singes you!") + L.show_message(span_userdanger("The radiation beam singes you!")) /obj/projectile/energy/florayield name = "beta somatoray" @@ -55,7 +55,7 @@ if(isliving(target)) var/mob/living/L = target if(L.mob_biotypes & MOB_PLANT) - L.show_message("The radiation beam leaves you feeling disoriented!") + L.show_message(span_notice("The radiation beam leaves you feeling disoriented!")) L.Dizzy(15) L.emote("flip") L.emote("spin") diff --git a/code/modules/projectiles/projectile/special/hallucination.dm b/code/modules/projectiles/projectile/special/hallucination.dm index b9b54f3718e..e55690d1585 100644 --- a/code/modules/projectiles/projectile/special/hallucination.dm +++ b/code/modules/projectiles/projectile/special/hallucination.dm @@ -48,10 +48,10 @@ /obj/projectile/hallucination/proc/target_on_hit(mob/M) if(M == hal_target) - to_chat(hal_target, "[M] is hit by \a [src] in the chest!") + to_chat(hal_target, span_userdanger("[M] is hit by \a [src] in the chest!")) hal_apply_effect() else if(M in view(hal_target)) - to_chat(hal_target, "[M] is hit by \a [src] in the chest!!") + to_chat(hal_target, span_danger("[M] is hit by \a [src] in the chest!!")) if(damage_type == BRUTE) var/splatter_dir = dir if(starting) diff --git a/code/modules/reagents/chemistry/equilibrium.dm b/code/modules/reagents/chemistry/equilibrium.dm index 45da377199b..e036b5a2a27 100644 --- a/code/modules/reagents/chemistry/equilibrium.dm +++ b/code/modules/reagents/chemistry/equilibrium.dm @@ -387,7 +387,7 @@ //Give a chance of sounds if(prob(5)) - holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [reaction.mix_message]") + holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [reaction.mix_message]")) if(reaction.mix_sound) playsound(get_turf(holder.my_atom), reaction.mix_sound, 80, TRUE) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 0587cab596e..4571dcf3d5e 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -964,7 +964,7 @@ SEND_SIGNAL(src, COMSIG_REAGENTS_REACTION_STEP, num_reactions, delta_time) if(length(mix_message)) //This is only at the end - my_atom.audible_message("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]") + my_atom.audible_message(span_notice("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]")) if(!LAZYLEN(reaction_list)) finish_reacting() @@ -1026,7 +1026,7 @@ for(var/datum/equilibrium/equilibrium as anything in reaction_list) mix_message += end_reaction(equilibrium) if(length(mix_message)) - my_atom.audible_message("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]") + my_atom.audible_message(span_notice("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]")) finish_reacting() /* @@ -1047,7 +1047,7 @@ mix_message += end_reaction(equilibrium) any_stopped = TRUE if(length(mix_message)) - my_atom.audible_message("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))][mix_message.Join()]") + my_atom.audible_message(span_notice("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))][mix_message.Join()]")) return any_stopped /* @@ -1138,13 +1138,13 @@ if(selected_reaction.mix_sound) playsound(get_turf(cached_my_atom), selected_reaction.mix_sound, 80, TRUE) - my_atom.audible_message("[iconhtml] [selected_reaction.mix_message]") + my_atom.audible_message(span_notice("[iconhtml] [selected_reaction.mix_message]")) if(istype(cached_my_atom, /obj/item/slime_extract)) var/obj/item/slime_extract/extract = my_atom extract.Uses-- if(extract.Uses <= 0) // give the notification that the slime core is dead - my_atom.visible_message("[iconhtml] \The [my_atom]'s power is consumed in the reaction.") + my_atom.visible_message(span_notice("[iconhtml] \The [my_atom]'s power is consumed in the reaction.")) extract.name = "used slime extract" extract.desc = "This extract has been used up." diff --git a/code/modules/reagents/chemistry/items.dm b/code/modules/reagents/chemistry/items.dm index c21f485bc57..bf6f331cd3a 100644 --- a/code/modules/reagents/chemistry/items.dm +++ b/code/modules/reagents/chemistry/items.dm @@ -23,13 +23,13 @@ if(number_of_pages == 50) icon_state = "pHbooklet_open" if(!number_of_pages) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) add_fingerprint(user) return var/obj/item/ph_paper/page = new(get_turf(user)) page.add_fingerprint(user) user.put_in_active_hand(page) - to_chat(user, "You take [page] out of \the [src].") + to_chat(user, span_notice("You take [page] out of \the [src].")) number_of_pages-- playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) add_fingerprint(user) @@ -48,7 +48,7 @@ if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return if(!number_of_pages) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) add_fingerprint(user) return if(number_of_pages == 50) @@ -56,7 +56,7 @@ var/obj/item/ph_paper/P = new(get_turf(user)) P.add_fingerprint(user) user.put_in_active_hand(P) - to_chat(user, "You take [P] out of \the [src].") + to_chat(user, span_notice("You take [P] out of \the [src].")) number_of_pages-- playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) add_fingerprint(user) @@ -83,7 +83,7 @@ return var/obj/item/reagent_containers/cont = target if(used == TRUE) - to_chat(user, "[src] has already been used!") + to_chat(user, span_warning("[src] has already been used!")) return if(!LAZYLEN(cont.reagents.reagent_list)) return @@ -106,10 +106,10 @@ /obj/item/ph_meter/attack_self(mob/user) if(scanmode == SHORTENED_CHEM_OUTPUT) - to_chat(user, "You switch the chemical analyzer to provide a detailed description of each reagent.") + to_chat(user, span_notice("You switch the chemical analyzer to provide a detailed description of each reagent.")) scanmode = DETAILED_CHEM_OUTPUT else - to_chat(user, "You switch the chemical analyzer to not include reagent descriptions in it's report.") + to_chat(user, span_notice("You switch the chemical analyzer to not include reagent descriptions in it's report.")) scanmode = SHORTENED_CHEM_OUTPUT /obj/item/ph_meter/afterattack(atom/target, mob/user, proximity_flag, click_parameters) @@ -124,16 +124,16 @@ out_message += "Total volume: [round(cont.volume, 0.01)] Current temperature: [round(cont.reagents.chem_temp, 0.1)]K Total pH: [round(cont.reagents.ph, 0.01)]\n" out_message += "Chemicals found in the beaker:\n" if(cont.reagents.is_reacting) - out_message += "A reaction appears to be occuring currently.\n" + out_message += "[span_warning("A reaction appears to be occuring currently.")]\n" for(var/datum/reagent/reagent in cont.reagents.reagent_list) if(reagent.purity < 1) //If the reagent is impure if(reagent.purity < reagent.inverse_chem_val && reagent.inverse_chem) //Below level and has an inverse var/datum/reagent/inverse_reagent = GLOB.chemical_reagents_list[reagent.inverse_chem] - out_message += "Inverted reagent detected: [round(reagent.volume, 0.01)]u of [inverse_reagent.name], Purity: [round(1 - reagent.purity, 0.01)*100]%, [(scanmode?"[(inverse_reagent.overdose_threshold?"Overdose: [inverse_reagent.overdose_threshold]u, ":"")]Base pH: [initial(inverse_reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n" + out_message += "[span_warning("Inverted reagent detected: ")][round(reagent.volume, 0.01)]u of [inverse_reagent.name], Purity: [round(1 - reagent.purity, 0.01)*100]%, [(scanmode?"[(inverse_reagent.overdose_threshold?"Overdose: [inverse_reagent.overdose_threshold]u, ":"")]Base pH: [initial(inverse_reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n" else if(reagent.impure_chem) //Otherwise has an impure var/datum/reagent/impure_reagent = GLOB.chemical_reagents_list[reagent.impure_chem] out_message += "[round(reagent.volume, 0.01)]u of [reagent.name], Purity: [round(reagent.purity, 0.01)*100]%, [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]Base pH: [initial(reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n" - out_message += "Impurities detected: [round(reagent.volume - (reagent.volume * reagent.purity), 0.01)]u of [impure_reagent.name], [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]":"")]\n" + out_message += "[span_warning("Impurities detected: ")][round(reagent.volume - (reagent.volume * reagent.purity), 0.01)]u of [impure_reagent.name], [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]":"")]\n" else out_message += "[round(reagent.volume, 0.01)]u of [reagent.name], Purity: [round(reagent.purity, 0.01)*100]%, [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]Base pH: [initial(reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n" if(scanmode) @@ -170,25 +170,25 @@ if(lit) var/obj/item/reagent_containers/container = I container.reagents.expose_temperature(get_temperature()) - to_chat(user, "You heat up the [I] with the [src].") + to_chat(user, span_notice("You heat up the [I] with the [src].")) playsound(user.loc, 'sound/chemistry/heatdam.ogg', 50, TRUE) return else if(I.is_drainable()) //Transfer FROM it TO us. Special code so it only happens when flame is off. var/obj/item/reagent_containers/container = I if(!container.reagents.total_volume) - to_chat(user, "[container] is empty and can't be poured!") + to_chat(user, span_warning("[container] is empty and can't be poured!")) return if(reagents.holder_full()) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) return var/trans = container.reagents.trans_to(src, container.amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You fill [src] with [trans] unit\s of the contents of [container].") + to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [container].")) if(I.heat < 1000) return set_lit(TRUE) - user.visible_message("[user] lights up the [src].") + user.visible_message(span_notice("[user] lights up the [src].")) /obj/item/burner/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() @@ -196,14 +196,14 @@ if(is_reagent_container(target)) var/obj/item/reagent_containers/container = target container.reagents.expose_temperature(get_temperature()) - to_chat(user, "You heat up the [src].") + to_chat(user, span_notice("You heat up the [src].")) playsound(user.loc, 'sound/chemistry/heatdam.ogg', 50, TRUE) return else if(isitem(target)) var/obj/item/item = target if(item.heat > 1000) set_lit(TRUE) - user.visible_message("[user] lights up the [src].") + user.visible_message(span_notice("[user] lights up the [src].")) /obj/item/burner/update_icon_state() . = ..() @@ -238,7 +238,7 @@ return if(lit) set_lit(FALSE) - user.visible_message("[user] snuffs out [src]'s flame.") + user.visible_message(span_notice("[user] snuffs out [src]'s flame.")) /obj/item/burner/attack(mob/living/carbon/M, mob/living/carbon/user) if(lit && M.IgniteMob()) @@ -299,7 +299,7 @@ if(!user.transferItemToLoc(src, target)) return attached_to_reagents = target.reagents - to_chat(user, "You add the [src] to the [target].") + to_chat(user, span_notice("You add the [src] to the [target].")) ui_interact(usr, null) /obj/item/thermometer/ui_interact(mob/user, datum/tgui/ui) @@ -332,7 +332,7 @@ attached_to_reagents = null /obj/item/thermometer/proc/try_put_in_hand(obj/object, mob/living/user) - to_chat(user, "You remove the [src] from the [attached_to_reagents.my_atom].") + to_chat(user, span_notice("You remove the [src] from the [attached_to_reagents.my_atom].")) if(!issilicon(user) && in_range(src.loc, user)) user.put_in_hands(object) else diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 97871e723ef..a998a375dc5 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -106,7 +106,7 @@ /obj/machinery/chem_dispenser/examine(mob/user) . = ..() if(panel_open) - . += "[src]'s maintenance hatch is open!" + . += span_notice("[src]'s maintenance hatch is open!") if(in_range(user, src) || isobserver(user)) . += "The status display reads:\n\ Recharging [recharge_amount] power units per interval.\n\ @@ -155,9 +155,9 @@ /obj/machinery/chem_dispenser/emag_act(mob/user) if(obj_flags & EMAGGED) - to_chat(user, "[src] has no functional safeties to emag.") + to_chat(user, span_warning("[src] has no functional safeties to emag.")) return - to_chat(user, "You short out [src]'s safeties.") + to_chat(user, span_notice("You short out [src]'s safeties.")) dispensable_reagents |= emagged_reagents//add the emagged reagents to the dispensable ones obj_flags |= EMAGGED @@ -337,7 +337,7 @@ for(var/reagent in recording_recipe) var/reagent_id = GLOB.name2reagent[translate_legacy_chem_id(reagent)] if(!dispensable_reagents.Find(reagent_id)) - visible_message("[src] buzzes.", "You hear a faint buzz.") + visible_message(span_warning("[src] buzzes."), span_hear("You hear a faint buzz.")) to_chat(usr, "[src] cannot find [reagent]!") playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE) return @@ -367,10 +367,10 @@ if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - to_chat(user, "You add [B] to [src].") + to_chat(user, span_notice("You add [B] to [src].")) updateUsrDialog() else if(!user.combat_mode && !istype(I, /obj/item/card/emag)) - to_chat(user, "You can't load [I] into [src]!") + to_chat(user, span_warning("You can't load [I] into [src]!")) return ..() else return ..() @@ -396,7 +396,7 @@ cell.use(total/powerefficiency) cell.emp_act(severity) work_animation() - visible_message("[src] malfunctions, spraying chemicals everywhere!") + visible_message(span_danger("[src] malfunctions, spraying chemicals everywhere!")) /obj/machinery/chem_dispenser/RefreshParts() recharge_amount = initial(recharge_amount) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 29e1fde792b..a5da593417e 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -87,7 +87,7 @@ /obj/machinery/chem_heater/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Heating reagents at [heater_coefficient*1000]% speed." + . += span_notice("The status display reads: Heating reagents at [heater_coefficient*1000]% speed.") /obj/machinery/chem_heater/process(delta_time) ..() @@ -157,7 +157,7 @@ if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - to_chat(user, "You add [B] to [src].") + to_chat(user, span_notice("You add [B] to [src].")) updateUsrDialog() update_appearance() return diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm index c3e960e7830..94eda4d79a9 100644 --- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm +++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm @@ -56,7 +56,7 @@ This will not clean any inverted reagents. Inverted reagents will still be corre if(!user.transferItemToLoc(beaker, src)) return replace_beaker(user, BEAKER1, beaker) - to_chat(user, "You add [beaker] to [src].") + to_chat(user, span_notice("You add [beaker] to [src].")) updateUsrDialog() update_appearance() ..() @@ -71,7 +71,7 @@ This will not clean any inverted reagents. Inverted reagents will still be corre if(!user.transferItemToLoc(beaker, src)) return replace_beaker(user, BEAKER2, beaker) - to_chat(user, "You add [beaker] to [src].") + to_chat(user, span_notice("You add [beaker] to [src].")) updateUsrDialog() update_appearance() return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 5a0e044db2d..8ca5e1a0b1c 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -122,24 +122,24 @@ if(istype(I, /obj/item/reagent_containers) && !(I.item_flags & ABSTRACT) && I.is_open_container()) . = TRUE // no afterattack if(panel_open) - to_chat(user, "You can't use the [src.name] while its panel is opened!") + to_chat(user, span_warning("You can't use the [src.name] while its panel is opened!")) return var/obj/item/reagent_containers/B = I . = TRUE // no afterattack if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - to_chat(user, "You add [B] to [src].") + to_chat(user, span_notice("You add [B] to [src].")) updateUsrDialog() 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]!") + to_chat(user, span_warning("A pill bottle is already loaded into [src]!")) return if(!user.transferItemToLoc(I, src)) return bottle = I - to_chat(user, "You add [I] into the dispenser slot.") + to_chat(user, span_notice("You add [I] into the dispenser slot.")) updateUsrDialog() else return ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm b/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm index 996ba4bae34..f2bd627ce7a 100644 --- a/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm +++ b/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm @@ -131,25 +131,25 @@ for(var/reagent_type in reaction.results) var/datum/reagent/reagent = reagents.get_reagent(reagent_type) if(!reagent) - say("Unable to find product [reagent_type] in holder after reaction! reagents found are:") + say(span_warning("Unable to find product [reagent_type] in holder after reaction! reagents found are:")) for(var/other_reagent in reagents.reagent_list) say("[other_reagent]") var/obj/item/reagent_containers/glass/beaker/bluespace/beaker = new /obj/item/reagent_containers/glass/beaker/bluespace(loc) reagents.trans_to(beaker) beaker.name = "[cached_reactions[index]] failed" if(!failed) - problem_string += "[cached_reactions[index]] Unable to find product [reagent_type] in holder after reaction! Trying alternative setup. index:[index]\n" + problem_string += "[cached_reactions[index]] [span_warning("Unable to find product [reagent_type] in holder after reaction! Trying alternative setup. index:[index]")]\n" failed++ return say("Reaction has a product [reagent_type] [reagent.volume]u purity of [reagent.purity]") if(reagent.purity < 0.9) - impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u purity of [reagent.purity] index:[index]\n" + impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u [span_boldwarning("purity of [reagent.purity]")] index:[index]\n" majorImpurity++ else if (reagent.purity < 1) - impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u purity of [reagent.purity] index:[index]\n" + impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u [span_warning("purity of [reagent.purity]")] index:[index]\n" minorImpurity++ if(reagent.volume < reaction.results[reagent_type]) - impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u purity of [reagent.purity] index:[index]\n" + impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [span_warning("[reagent.volume]u")] purity of [reagent.purity] index:[index]\n" cached_purity = reagent.purity if(beaker_spawn && reagents.total_volume) var/obj/item/reagent_containers/glass/beaker/bluespace/beaker = new /obj/item/reagent_containers/glass/beaker/bluespace(loc) @@ -191,7 +191,7 @@ if(min_temp) say("Overriding temperature to required temp.") reagents.chem_temp = reaction.is_cold_recipe ? reaction.required_temp - 1 : reaction.required_temp + 1 - say("Reacting [cached_reactions[index]] starting pH: [reagents.ph] index [index] of [cached_reactions.len]") + say("Reacting [span_nicegreen("[cached_reactions[index]]")] starting pH: [reagents.ph] index [index] of [cached_reactions.len]") /obj/machinery/chem_recipe_debug/ui_data(mob/user) var/data = list() diff --git a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm index 35798e81156..aad8df3c156 100644 --- a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm +++ b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm @@ -46,7 +46,7 @@ if(beaker) return beaker = new /obj/item/reagent_containers/glass/beaker/bluespace(src) - visible_message("[src] dispenses a bluespace beaker.") + visible_message(span_notice("[src] dispenses a bluespace beaker.")) if("amount") var/input = text2num(params["amount"]) if(input) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 1d3d4692a1e..0bf770954b0 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -34,7 +34,7 @@ is_close = TRUE else . += "It has a beaker inside it." - . += "Alt-click to eject [is_close ? beaker : "the beaker"]." + . += span_info("Alt-click to eject [is_close ? beaker : "the beaker"].") /obj/machinery/computer/pandemic/AltClick(mob/user) . = ..() @@ -204,7 +204,7 @@ var/id = get_virus_id_by_index(text2num(params["index"])) var/datum/disease/advance/A = SSdisease.archive_diseases[id] if(!istype(A) || !A.mutable) - to_chat(usr, "ERROR: Cannot replicate virus strain.") + to_chat(usr, span_warning("ERROR: Cannot replicate virus strain.")) return A = A.Copy() var/list/data = list("viruses" = list(A)) @@ -238,13 +238,13 @@ if(machine_stat & (NOPOWER|BROKEN)) return if(beaker) - to_chat(user, "A container is already loaded into [src]!") + to_chat(user, span_warning("A container is already loaded into [src]!")) return if(!user.transferItemToLoc(I, src)) return beaker = I - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_notice("You insert [I] into [src].")) update_appearance() else return ..() diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 294c530ec75..4cd995b15f5 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -75,27 +75,27 @@ /obj/machinery/reagentgrinder/examine(mob/user) . = ..() if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) - . += "You're too far away to examine [src]'s contents and display!" + . += span_warning("You're too far away to examine [src]'s contents and display!") return if(operating) - . += "\The [src] is operating." + . += span_warning("\The [src] is operating.") return if(beaker || length(holdingitems)) - . += "\The [src] contains:" + . += span_notice("\The [src] contains:") if(beaker) - . += "- \A [beaker]." + . += span_notice("- \A [beaker].") for(var/i in holdingitems) var/obj/item/O = i - . += "- \A [O.name]." + . += span_notice("- \A [O.name].") if(!(machine_stat & (NOPOWER|BROKEN))) - . += "The status display reads:\n"+\ - "- Grinding reagents at [speed*100]%." + . += "[span_notice("The status display reads:")]\n"+\ + span_notice("- Grinding reagents at [speed*100]%.") if(beaker) for(var/datum/reagent/R in beaker.reagents.reagent_list) - . += "- [R.volume] units of [R.name]." + . += span_notice("- [R.volume] units of [R.name].") /obj/machinery/reagentgrinder/AltClick(mob/user) . = ..() @@ -154,12 +154,12 @@ if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - to_chat(user, "You add [B] to [src].") + to_chat(user, span_notice("You add [B] to [src].")) update_appearance() return TRUE //no afterattack if(holdingitems.len >= limit) - to_chat(user, "[src] is filled to capacity!") + to_chat(user, span_warning("[src] is filled to capacity!")) return TRUE //Fill machine with a bag! @@ -169,23 +169,23 @@ for(var/i in inserted) holdingitems[i] = TRUE if(!I.contents.len) - to_chat(user, "You empty [I] into [src].") + to_chat(user, span_notice("You empty [I] into [src].")) else - to_chat(user, "You fill [src] to the brim.") + to_chat(user, span_notice("You fill [src] to the brim.")) return TRUE if(!I.grind_results && !I.juice_results) if(user.combat_mode) return ..() else - to_chat(user, "You cannot grind [I] into reagents!") + to_chat(user, span_warning("You cannot grind [I] into reagents!")) return TRUE if(!I.grind_requirements(src)) //Error messages should be in the objects' definitions return if(user.transferItemToLoc(I, src)) - to_chat(user, "You add [I] to [src].") + to_chat(user, span_notice("You add [I] to [src].")) holdingitems[I] = TRUE return FALSE @@ -287,7 +287,7 @@ /obj/machinery/reagentgrinder/proc/juice_item(obj/item/I) //Juicing results can be found in respective object definitions if(I.on_juice(src) == -1) - to_chat(usr, "[src] shorts out as it tries to juice up [I], and transfers it back to storage.") + to_chat(usr, span_danger("[src] shorts out as it tries to juice up [I], and transfers it back to storage.")) return beaker.reagents.add_reagent_list(I.juice_results) remove_object(I) @@ -307,7 +307,7 @@ /obj/machinery/reagentgrinder/proc/grind_item(obj/item/I, mob/user) //Grind results can be found in respective object definitions if(I.on_grind(src) == -1) //Call on_grind() to change amount as needed, and stop grinding the item if it returns -1 - to_chat(usr, "[src] shorts out as it tries to grind up [I], and transfers it back to storage.") + to_chat(usr, span_danger("[src] shorts out as it tries to grind up [I], and transfers it back to storage.")) return beaker.reagents.add_reagent_list(I.grind_results) if(I.reagents) diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 7c67609593d..2f1235586d5 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -94,7 +94,7 @@ var/obj/item/reagent_containers/RC = I var/units = RC.reagents.trans_to(src, RC.amount_per_transfer_from_this, transfered_by = user) if(units) - to_chat(user, "You transfer [units] units of the solution to [src].") + to_chat(user, span_notice("You transfer [units] units of the solution to [src].")) return if(default_unfasten_wrench(user, I, 40)) on = FALSE diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index b9adb506532..ad1f0affbfa 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -220,7 +220,7 @@ Primarily used in reagents/reaction_agents /// Called when an overdose starts /datum/reagent/proc/overdose_start(mob/living/M) - to_chat(M, "You feel like you took too much of [name]!") + to_chat(M, span_userdanger("You feel like you took too much of [name]!")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/overdose, name) return diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index b6fca485aa9..6d11fa53110 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -59,14 +59,14 @@ All effects don't start immediately, but rather get worse over time; the rate is if(istype(exposed_obj, /obj/item/paper)) var/obj/item/paper/paperaffected = exposed_obj paperaffected.clearpaper() - to_chat(usr, "[paperaffected]'s ink washes away.") + to_chat(usr, span_notice("[paperaffected]'s ink washes away.")) if(istype(exposed_obj, /obj/item/book)) if(reac_volume >= 5) var/obj/item/book/affectedbook = exposed_obj affectedbook.dat = null - exposed_obj.visible_message("[exposed_obj]'s writing is washed away by [name]!") + exposed_obj.visible_message(span_notice("[exposed_obj]'s writing is washed away by [name]!")) else - exposed_obj.visible_message("[exposed_obj]'s ink is smeared by [name], but doesn't wash away!") + exposed_obj.visible_message(span_warning("[exposed_obj]'s ink is smeared by [name], but doesn't wash away!")) return ..() /datum/reagent/consumable/ethanol/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel. @@ -233,7 +233,7 @@ All effects don't start immediately, but rather get worse over time; the rate is return ..() /datum/reagent/consumable/ethanol/thirteenloko/overdose_start(mob/living/M) - to_chat(M, "Your entire body violently jitters as you start to feel queasy. You really shouldn't have drank all of that [name]!") + to_chat(M, span_userdanger("Your entire body violently jitters as you start to feel queasy. You really shouldn't have drank all of that [name]!")) M.Jitter(20) M.Stun(15) @@ -242,11 +242,11 @@ All effects don't start immediately, but rather get worse over time; the rate is var/obj/item/I = M.get_active_held_item() if(I) M.dropItemToGround(I) - to_chat(M, "Your hands jitter and you drop what you were holding!") + to_chat(M, span_notice("Your hands jitter and you drop what you were holding!")) M.Jitter(10) if(DT_PROB(3.5, delta_time)) - to_chat(M, "[pick("You have a really bad headache.", "Your eyes hurt.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]") + to_chat(M, span_notice("[pick("You have a really bad headache.", "Your eyes hurt.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]")) if(DT_PROB(2.5, delta_time) && iscarbon(M)) var/obj/item/organ/eyes/eyes = M.getorganslot(ORGAN_SLOT_EYES) @@ -254,23 +254,23 @@ All effects don't start immediately, but rather get worse over time; the rate is if(istype(eyes)) eyes.Remove(M) eyes.forceMove(get_turf(M)) - to_chat(M, "You double over in pain as you feel your eyeballs liquify in your head!") + to_chat(M, span_userdanger("You double over in pain as you feel your eyeballs liquify in your head!")) M.emote("scream") M.adjustBruteLoss(15) else - to_chat(M, "You scream in terror as you go blind!") + to_chat(M, span_userdanger("You scream in terror as you go blind!")) eyes.applyOrganDamage(eyes.maxHealth) M.emote("scream") if(DT_PROB(1.5, delta_time) && iscarbon(M)) - M.visible_message("[M] starts having a seizure!", "You have a seizure!") + M.visible_message(span_danger("[M] starts having a seizure!"), span_userdanger("You have a seizure!")) M.Unconscious(100) M.Jitter(350) if(DT_PROB(0.5, delta_time) && iscarbon(M)) var/datum/disease/D = new /datum/disease/heart_failure M.ForceContractDisease(D) - to_chat(M, "You're pretty sure you just felt your heart stop for a second there..") + to_chat(M, span_userdanger("You're pretty sure you just felt your heart stop for a second there..")) M.playsound_local(M, 'sound/effects/singlebeat.ogg', 100, 0) /datum/reagent/consumable/ethanol/vodka @@ -716,12 +716,12 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/brave_bull/on_mob_metabolize(mob/living/M) tough_text = pick("brawny", "tenacious", "tough", "hardy", "sturdy") //Tuff stuff - to_chat(M, "You feel [tough_text]!") + to_chat(M, span_notice("You feel [tough_text]!")) M.maxHealth += 10 //Brave Bull makes you sturdier, and thus capable of withstanding a tiny bit more punishment. M.health += 10 /datum/reagent/consumable/ethanol/brave_bull/on_mob_end_metabolize(mob/living/M) - to_chat(M, "You no longer feel [tough_text].") + to_chat(M, span_notice("You no longer feel [tough_text].")) M.maxHealth -= 10 M.health = min(M.health - 10, M.maxHealth) //This can indeed crit you if you're alive solely based on alchol ingestion @@ -740,7 +740,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_metabolize(mob/living/M) - to_chat(M, "You feel gentle warmth spread through your body!") + to_chat(M, span_notice("You feel gentle warmth spread through your body!")) light_holder = new(M) light_holder.set_light(3, 0.7, "#FFCC00") //Tequila Sunrise makes you radiate dim light, like a sunrise! @@ -752,7 +752,7 @@ All effects don't start immediately, but rather get worse over time; the rate is return ..() /datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_end_metabolize(mob/living/M) - to_chat(M, "The warmth in your body fades.") + to_chat(M, span_notice("The warmth in your body fades.")) QDEL_NULL(light_holder) /datum/reagent/consumable/ethanol/toxins_special @@ -851,7 +851,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(ishuman(M)) var/mob/living/carbon/human/H = M if(HAS_TRAIT(H, TRAIT_DWARF)) - to_chat(H, "Now THAT is MANLY!") + to_chat(H, span_notice("Now THAT is MANLY!")) boozepwr = 50 // will still smash but not as much. dorf_mode = TRUE @@ -1539,7 +1539,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(DT_PROB(10, delta_time)) M.adjustStaminaLoss(10) M.drop_all_held_items() - to_chat(M, "You cant feel your hands!") + to_chat(M, span_notice("You cant feel your hands!")) if(current_cycle > 5) if(DT_PROB(10, delta_time)) var/t = pickt() @@ -1551,7 +1551,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(!M.undergoing_cardiac_arrest() && M.can_heartattack()) M.set_heartattack(TRUE) if(M.stat == CONSCIOUS) - M.visible_message("[M] clutches at [M.p_their()] chest as if [M.p_their()] heart stopped!") + M.visible_message(span_userdanger("[M] clutches at [M.p_their()] chest as if [M.p_their()] heart stopped!")) . = TRUE ..() @@ -1774,9 +1774,9 @@ All effects don't start immediately, but rather get worse over time; the rate is L.adjustToxLoss(-1) L.adjustOxyLoss(-1) L.adjustStaminaLoss(-1) - L.visible_message("[L] shivers with renewed vigor!", "One taste of [lowertext(name)] fills you with energy!") + L.visible_message(span_warning("[L] shivers with renewed vigor!"), span_notice("One taste of [lowertext(name)] fills you with energy!")) if(!L.stat && heal_points == 20) //brought us out of softcrit - L.visible_message("[L] lurches to [L.p_their()] feet!", "Up and at 'em, kid.") + L.visible_message(span_danger("[L] lurches to [L.p_their()] feet!"), span_boldnotice("Up and at 'em, kid.")) /datum/reagent/consumable/ethanol/bastion_bourbon/on_mob_life(mob/living/L, delta_time, times_fired) if(L.health > 0) @@ -1899,7 +1899,7 @@ All effects don't start immediately, but rather get worse over time; the rate is for(var/obj/item/shield/theshield in thehuman.contents) mighty_shield = theshield mighty_shield.block_chance += 10 - to_chat(thehuman, "[theshield] appears polished, although you don't recall polishing it.") + to_chat(thehuman, span_notice("[theshield] appears polished, although you don't recall polishing it.")) return TRUE /datum/reagent/consumable/ethanol/alexander/on_mob_life(mob/living/L, delta_time, times_fired) @@ -1910,7 +1910,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/alexander/on_mob_end_metabolize(mob/living/L) if(mighty_shield) mighty_shield.block_chance -= 10 - to_chat(L,"You notice [mighty_shield] looks worn again. Weird.") + to_chat(L,span_notice("You notice [mighty_shield] looks worn again. Weird.")) ..() /datum/reagent/consumable/ethanol/amaretto_alexander @@ -2305,7 +2305,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/turbo/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(2, delta_time)) - to_chat(M, "[pick("You feel disregard for the rule of law.", "You feel pumped!", "Your head is pounding.", "Your thoughts are racing..")]") + to_chat(M, span_notice("[pick("You feel disregard for the rule of law.", "You feel pumped!", "Your head is pounding.", "Your thoughts are racing..")]")) M.adjustStaminaLoss(-0.25 * M.drunkenness * REM * delta_time) return ..() @@ -2335,7 +2335,7 @@ All effects don't start immediately, but rather get worse over time; the rate is metabolizer.update_hair() if(metabolizer.age > 969) //Best not let people get older than this or i might incur G-ds wrath - metabolizer.visible_message("[metabolizer] becomes older than any man should be.. and crumbles into dust!") + metabolizer.visible_message(span_notice("[metabolizer] becomes older than any man should be.. and crumbles into dust!")) metabolizer.dust(just_ash = FALSE, drop_items = TRUE, force = FALSE) return ..() diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 98d942d7927..db96be439f8 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -50,26 +50,26 @@ var/list/RockPaperScissors = list("rock" = "paper", "paper" = "scissors", "scissors" = "rock") //choice = loses to if(M.apply_status_effect(/datum/status_effect/necropolis_curse,CURSE_BLINDING)) helbent = TRUE - to_chat(M, "Malevolent spirits appear before you, bartering your life in a 'friendly' game of rock, paper, scissors. Which do you choose?") + to_chat(M, span_hierophant("Malevolent spirits appear before you, bartering your life in a 'friendly' game of rock, paper, scissors. Which do you choose?")) var/timeisticking = world.time var/RPSchoice = input(M, "Janken Time! You have 60 Seconds to Choose!", "Rock Paper Scissors",null) as null|anything in RockPaperScissors if(QDELETED(M) || (timeisticking+(1.1 MINUTES) < world.time)) reaping = FALSE return //good job, you ruined it if(!RPSchoice) - to_chat(M, "You decide to not press your luck, but the spirits remain... hopefully they'll go away soon.") + to_chat(M, span_hierophant("You decide to not press your luck, but the spirits remain... hopefully they'll go away soon.")) reaping = FALSE return var/grim = pick(RockPaperScissors) if(grim == RPSchoice) //You Tied! - to_chat(M, "You tie, and the malevolent spirits disappear... for now.") + to_chat(M, span_hierophant("You tie, and the malevolent spirits disappear... for now.")) reaping = FALSE else if(RockPaperScissors[RPSchoice] == grim) //You lost! - to_chat(M, "You lose, and the malevolent spirits smirk eerily as they surround your body.") + to_chat(M, span_hierophant("You lose, and the malevolent spirits smirk eerily as they surround your body.")) M.dust() return else //VICTORY ROYALE - to_chat(M, "You win, and the malevolent spirits fade away as well as your wounds.") + to_chat(M, span_hierophant("You win, and the malevolent spirits fade away as well as your wounds.")) M.client.give_award(/datum/award/achievement/misc/helbitaljanken, M) M.revive(full_heal = TRUE, admin_revive = FALSE) holder.del_reagent(type) @@ -137,7 +137,7 @@ if(M.getStaminaLoss() >= 80) M.drowsyness += 1 * REM * delta_time if(M.getStaminaLoss() >= 100) - to_chat(M,"You feel more tired than you usually do, perhaps if you rest your eyes for a bit...") + to_chat(M,span_warning("You feel more tired than you usually do, perhaps if you rest your eyes for a bit...")) M.adjustStaminaLoss(-100, TRUE) M.Sleeping(10 SECONDS) ..() @@ -485,7 +485,7 @@ iter_wound.on_synthflesh(reac_volume) carbies.adjustToxLoss((harmies+burnies)*(0.5 + (0.25*(1-creation_purity)))) //0.5 - 0.75 if(show_message) - to_chat(carbies, "You feel your burns and bruises healing! It stings like hell!") + to_chat(carbies, span_danger("You feel your burns and bruises healing! It stings like hell!")) SEND_SIGNAL(carbies, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) if(HAS_TRAIT_FROM(exposed_mob, TRAIT_HUSK, BURN) && carbies.getFireLoss() < UNHUSK_DAMAGE_THRESHOLD && (carbies.reagents.get_reagent_amount(/datum/reagent/medicine/c2/synthflesh) + reac_volume >= SYNTHFLESH_UNHUSK_AMOUNT)) carbies.cure_husk(BURN) @@ -539,11 +539,11 @@ H.Dizzy(rand(0, 2) * REM * delta_time) if(DT_PROB(18, delta_time)) - to_chat(H,"Your body is trying to give up, but your heart is still beating!") + to_chat(H,span_danger("Your body is trying to give up, but your heart is still beating!")) if(H.health <= (H.crit_threshold + HEALTH_THRESHOLD_FULLCRIT*(2*normalise_creation_purity()))) //certain death below this threshold REMOVE_TRAIT(H, TRAIT_STABLEHEART, type) //we have to remove the stable heart trait before we give them a heart attack - to_chat(H,"You feel something rupturing inside your chest!") + to_chat(H,span_danger("You feel something rupturing inside your chest!")) H.emote("scream") H.set_heartattack(TRUE) volume = 0 diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 7aaf29b8f49..6783fc18c6a 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -188,7 +188,7 @@ /datum/reagent/consumable/superlaughter/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(16, delta_time)) - M.visible_message("[M] bursts out into a fit of uncontrollable laughter!", "You burst out in a fit of uncontrollable laughter!") + M.visible_message(span_danger("[M] bursts out into a fit of uncontrollable laughter!"), span_userdanger("You burst out in a fit of uncontrollable laughter!")) M.Stun(5) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "chemical_laughter", /datum/mood_event/chemical_superlaughter) ..() @@ -347,7 +347,7 @@ /datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(2.5, delta_time)) - to_chat(M, "[pick("You remember to square your shoulders.","You remember to keep your head down.","You can't decide between squaring your shoulders and keeping your head down.","You remember to relax.","You think about how someday you'll get two strokes off your golf game.")]") + to_chat(M, span_notice("[pick("You remember to square your shoulders.","You remember to keep your head down.","You can't decide between squaring your shoulders and keeping your head down.","You remember to relax.","You think about how someday you'll get two strokes off your golf game.")]")) ..() . = TRUE diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 6dd8a33a3d4..71d02f917d3 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -26,7 +26,7 @@ ..() /datum/reagent/drug/space_drugs/overdose_start(mob/living/M) - to_chat(M, "You start tripping hard!") + to_chat(M, span_userdanger("You start tripping hard!")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/overdose, name) /datum/reagent/drug/space_drugs/overdose_process(mob/living/M, delta_time, times_fired) @@ -57,7 +57,7 @@ /datum/reagent/drug/nicotine/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(0.5, delta_time)) var/smoke_message = pick("You feel relaxed.", "You feel calmed.","You feel alert.","You feel rugged.") - to_chat(M, "[smoke_message]") + to_chat(M, span_notice("[smoke_message]")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name) M.Jitter(0) //calms down any withdrawal jitters M.AdjustStun(-50 * REM * delta_time) @@ -87,7 +87,7 @@ /datum/reagent/drug/crank/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(2.5, delta_time)) var/high_message = pick("You feel jittery.", "You feel like you gotta go fast.", "You feel like you need to step it up.") - to_chat(M, "[high_message]") + to_chat(M, span_notice("[high_message]")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name) M.AdjustStun(-20 * REM * delta_time) M.AdjustKnockdown(-20 * REM * delta_time) @@ -118,11 +118,11 @@ /datum/reagent/drug/krokodil/on_mob_life(mob/living/carbon/M, delta_time, times_fired) var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.") if(DT_PROB(2.5, delta_time)) - to_chat(M, "[high_message]") + to_chat(M, span_notice("[high_message]")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smacked out", /datum/mood_event/narcotic_heavy, name) if(current_cycle == 35 && creation_purity <= 0.6) if(!istype(M.dna.species, /datum/species/krokodil_addict)) - to_chat(M, "Your skin falls off easily!") + to_chat(M, span_userdanger("Your skin falls off easily!")) M.adjustBruteLoss(50*REM, 0) // holy shit your skin just FELL THE FUCK OFF M.set_species(/datum/species/krokodil_addict) ..() @@ -157,7 +157,7 @@ /datum/reagent/drug/methamphetamine/on_mob_life(mob/living/carbon/M, delta_time, times_fired) var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.") if(DT_PROB(2.5, delta_time)) - to_chat(M, "[high_message]") + to_chat(M, span_notice("[high_message]")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name) M.AdjustStun(-40 * REM * delta_time) M.AdjustKnockdown(-40 * REM * delta_time) @@ -179,7 +179,7 @@ if(DT_PROB(10, delta_time)) M.emote("laugh") if(DT_PROB(18, delta_time)) - M.visible_message("[M]'s hands flip out and flail everywhere!") + M.visible_message(span_danger("[M]'s hands flip out and flail everywhere!")) M.drop_all_held_items() ..() M.adjustToxLoss(1 * REM * delta_time, 0) @@ -217,7 +217,7 @@ /datum/reagent/drug/bath_salts/on_mob_life(mob/living/carbon/M, delta_time, times_fired) var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.") if(DT_PROB(2.5, delta_time)) - to_chat(M, "[high_message]") + to_chat(M, span_notice("[high_message]")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "salted", /datum/mood_event/stimulant_heavy, name) M.adjustStaminaLoss(-5 * REM * delta_time, 0) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4 * REM * delta_time) @@ -250,7 +250,7 @@ /datum/reagent/drug/aranesp/on_mob_life(mob/living/carbon/M, delta_time, times_fired) var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.") if(DT_PROB(2.5, delta_time)) - to_chat(M, "[high_message]") + to_chat(M, span_notice("[high_message]")) M.adjustStaminaLoss(-18 * REM * delta_time, 0) M.adjustToxLoss(0.5 * REM * delta_time, 0) if(DT_PROB(30, delta_time)) @@ -326,7 +326,7 @@ M.Jitter(5 * REM * delta_time) if(DT_PROB(2.5, delta_time)) - to_chat(M, "[pick("Go! Go! GO!", "You feel ready...", "You feel invincible...")]") + to_chat(M, span_notice("[pick("Go! Go! GO!", "You feel ready...", "You feel invincible...")]")) if(DT_PROB(7.5, delta_time)) M.losebreath++ M.adjustToxLoss(2, 0) @@ -334,7 +334,7 @@ . = TRUE /datum/reagent/drug/pumpup/overdose_start(mob/living/M) - to_chat(M, "You can't stop shaking, your heart beats faster and faster...") + to_chat(M, span_userdanger("You can't stop shaking, your heart beats faster and faster...")) /datum/reagent/drug/pumpup/overdose_process(mob/living/M, delta_time, times_fired) M.Jitter(5 * REM * delta_time) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index f8d478f5c45..13944367610 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -151,9 +151,9 @@ if(!isitem(exposed_obj) || istype(exposed_obj, /obj/item/food/deepfryholder)) return if(is_type_in_typecache(exposed_obj, GLOB.oilfry_blacklisted_items) || (exposed_obj.resistance_flags & INDESTRUCTIBLE)) - exposed_obj.loc.visible_message("The hot oil has no effect on [exposed_obj]!") + exposed_obj.loc.visible_message(span_notice("The hot oil has no effect on [exposed_obj]!")) return - exposed_obj.loc.visible_message("[exposed_obj] rapidly fries as it's splashed with hot oil! Somehow.") + exposed_obj.loc.visible_message(span_warning("[exposed_obj] rapidly fries as it's splashed with hot oil! Somehow.")) var/obj/item/food/deepfryholder/fry_target = new(exposed_obj.drop_location(), exposed_obj) fry_target.fry(volume) fry_target.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume) @@ -168,8 +168,8 @@ oil_damage *= max(1 - touch_protection, 0) var/FryLoss = round(min(38, oil_damage * reac_volume)) if(!HAS_TRAIT(exposed_mob, TRAIT_OIL_FRIED)) - exposed_mob.visible_message("The boiling oil sizzles as it covers [exposed_mob]!", \ - "You're covered in boiling oil!") + exposed_mob.visible_message(span_warning("The boiling oil sizzles as it covers [exposed_mob]!"), \ + span_userdanger("You're covered in boiling oil!")) if(FryLoss) exposed_mob.emote("scream") playsound(exposed_mob, 'sound/machines/fryer/deep_fryer_emerge.ogg', 25, TRUE) @@ -207,7 +207,7 @@ mytray.adjustPests(rand(1,2)) /datum/reagent/consumable/sugar/overdose_start(mob/living/M) - to_chat(M, "You go into hyperglycaemic shock! Lay off the twinkies!") + to_chat(M, span_userdanger("You go into hyperglycaemic shock! Lay off the twinkies!")) M.AdjustSleeping(600) . = TRUE @@ -361,7 +361,7 @@ if(methods & INGEST) if(!holder.has_reagent(/datum/reagent/consumable/milk)) if(prob(15)) - to_chat(exposed_mob, "[pick("Your head pounds.", "Your mouth feels like it's on fire.", "You feel dizzy.")]") + to_chat(exposed_mob, span_danger("[pick("Your head pounds.", "Your mouth feels like it's on fire.", "You feel dizzy.")]")) if(prob(10)) victim.blur_eyes(1) if(prob(10)) @@ -372,7 +372,7 @@ /datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(!holder.has_reagent(/datum/reagent/consumable/milk)) if(DT_PROB(5, delta_time)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]") + M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]")) ..() /datum/reagent/consumable/salt @@ -452,7 +452,7 @@ /datum/reagent/consumable/garlic/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(isvampire(M)) //incapacitating but not lethal. Unfortunately, vampires cannot vomit. if(DT_PROB(min(current_cycle/2, 12.5), delta_time)) - to_chat(M, "You can't get the scent of garlic out of your nose! You can barely think...") + to_chat(M, span_danger("You can't get the scent of garlic out of your nose! You can barely think...")) M.Paralyze(10) M.Jitter(10) else @@ -686,10 +686,10 @@ return if(!exposed_mob.getorganslot(ORGAN_SLOT_EYES)) //can't blind somebody with no eyes - to_chat(exposed_mob, "Your eye sockets feel wet.") + to_chat(exposed_mob, span_notice("Your eye sockets feel wet.")) else if(!exposed_mob.eye_blurry) - to_chat(exposed_mob, "Tears well up in your eyes!") + to_chat(exposed_mob, span_warning("Tears well up in your eyes!")) exposed_mob.blind_eyes(2) exposed_mob.blur_eyes(5) @@ -698,7 +698,7 @@ if(M.eye_blurry) //Don't worsen vision if it was otherwise fine M.blur_eyes(4 * REM * delta_time) if(DT_PROB(5, delta_time)) - to_chat(M, "Your eyes sting!") + to_chat(M, span_warning("Your eyes sting!")) M.blind_eyes(2) diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm index 79eec1d3441..f4e014b4ace 100644 --- a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm @@ -62,7 +62,7 @@ //Warns you about the impenting hands /datum/reagent/inverse/helgrasp/on_mob_add(mob/living/L, amount) - to_chat(L, "You hear laughter as malevolent hands apparate before you, eager to drag you down to hell...! Look out!") + to_chat(L, span_hierophant("You hear laughter as malevolent hands apparate before you, eager to drag you down to hell...! Look out!")) playsound(L.loc, 'sound/chemistry/ahaha.ogg', 80, TRUE, -1) //Very obvious tell so people can be ready . = ..() @@ -226,7 +226,7 @@ Basically, we fill the time between now and 2s from now with hands based off the /datum/reagent/inverse/ichiyuri/on_mob_life(mob/living/carbon/owner, delta_time, times_fired) if(prob(resetting_probability) && !(HAS_TRAIT(owner, TRAIT_RESTRAINED) || owner.incapacitated())) if(spammer < world.time) - to_chat(owner,"You can't help but itch yourself.") + to_chat(owner,span_warning("You can't help but itch yourself.")) spammer = world.time + (10 SECONDS) var/scab = rand(1,7) owner.adjustBruteLoss(scab*REM) @@ -333,7 +333,7 @@ Basically, we fill the time between now and 2s from now with hands based off the /datum/reagent/inverse/healing/tirimol/on_mob_delete(mob/living/owner) if(owner.IsSleeping()) - owner.visible_message("[icon2html(owner, viewers(DEFAULT_MESSAGE_RANGE, src))] [owner] lets out a hearty snore!")//small way of letting people know the supersnooze is ended + owner.visible_message(span_notice("[icon2html(owner, viewers(DEFAULT_MESSAGE_RANGE, src))] [owner] lets out a hearty snore!"))//small way of letting people know the supersnooze is ended for(var/datum/reagent/reagent as anything in cached_reagent_list) if(!reagent) continue @@ -546,7 +546,7 @@ Basically, we fill the time between now and 2s from now with hands based off the if(owner.health < -500 || heart.organ_flags & ORGAN_FAILING)//Honestly commendable if you get -500 explosion(owner, light_impact_range = 1) qdel(heart) - owner.visible_message("[owner]'s heart explodes!") + owner.visible_message(span_boldwarning("[owner]'s heart explodes!")) return ..() /datum/reagent/inverse/penthrite/overdose_start(mob/living/carbon/owner) @@ -559,7 +559,7 @@ Basically, we fill the time between now and 2s from now with hands based off the return ..() explosion(owner, light_impact_range = 1) qdel(heart) - owner.visible_message("[owner]'s heart explodes!") + owner.visible_message(span_boldwarning("[owner]'s heart explodes!")) return..() /datum/reagent/inverse/penthrite/proc/remove_buffs(mob/living/carbon/owner) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 13585596ee3..52ec78812d7 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -61,7 +61,7 @@ if(1 to 32) mytray.mutatepest(user) else if(prob(20)) - mytray.visible_message("Nothing happens...") + mytray.visible_message(span_warning("Nothing happens...")) /datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M, delta_time, times_fired) M.heal_bodypart_damage(5 * REM * delta_time, 5 * REM * delta_time) @@ -264,7 +264,7 @@ var/mob/living/carbon/patient = exposed_mob if(reac_volume >= 5 && HAS_TRAIT_FROM(patient, TRAIT_HUSK, BURN) && patient.getFireLoss() < UNHUSK_DAMAGE_THRESHOLD) //One carp yields 12u rezadone. patient.cure_husk(BURN) - patient.visible_message("[patient]'s body rapidly absorbs moisture from the environment, taking on a more healthy appearance.") + patient.visible_message(span_nicegreen("[patient]'s body rapidly absorbs moisture from the environment, taking on a more healthy appearance.")) /datum/reagent/medicine/spaceacillin name = "Spaceacillin" @@ -331,11 +331,11 @@ /datum/reagent/medicine/salglu_solution/overdose_process(mob/living/M, delta_time, times_fired) if(DT_PROB(1.5, delta_time)) - to_chat(M, "You feel salty.") + to_chat(M, span_warning("You feel salty.")) holder.add_reagent(/datum/reagent/consumable/salt, 1) holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5) else if(DT_PROB(1.5, delta_time)) - to_chat(M, "You feel sweet.") + to_chat(M, span_warning("You feel sweet.")) holder.add_reagent(/datum/reagent/consumable/sugar, 1) holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5) if(DT_PROB(18, delta_time)) @@ -368,7 +368,7 @@ if(methods & (INGEST|VAPOR|INJECT)) exposed_mob.adjust_nutrition(-5) if(show_message) - to_chat(exposed_mob, "Your stomach feels empty and cramps!") + to_chat(exposed_mob, span_warning("Your stomach feels empty and cramps!")) if(methods & (PATCH|TOUCH)) var/mob/living/carbon/exposed_carbon = exposed_mob @@ -377,7 +377,7 @@ surgery.speed_modifier = max(0.1, surgery.speed_modifier) if(show_message) - to_chat(exposed_carbon, "You feel your injuries fade away to nothing!" ) + to_chat(exposed_carbon, span_danger("You feel your injuries fade away to nothing!") ) /datum/reagent/medicine/mine_salve/on_mob_end_metabolize(mob/living/M) if(iscarbon(M)) @@ -537,7 +537,7 @@ if(DT_PROB(10 * (1-creation_purity), delta_time) && iscarbon(M)) var/obj/item/I = M.get_active_held_item() if(I && M.dropItemToGround(I)) - to_chat(M, "Your hands spaz out and you drop what you were holding!") + to_chat(M, span_notice("Your hands spaz out and you drop what you were holding!")) M.Jitter(10) M.AdjustAllImmobility(-20 * REM * delta_time * normalise_creation_purity()) @@ -549,11 +549,11 @@ if(DT_PROB(1 * normalise_creation_purity(), delta_time) && iscarbon(M)) var/datum/disease/D = new /datum/disease/heart_failure M.ForceContractDisease(D) - to_chat(M, "You're pretty sure you just felt your heart stop for a second there..") + to_chat(M, span_userdanger("You're pretty sure you just felt your heart stop for a second there..")) M.playsound_local(M, 'sound/effects/singlebeat.ogg', 100, 0) if(DT_PROB(3.5 * normalise_creation_purity(), delta_time)) - to_chat(M, "[pick("Your head pounds.", "You feel a tight pain in your chest.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]") + to_chat(M, span_notice("[pick("Your head pounds.", "You feel a tight pain in your chest.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]")) if(DT_PROB(18 * normalise_creation_purity(), delta_time)) M.adjustToxLoss(1, 0) @@ -601,7 +601,7 @@ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_medium, name) switch(current_cycle) if(11) - to_chat(M, "You start to feel tired..." ) + to_chat(M, span_warning("You start to feel tired...") ) if(12 to 24) M.drowsyness += 1 * REM * delta_time if(24 to INFINITY) @@ -683,12 +683,12 @@ eyes.applyOrganDamage(-2 * REM * delta_time * normalise_creation_purity()) if(HAS_TRAIT_FROM(owner, TRAIT_BLIND, EYE_DAMAGE)) if(DT_PROB(fix_prob, delta_time)) - to_chat(owner, "Your vision slowly returns...") + to_chat(owner, span_warning("Your vision slowly returns...")) owner.cure_blind(EYE_DAMAGE) owner.cure_nearsighted(EYE_DAMAGE) owner.blur_eyes(35) else if(HAS_TRAIT_FROM(owner, TRAIT_NEARSIGHT, EYE_DAMAGE)) - to_chat(owner, "The blackness in your peripheral vision fades.") + to_chat(owner, span_warning("The blackness in your peripheral vision fades.")) owner.cure_nearsighted(EYE_DAMAGE) owner.blur_eyes(10) ..() @@ -838,16 +838,16 @@ if(exposed_mob.stat != DEAD) return ..() if(exposed_mob.suiciding) //they are never coming back - exposed_mob.visible_message("[exposed_mob]'s body does not react...") + exposed_mob.visible_message(span_warning("[exposed_mob]'s body does not react...")) return if(iscarbon(exposed_mob) && !(methods & INGEST)) //simplemobs can still be splashed return ..() var/amount_to_revive = round((exposed_mob.getBruteLoss()+exposed_mob.getFireLoss())/20) if(exposed_mob.getBruteLoss()+exposed_mob.getFireLoss() >= 200 || HAS_TRAIT(exposed_mob, TRAIT_HUSK) || reac_volume < amount_to_revive) //body will die from brute+burn on revive or you haven't provided enough to revive. - exposed_mob.visible_message("[exposed_mob]'s body convulses a bit, and then falls still once more.") + exposed_mob.visible_message(span_warning("[exposed_mob]'s body convulses a bit, and then falls still once more.")) exposed_mob.do_jitter_animation(10) return - exposed_mob.visible_message("[exposed_mob]'s body starts convulsing!") + exposed_mob.visible_message(span_warning("[exposed_mob]'s body starts convulsing!")) exposed_mob.notify_ghost_cloning("Your body is being revived with Strange Reagent!") exposed_mob.do_jitter_animation(10) var/excess_healing = 5*(reac_volume-amount_to_revive) //excess reagent will heal blood and organs across the board @@ -889,7 +889,7 @@ . = ..() /datum/reagent/medicine/mannitol/overdose_start(mob/living/owner) - to_chat(owner, "You suddenly feel E N L I G H T E N E D!") + to_chat(owner, span_notice("You suddenly feel E N L I G H T E N E D!")) /datum/reagent/medicine/mannitol/overdose_process(mob/living/owner, delta_time, times_fired) if(DT_PROB(65, delta_time)) @@ -902,7 +902,7 @@ else tips = world.file2list("strings/chemistrytips.txt") var/message = pick(tips) - to_chat(owner, "Tip of the round: [html_encode(message)]") + to_chat(owner, span_purple("Tip of the round: [html_encode(message)]")) ..() /datum/reagent/medicine/neurine @@ -1314,7 +1314,7 @@ ..() /datum/reagent/medicine/modafinil/overdose_start(mob/living/M) - to_chat(M, "You feel awfully out of breath and jittery!") + to_chat(M, span_userdanger("You feel awfully out of breath and jittery!")) metabolization_rate = 0.025 * REAGENTS_METABOLISM // sets metabolism to 0.005 per second on overdose /datum/reagent/medicine/modafinil/overdose_process(mob/living/M, delta_time, times_fired) @@ -1335,11 +1335,11 @@ if(DT_PROB(30, delta_time)) M.losebreath++ if(DT_PROB(10, delta_time)) - to_chat(M, "You have a sudden fit!") + to_chat(M, span_userdanger("You have a sudden fit!")) M.emote("moan") M.Paralyze(20) // you should be in a bad spot at this point unless epipen has been used if(81) - to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal + to_chat(M, span_userdanger("You feel too exhausted to continue!")) // at this point you will eventually die unless you get charcoal M.adjustOxyLoss(0.1 * REM * delta_time, 0) M.adjustStaminaLoss(0.1 * REM * delta_time, 0) if(82 to INFINITY) @@ -1506,7 +1506,7 @@ if(bloodiest_wound) if(!was_working) - to_chat(M, "You can feel your flowing blood start thickening!") + to_chat(M, span_green("You can feel your flowing blood start thickening!")) was_working = TRUE bloodiest_wound.blood_flow = max(0, bloodiest_wound.blood_flow - (clot_rate * REM * delta_time)) else if(was_working) @@ -1521,9 +1521,9 @@ M.losebreath += rand(2, 4) M.adjustOxyLoss(rand(1, 3)) if(prob(30)) - to_chat(M, "You can feel your blood clotting up in your veins!") + to_chat(M, span_danger("You can feel your blood clotting up in your veins!")) else if(prob(10)) - to_chat(M, "You feel like your blood has stopped moving!") + to_chat(M, span_userdanger("You feel like your blood has stopped moving!")) M.adjustOxyLoss(rand(3, 4)) if(prob(50)) @@ -1542,7 +1542,7 @@ /datum/reagent/medicine/coagulant/on_mob_end_metabolize(mob/living/M) if(was_working) - to_chat(M, "The medicine thickening your blood loses its effect!") + to_chat(M, span_warning("The medicine thickening your blood loses its effect!")) if(!ishuman(M)) return diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 952e872167a..edebb913acd 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -255,7 +255,7 @@ /datum/reagent/water/holywater/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume) . = ..() if(IS_CULTIST(exposed_mob)) - to_chat(exposed_mob, "A vile holiness begins to spread its shining tendrils through your mind, purging the Geometer of Blood's influence!") + to_chat(exposed_mob, span_userdanger("A vile holiness begins to spread its shining tendrils through your mind, purging the Geometer of Blood's influence!")) /datum/reagent/water/holywater/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(M.blood_volume) @@ -267,7 +267,7 @@ M.jitteriness = min(M.jitteriness + (2 * delta_time), 10) if(IS_CULTIST(M)) for(var/datum/action/innate/cult/blood_magic/BM in M.actions) - to_chat(M, "Your blood rites falter as holy water scours your body!") + to_chat(M, span_cultlarge("Your blood rites falter as holy water scours your body!")) for(var/datum/action/innate/cult/blood_spell/BS in BM.spells) qdel(BS) if(data["misc"] >= (25 SECONDS)) // 10 units @@ -278,7 +278,7 @@ if(IS_CULTIST(M) && DT_PROB(10, delta_time)) M.say(pick("Av'te Nar'Sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","R'ge Na'sie","Diabo us Vo'iscum","Eld' Mon Nobis"), forced = "holy water") if(prob(10)) - M.visible_message("[M] starts having a seizure!", "You have a seizure!") + M.visible_message(span_danger("[M] starts having a seizure!"), span_userdanger("You have a seizure!")) M.Unconscious(12 SECONDS) to_chat(M, "[pick("Your blood is your bond - you are nothing without it", "Do not forget your place", \ "All that power, and you still fail?", "If you cannot scour this poison, I shall scour your meager life!")].") @@ -489,7 +489,7 @@ exposed_human.regenerate_icons() if((methods & INGEST) && show_message) - to_chat(exposed_mob, "That tasted horrible.") + to_chat(exposed_mob, span_notice("That tasted horrible.")) /datum/reagent/spraytan/overdose_process(mob/living/M, delta_time, times_fired) @@ -557,13 +557,13 @@ for(var/i in mutationtexts) if(mutationtexts[i] == filter) pick_ur_fav += i - to_chat(H, "[pick(pick_ur_fav)]") + to_chat(H, span_warning("[pick(pick_ur_fav)]")) if(current_cycle >= cycles_to_turn) var/datum/species/species_type = race H.set_species(species_type) holder.del_reagent(type) - to_chat(H, "You've become \a [lowertext(initial(species_type.name))]!") + to_chat(H, span_warning("You've become \a [lowertext(initial(species_type.name))]!")) return ..() @@ -623,7 +623,7 @@ /datum/reagent/mutationtoxin/jelly/on_mob_life(mob/living/carbon/human/H, delta_time, times_fired) if(isjellyperson(H)) - to_chat(H, "Your jelly shifts and morphs, turning you into another subspecies!") + to_chat(H, span_warning("Your jelly shifts and morphs, turning you into another subspecies!")) var/species_type = pick(subtypesof(/datum/species/jelly)) H.set_species(species_type) holder.del_reagent(type) @@ -632,7 +632,7 @@ var/datum/species/species_type = pick(subtypesof(race)) H.set_species(species_type) holder.del_reagent(type) - to_chat(H, "You've become \a [initial(species_type.name)]!") + to_chat(H, span_warning("You've become \a [initial(species_type.name)]!")) return TRUE return ..() @@ -718,7 +718,7 @@ ..() if (!istype(H)) return - to_chat(H, "You grit your teeth in pain as your body rapidly mutates!") + to_chat(H, span_warning("You grit your teeth in pain as your body rapidly mutates!")) H.visible_message("[H] suddenly transforms!") randomize_human(H) @@ -1088,7 +1088,7 @@ /datum/reagent/bluespace/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(current_cycle > 10 && DT_PROB(7.5, delta_time)) - to_chat(M, "You feel unstable...") + to_chat(M, span_warning("You feel unstable...")) M.Jitter(2) current_cycle = 1 addtimer(CALLBACK(M, /mob/living/proc/bluespace_shuffle), 30) @@ -2130,7 +2130,7 @@ var/mob/living/carbon/human/exposed_human = exposed_mob var/datum/sprite_accessory/hair/picked_hair = pick(GLOB.hairstyles_list) var/datum/sprite_accessory/facial_hair/picked_beard = pick(GLOB.facial_hairstyles_list) - to_chat(exposed_human, "Hair starts sprouting from your scalp.") + to_chat(exposed_human, span_notice("Hair starts sprouting from your scalp.")) exposed_human.hairstyle = picked_hair exposed_human.facial_hairstyle = picked_beard exposed_human.update_hair() @@ -2150,7 +2150,7 @@ return var/mob/living/carbon/human/exposed_human = exposed_mob - to_chat(exposed_human, "Your hair starts growing at an incredible speed!") + to_chat(exposed_human, span_notice("Your hair starts growing at an incredible speed!")) exposed_human.hairstyle = "Very Long Hair" exposed_human.facial_hairstyle = "Beard (Very Long)" exposed_human.update_hair() @@ -2170,7 +2170,7 @@ return var/mob/living/carbon/human/exposed_human = exposed_mob - to_chat(exposed_human, "Your hair is falling out in clumps!") + to_chat(exposed_human, span_danger("Your hair is falling out in clumps!")) exposed_human.hairstyle = "Bald" exposed_human.facial_hairstyle = "Shaved" exposed_human.update_hair() @@ -2524,7 +2524,7 @@ var/dread = pick("Something is moving in your stomach...", \ "A wet growl echoes from your stomach...", \ "For a moment you feel like your surroundings are moving, but it's your stomach...") - to_chat(C, "[dread]") + to_chat(C, span_userdanger("[dread]")) yuck_cycle = current_cycle else var/yuck_cycles = current_cycle - yuck_cycle diff --git a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm index e3d7ca809d5..71d1f008b75 100644 --- a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm @@ -33,13 +33,13 @@ if(!.) return if(target.ph <= ph) - target.my_atom.audible_message("The beaker froths as the buffer is added, to no effect.") + target.my_atom.audible_message(span_warning("The beaker froths as the buffer is added, to no effect.")) playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE) holder.remove_reagent(type, amount)//Remove from holder because it's not transfered return var/ph_change = -((amount/target.total_volume)*strength) target.adjust_all_reagents_ph(ph_change, ph, 14) - target.my_atom.audible_message("The beaker fizzes as the ph changes!") + target.my_atom.audible_message(span_warning("The beaker fizzes as the ph changes!")) playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE) holder.remove_reagent(type, amount) @@ -59,13 +59,13 @@ if(!.) return if(target.ph >= ph) - target.my_atom.audible_message("The beaker froths as the buffer is added, to no effect.") + target.my_atom.audible_message(span_warning("The beaker froths as the buffer is added, to no effect.")) playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE) holder.remove_reagent(type, amount)//Remove from holder because it's not transfered return var/ph_change = (amount/target.total_volume)*strength target.adjust_all_reagents_ph(ph_change, 0, ph) - target.my_atom.audible_message("The beaker froths as the ph changes!") + target.my_atom.audible_message(span_warning("The beaker froths as the ph changes!")) playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE) holder.remove_reagent(type, amount) @@ -97,10 +97,10 @@ if(reagent.purity <= reagent.inverse_chem_val) is_inverse = TRUE if(is_inverse) - target.my_atom.audible_message("The beaker bubbles violently as the reagent is added!") + target.my_atom.audible_message(span_warning("The beaker bubbles violently as the reagent is added!")) playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE) else - target.my_atom.audible_message("The added reagent doesn't seem to do much.") + target.my_atom.audible_message(span_warning("The added reagent doesn't seem to do much.")) holder.remove_reagent(type, amount) /datum/reagent/reaction_agent/speed_agent diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index b9d0bc22b42..488609b6beb 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -181,7 +181,7 @@ /datum/reagent/toxin/slimejelly/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(5, delta_time)) - to_chat(M, "Your insides are burning!") + to_chat(M, span_danger("Your insides are burning!")) M.adjustToxLoss(rand(20, 60), 0) . = TRUE else if(DT_PROB(23, delta_time)) @@ -565,7 +565,7 @@ if(DT_PROB(30, delta_time)) switch(pick(1, 2, 3, 4)) if(1) - to_chat(M, "You can barely see!") + to_chat(M, span_danger("You can barely see!")) M.blur_eyes(3) if(2) M.emote("cough") @@ -573,7 +573,7 @@ M.emote("sneeze") if(4) if(prob(75)) - to_chat(M, "You scratch at an itch.") + to_chat(M, span_danger("You scratch at an itch.")) M.adjustBruteLoss(2*REM, 0) . = TRUE ..() @@ -665,7 +665,7 @@ if(DT_PROB(2.5, delta_time)) M.losebreath += 1 if(DT_PROB(4, delta_time)) - to_chat(M, "You feel horrendously weak!") + to_chat(M, span_danger("You feel horrendously weak!")) M.Stun(40) M.adjustToxLoss(2*REM * normalise_creation_purity(), 0) return ..() @@ -696,15 +696,15 @@ /datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(8, delta_time)) - to_chat(M, "You scratch at your head.") + to_chat(M, span_danger("You scratch at your head.")) M.adjustBruteLoss(0.2*REM, 0) . = TRUE if(DT_PROB(8, delta_time)) - to_chat(M, "You scratch at your leg.") + to_chat(M, span_danger("You scratch at your leg.")) M.adjustBruteLoss(0.2*REM, 0) . = TRUE if(DT_PROB(8, delta_time)) - to_chat(M, "You scratch at your arm.") + to_chat(M, span_danger("You scratch at your arm.")) M.adjustBruteLoss(0.2*REM, 0) . = TRUE if(DT_PROB(1.5, delta_time)) @@ -738,7 +738,7 @@ if(!C.undergoing_cardiac_arrest() && C.can_heartattack()) C.set_heartattack(TRUE) if(C.stat == CONSCIOUS) - C.visible_message("[C] clutches at [C.p_their()] chest as if [C.p_their()] heart stopped!") + C.visible_message(span_userdanger("[C] clutches at [C.p_their()] chest as if [C.p_their()] heart stopped!")) else C.losebreath += 10 C.adjustOxyLoss(rand(5,25), 0) @@ -883,7 +883,7 @@ if(current_cycle >= 33 && DT_PROB(7.5, delta_time)) C.spew_organ() C.vomit(0, TRUE, TRUE, 4) - to_chat(C, "You feel something lumpy come up as you vomit.") + to_chat(C, span_userdanger("You feel something lumpy come up as you vomit.")) /datum/reagent/toxin/curare name = "Curare" @@ -1127,7 +1127,7 @@ if(2) M.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt.")) if(3) - to_chat(M, "Your bones hurt!") + to_chat(M, span_warning("Your bones hurt!")) return ..() /datum/reagent/toxin/bonehurtingjuice/overdose_process(mob/living/carbon/M, delta_time, times_fired) @@ -1136,11 +1136,11 @@ var/obj/item/bodypart/bp = M.get_bodypart(selected_part) if(bp) playsound(M, get_sfx("desecration"), 50, TRUE, -1) - M.visible_message("[M]'s bones hurt too much!!", "Your bones hurt too much!!") + M.visible_message(span_warning("[M]'s bones hurt too much!!"), span_danger("Your bones hurt too much!!")) M.say("OOF!!", forced = /datum/reagent/toxin/bonehurtingjuice) bp.receive_damage(20, 0, 200, wound_bonus = rand(30, 130)) else //SUCH A LUST FOR REVENGE!!! - to_chat(M, "A phantom limb hurts!") + to_chat(M, span_warning("A phantom limb hurts!")) M.say("Why are we still here, just to suffer?", forced = /datum/reagent/toxin/bonehurtingjuice) return ..() @@ -1159,7 +1159,7 @@ M.set_confusion(M.dizziness) //add a tertiary effect here if this is isn't an effective poison. if(current_cycle >= 12 && DT_PROB(4, delta_time)) var/tox_message = pick("You feel your heart spasm in your chest.", "You feel faint.","You feel you need to catch your breath.","You feel a prickle of pain in your chest.") - to_chat(M, "[tox_message]") + to_chat(M, span_notice("[tox_message]")) . = TRUE ..() @@ -1177,6 +1177,6 @@ M.adjustOrganLoss(ORGAN_SLOT_EARS, 1 * REM * delta_time) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * delta_time) if(DT_PROB(0.5, delta_time)) - to_chat(M, "Ah, what was that? You thought you heard something...") + to_chat(M, span_notice("Ah, what was that? You thought you heard something...")) M.add_confusion(5) return ..() diff --git a/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm b/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm index fe58e7db304..78d2ae75578 100644 --- a/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm +++ b/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm @@ -65,7 +65,7 @@ eigenstate.set_light(2) //hologram lighting location_return = get_turf(living_mob) //sets up return point - to_chat(living_mob, "You feel like part of yourself has split off!") + to_chat(living_mob, span_userdanger("You feel like part of yourself has split off!")) //Teleports you home if it's pure enough if(creation_purity > 0.9 && location_created && data["ingested"]) @@ -83,7 +83,7 @@ /datum/reagent/eigenstate/on_mob_delete(mob/living/living_mob) //returns back to original location do_sparks(5,FALSE,living_mob) - to_chat(living_mob, "You feel strangely whole again.") + to_chat(living_mob, span_userdanger("You feel strangely whole again.")) if(!living_mob.reagents.has_reagent(/datum/reagent/stabilizing_agent)) do_teleport(living_mob, location_return, 0, asoundin = 'sound/effects/phasein.ogg') //Teleports home do_sparks(5,FALSE,living_mob) @@ -91,7 +91,7 @@ return ..() /datum/reagent/eigenstate/overdose_start(mob/living/living_mob) //Overdose, makes you teleport randomly - to_chat(living_mob, "You feel like your perspective is being ripped apart as you begin flitting in and out of reality!") + to_chat(living_mob, span_userdanger("You feel like your perspective is being ripped apart as you begin flitting in and out of reality!")) living_mob.Jitter(20) metabolization_rate += 0.5 //So you're not stuck forever teleporting. if(iscarbon(living_mob)) diff --git a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm index c1c8a25f7e6..0bb6e655582 100644 --- a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm +++ b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm @@ -33,7 +33,7 @@ new /obj/effect/hotspot(holder.my_atom.loc) holder.remove_reagent(/datum/reagent/medicine/c2/helbital, 2) holder.chem_temp += 5 - holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The impurity of the reacting helbital is too great causing [holder.my_atom] to let out a hearty burst of flame, evaporating part of the product!") + holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The impurity of the reacting helbital is too great causing [holder.my_atom] to let out a hearty burst of flame, evaporating part of the product!")) /datum/chemical_reaction/medicine/helbital/overheated(datum/reagents/holder, datum/equilibrium/equilibrium, step_volume_added) . = ..()//drains product @@ -130,7 +130,7 @@ for(var/mob/living/living_mob in orange(3, get_turf(holder.my_atom))) if(living_mob.flash_act(1, length = 5)) living_mob.set_blurriness(10) - holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The [holder.my_atom] lets out a loud bang!") + holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The [holder.my_atom] lets out a loud bang!")) playsound(holder.my_atom, 'sound/effects/explosion1.ogg', 50, 1) /datum/chemical_reaction/medicine/hercuri @@ -300,7 +300,7 @@ var/datum/reagent/monover = holder.has_reagent(/datum/reagent/inverse/healing/monover) if(monover) holder.remove_reagent(/datum/reagent/inverse/healing/monover, monover.volume) - holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover bursts into flames from the heat!") + holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover bursts into flames from the heat!")) explode_fire_square(holder, equilibrium, 1) holder.my_atom.fire_act(holder.chem_temp, monover.volume)//I'm kinda banking on this setting the thing on fire. If you see this, then it didn't! @@ -311,7 +311,7 @@ var/norm_d_ph = 1-(delta_ph/0.35) holder.chem_temp += norm_d_ph*12 //0 - 48 per second) if(delta_ph < 0.1) - holder.my_atom.visible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover begins to glow!") + holder.my_atom.visible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover begins to glow!")) /datum/chemical_reaction/medicine/syriniver results = list(/datum/reagent/medicine/c2/syriniver = 5) diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index a2110fcc668..c924ac608a4 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -74,12 +74,12 @@ ///Calls it over and over /datum/chemical_reaction/medicine/inacusiate/overheated(datum/reagents/holder, datum/equilibrium/equilibrium, vol_added) - holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out a loud bang!") + holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out a loud bang!")) explode_deafen(holder, equilibrium, 0.5, 10, 3) /datum/chemical_reaction/medicine/inacusiate/overly_impure(datum/reagents/holder, datum/equilibrium/equilibrium, vol_added) var/power = equilibrium.reacted_vol/10 - holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out an ear-crushingly loud bang!") + holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out an ear-crushingly loud bang!")) explode_deafen(holder, equilibrium, power/2, power*2, max(power/2, 3)) clear_products(holder) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 9d20de8782a..1745c4466eb 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -326,7 +326,7 @@ reaction_flags = REACTION_INSTANT /datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - holder.create_foam(/datum/effect_system/foam_spread,2*created_volume,notification="The solution spews out foam!") + holder.create_foam(/datum/effect_system/foam_spread,2*created_volume,notification=span_danger("The solution spews out foam!")) reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE /datum/chemical_reaction/metalfoam @@ -336,7 +336,7 @@ reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE /datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,1,"The solution spews out a metallic foam!") + holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,1,span_danger("The solution spews out a metallic foam!")) /datum/chemical_reaction/smart_foam required_reagents = list(/datum/reagent/aluminium = 3, /datum/reagent/smart_foaming_agent = 1, /datum/reagent/toxin/acid/fluacid = 1) @@ -345,7 +345,7 @@ reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE /datum/chemical_reaction/smart_foam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - holder.create_foam(/datum/effect_system/foam_spread/metal/smart,5*created_volume,1,"The solution spews out metallic foam!") + holder.create_foam(/datum/effect_system/foam_spread/metal/smart,5*created_volume,1,span_danger("The solution spews out metallic foam!")) /datum/chemical_reaction/ironfoam required_reagents = list(/datum/reagent/iron = 3, /datum/reagent/foaming_agent = 1, /datum/reagent/toxin/acid/fluacid = 1) @@ -354,7 +354,7 @@ reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE /datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,2,"The solution spews out a metallic foam!") + holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,2,span_danger("The solution spews out a metallic foam!")) /datum/chemical_reaction/foaming_agent results = list(/datum/reagent/foaming_agent = 1) @@ -907,4 +907,4 @@ clear_products(holder, step_volume_added) return clear_products(holder, step_volume_added) - holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The reaction gives out a fizz, teleporting items everywhere!") + holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The reaction gives out a fizz, teleporting items everywhere!")) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 12bdd854177..feccf72d85e 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -131,13 +131,13 @@ deity = GLOB.deity else deity = "Christ" - to_chat(R, "The power of [deity] compels you!") + to_chat(R, span_userdanger("The power of [deity] compels you!")) R.stun(20) R.reveal(100) R.adjustHealth(50) for(var/mob/living/carbon/C in get_hearers_in_view(effective_size,T)) if(IS_CULTIST(C)) - to_chat(C, "The divine explosion sears you!") + to_chat(C, span_userdanger("The divine explosion sears you!")) C.Paralyze(40) C.adjust_fire_stacks(5) C.IgniteMob() diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 43bea67dab0..0d37e63c62f 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -25,7 +25,7 @@ /datum/chemical_reaction/slime/slimespawn/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/mob/living/simple_animal/slime/S = new(get_turf(holder.my_atom), "grey") - S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!") + S.visible_message(span_danger("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!")) ..() /datum/chemical_reaction/slime/slimeinaprov @@ -103,21 +103,21 @@ M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate violently!") + T.visible_message(span_danger("The slime extract begins to vibrate violently!")) addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN), 50) /datum/chemical_reaction/slime/slimemobspawn/lesser required_reagents = list(/datum/reagent/blood = 1) /datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate violently!") + T.visible_message(span_danger("The slime extract begins to vibrate violently!")) addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50) /datum/chemical_reaction/slime/slimemobspawn/friendly required_reagents = list(/datum/reagent/water = 1) /datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate adorably!") + T.visible_message(span_danger("The slime extract begins to vibrate adorably!")) addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50) /datum/chemical_reaction/slime/slimemobspawn/spider @@ -125,7 +125,7 @@ reaction_tags = REACTION_TAG_EASY | REACTION_TAG_SLIME | REACTION_TAG_DANGEROUS /datum/chemical_reaction/slime/slimemobspawn/spider/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate crikey-ingly!") + T.visible_message(span_danger("The slime extract begins to vibrate crikey-ingly!")) addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Traitor Spider Slime", /mob/living/simple_animal/hostile/giant_spider/midwife, "neutral", FALSE), 50) @@ -187,7 +187,7 @@ required_other = TRUE /datum/chemical_reaction/slime/slimefoam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - holder.create_foam(/datum/effect_system/foam_spread,80, "[src] spews out foam!") + holder.create_foam(/datum/effect_system/foam_spread,80, span_danger("[src] spews out foam!")) //Dark Blue /datum/chemical_reaction/slime/slimefreeze @@ -198,7 +198,7 @@ /datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime extract starts to feel extremely cold!") + T.visible_message(span_danger("The slime extract starts to feel extremely cold!")) addtimer(CALLBACK(src, .proc/freeze, holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) @@ -236,7 +236,7 @@ /datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime extract begins to vibrate adorably!") + T.visible_message(span_danger("The slime extract begins to vibrate adorably!")) addtimer(CALLBACK(src, .proc/slime_burn, holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) @@ -274,7 +274,7 @@ /datum/chemical_reaction/slime/slimeglow/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.") + T.visible_message(span_danger("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.")) new /obj/item/flashlight/slime(T) ..() @@ -323,12 +323,12 @@ /datum/chemical_reaction/slime/slimebloodlust/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null)) if(slime.docile) //Undoes docility, but doesn't make rabid. - slime.visible_message("[slime] forgets its training, becoming wild once again!") + slime.visible_message(span_danger("[slime] forgets its training, becoming wild once again!")) slime.docile = FALSE slime.update_name() continue slime.rabid = 1 - slime.visible_message("The [slime] is driven into a frenzy!") + slime.visible_message(span_danger("The [slime] is driven into a frenzy!")) ..() /datum/chemical_reaction/slime/slimespeed @@ -383,7 +383,7 @@ touch_msg = "[ADMIN_LOOKUPFLW(toucher)]." message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") - T.visible_message("The slime extract begins to vibrate violently !") + T.visible_message(span_danger("The slime extract begins to vibrate violently !")) addtimer(CALLBACK(src, .proc/boom, holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) @@ -449,7 +449,7 @@ /datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/obj/item/stack/ore/bluespace_crystal/BC = new (get_turf(holder.my_atom)) - BC.visible_message("The [BC.name] appears out of thin air!") + BC.visible_message(span_notice("The [BC.name] appears out of thin air!")) ..() /datum/chemical_reaction/slime/slimeradio @@ -549,13 +549,13 @@ /datum/chemical_reaction/slime/slime_rng/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) if(created_volume >= 5) var/obj/item/grenade/clusterbuster/slime/S = new (get_turf(holder.my_atom)) - S.visible_message("Infused with plasma, the core begins to expand uncontrollably!") + S.visible_message(span_danger("Infused with plasma, the core begins to expand uncontrollably!")) S.icon_state = "[S.base_state]_active" S.active = TRUE addtimer(CALLBACK(S, /obj/item/grenade.proc/detonate), rand(15,60)) else var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom)) - S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!") + S.visible_message(span_danger("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!")) ..() /datum/chemical_reaction/slime/slimebomb @@ -566,7 +566,7 @@ /datum/chemical_reaction/slime/slimebomb/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/turf/T = get_turf(holder.my_atom) var/obj/item/grenade/clusterbuster/slime/volatile/S = new (T) - S.visible_message("Infused with slime jelly, the core begins to expand uncontrollably!") + S.visible_message(span_danger("Infused with slime jelly, the core begins to expand uncontrollably!")) S.icon_state = "[S.base_state]_active" S.active = TRUE addtimer(CALLBACK(S, /obj/item/grenade.proc/detonate), rand(15,60)) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index ed6b63847e4..100e3d29dbb 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -32,9 +32,9 @@ /obj/item/reagent_containers/examine() . = ..() if(possible_transfer_amounts.len > 1) - . += "Left-click or right-click in-hand to increase or decrease its transfer amount." + . += span_notice("Left-click or right-click in-hand to increase or decrease its transfer amount.") else if(possible_transfer_amounts.len) - . += "Left-click or right-click in-hand to view its transfer amount." + . += span_notice("Left-click or right-click in-hand to view its transfer amount.") /obj/item/reagent_containers/create_reagents(max_vol, flags) . = ..() @@ -99,17 +99,17 @@ var/reagent_text user.visible_message( - "[user] splashes the contents of [src] onto [target][punctuation]", - "You splash the contents of [src] onto [target][punctuation]", + span_danger("[user] splashes the contents of [src] onto [target][punctuation]"), + span_danger("You splash the contents of [src] onto [target][punctuation]"), ignored_mobs = target, ) if (ismob(target)) var/mob/target_mob = target target_mob.show_message( - "[user] splash the contents of [src] onto you!", + span_userdanger("[user] splash the contents of [src] onto you!"), MSG_VISUAL, - "You feel drenched!", + span_userdanger("You feel drenched!"), ) for(var/datum/reagent/reagent as anything in reagents.reagent_list) @@ -137,7 +137,7 @@ covered = "mask" if(covered) var/who = (isnull(user) || eater == user) ? "your" : "[eater.p_their()]" - to_chat(user, "You have to remove [who] [covered] first!") + to_chat(user, span_warning("You have to remove [who] [covered] first!")) return FALSE return TRUE @@ -183,8 +183,8 @@ reagents.total_volume *= rand(5,10) * 0.1 //Not all of it makes contact with the target var/mob/M = target var/R - target.visible_message("[M] is splashed with something!", \ - "[M] is splashed with something!") + target.visible_message(span_danger("[M] is splashed with something!"), \ + span_userdanger("[M] is splashed with something!")) for(var/datum/reagent/A in reagents.reagent_list) R += "[A.type] ([num2text(A.volume)])," @@ -193,7 +193,7 @@ reagents.expose(target, TOUCH) else if(bartender_check(target) && thrown) - visible_message("[src] lands onto the [target.name] without spilling a single drop.") + visible_message(span_notice("[src] lands onto the [target.name] without spilling a single drop.")) return else @@ -201,7 +201,7 @@ log_combat(thrown_by, target, "splashed (thrown) [english_list(reagents.reagent_list)]", "in [AREACOORD(target)]") log_game("[key_name(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [AREACOORD(target)].") message_admins("[ADMIN_LOOKUPFLW(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [ADMIN_VERBOSEJMP(target)].") - visible_message("[src] spills its contents all over [target].") + visible_message(span_notice("[src] spills its contents all over [target].")) reagents.expose(target, TOUCH) if(QDELETED(src)) return diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 1a7195a3a39..f698ee6e9cf 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -69,7 +69,7 @@ /obj/item/reagent_containers/blood/attackby(obj/item/I, mob/user, params) if (istype(I, /obj/item/pen) || istype(I, /obj/item/toy/crayon)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on the label of [src]!") + to_chat(user, span_notice("You scribble illegibly on the label of [src]!")) return var/t = stripped_input(user, "What would you like to label the blood pack?", name, null, 53) if(!user.canUseTopic(src, BE_CLOSE)) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index e416df30935..1f68456f348 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -106,16 +106,16 @@ Borg Hypospray /obj/item/reagent_containers/borghypo/attack(mob/living/carbon/M, mob/user) var/datum/reagents/R = reagent_list[mode] if(!R.total_volume) - to_chat(user, "The injector is empty!") + to_chat(user, span_warning("The injector is empty!")) return if(!istype(M)) return if(R.total_volume && M.try_inject(user, user.zone_selected, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE | (bypass_protection ? INJECT_CHECK_PENETRATE_THICK : 0))) - to_chat(M, "You feel a tiny prick!") - to_chat(user, "You inject [M] with the injector.") + to_chat(M, span_warning("You feel a tiny prick!")) + to_chat(user, span_notice("You inject [M] with the injector.")) if(M.reagents) var/trans = R.trans_to(M, amount_per_transfer_from_this, transfered_by = user, methods = INJECT) - to_chat(user, "[trans] unit\s injected. [R.total_volume] unit\s remaining.") + to_chat(user, span_notice("[trans] unit\s injected. [R.total_volume] unit\s remaining.")) var/list/injected = list() for(var/datum/reagent/RG in R.reagent_list) @@ -129,7 +129,7 @@ Borg Hypospray mode = chosen_reagent playsound(loc, 'sound/effects/pop.ogg', 50, FALSE) var/datum/reagent/R = GLOB.chemical_reagents_list[reagent_ids[mode]] - to_chat(user, "[src] is now dispensing '[R.name]'.") + to_chat(user, span_notice("[src] is now dispensing '[R.name]'.")) return /obj/item/reagent_containers/borghypo/examine(mob/user) @@ -137,7 +137,7 @@ Borg Hypospray . += DescribeContents() //Because using the standardized reagents datum was just too cool for whatever fuckwit wrote this var/datum/reagent/loaded = modes[mode] . += "Currently loaded: [initial(loaded.name)]. [initial(loaded.description)]" - . += "Alt+Click to change transfer amount. Currently set to [amount_per_transfer_from_this == 5 ? "dose normally (5u)" : "microdose (2u)"]." + . += span_notice("Alt+Click to change transfer amount. Currently set to [amount_per_transfer_from_this == 5 ? "dose normally (5u)" : "microdose (2u)"].") /obj/item/reagent_containers/borghypo/proc/DescribeContents() . = list() @@ -146,11 +146,11 @@ Borg Hypospray for(var/datum/reagents/RS in reagent_list) var/datum/reagent/R = locate() in RS.reagent_list if(R) - . += "It currently has [R.volume] unit\s of [R.name] stored." + . += span_notice("It currently has [R.volume] unit\s of [R.name] stored.") empty = FALSE if(empty) - . += "It is currently empty! Allow some time for the internal synthesizer to produce more." + . += span_warning("It is currently empty! Allow some time for the internal synthesizer to produce more.") /obj/item/reagent_containers/borghypo/AltClick(mob/living/user) . = ..() @@ -160,7 +160,7 @@ Borg Hypospray amount_per_transfer_from_this = 2 else amount_per_transfer_from_this = 5 - to_chat(user,"[src] is now set to [amount_per_transfer_from_this == 5 ? "dose normally" : "microdose"].") + to_chat(user,span_notice("[src] is now set to [amount_per_transfer_from_this == 5 ? "dose normally" : "microdose"].")) /obj/item/reagent_containers/borghypo/hacked icon_state = "borghypo_s" @@ -247,23 +247,23 @@ Borg Shaker else if(target.is_refillable()) var/datum/reagents/R = reagent_list[mode] if(!R.total_volume) - to_chat(user, "[src] is currently out of this ingredient! Please allow some time for the synthesizer to produce more.") + to_chat(user, span_warning("[src] is currently out of this ingredient! Please allow some time for the synthesizer to produce more.")) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return var/trans = R.trans_to(target, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You transfer [trans] unit\s of the solution to [target].") + to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target].")) /obj/item/reagent_containers/borghypo/borgshaker/DescribeContents() var/datum/reagents/RS = reagent_list[mode] var/datum/reagent/R = locate() in RS.reagent_list if(R) - return "It currently has [R.volume] unit\s of [R.name] stored." + return span_notice("It currently has [R.volume] unit\s of [R.name] stored.") else - return "It is currently empty! Please allow some time for the synthesizer to produce more." + return span_warning("It is currently empty! Please allow some time for the synthesizer to produce more.") /obj/item/reagent_containers/borghypo/borgshaker/hacked name = "cyborg shaker" diff --git a/code/modules/reagents/reagent_containers/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm index a6e39995eee..62441ee00e9 100644 --- a/code/modules/reagents/reagent_containers/chem_pack.dm +++ b/code/modules/reagents/reagent_containers/chem_pack.dm @@ -15,7 +15,7 @@ /obj/item/reagent_containers/chem_pack/AltClick(mob/living/user) if(user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && !sealed) if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))) - to_chat(user, "Uh... whoops! You accidentally spill the content of the bag onto yourself.") + to_chat(user, span_warning("Uh... whoops! You accidentally spill the content of the bag onto yourself.")) SplashReagents(user) return @@ -24,14 +24,14 @@ reagents.flags = reagent_flags spillable = FALSE sealed = TRUE - to_chat(user, "You seal the bag.") + to_chat(user, span_notice("You seal the bag.")) /obj/item/reagent_containers/chem_pack/examine() . = ..() if(sealed) - . += "The bag is sealed shut." + . += span_notice("The bag is sealed shut.") else - . += "Alt-click to seal it." + . += span_notice("Alt-click to seal it.") /obj/item/reagent_containers/chem_pack/attack_self(mob/user) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 6667b66f7ba..60b73ac09bc 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -19,11 +19,11 @@ if(reagents.total_volume > 0) if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return if(!target.is_injectable(user)) - to_chat(user, "You cannot transfer reagents to [target]!") + to_chat(user, span_warning("You cannot transfer reagents to [target]!")) return var/trans = 0 @@ -41,18 +41,18 @@ trans = reagents.trans_to(safe_thing, amount_per_transfer_from_this, transfered_by = user, methods = TOUCH) - target.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", \ - "[user] tries to squirt something into your eyes, but fails!") + target.visible_message(span_danger("[user] tries to squirt something into [target]'s eyes, but fails!"), \ + span_userdanger("[user] tries to squirt something into your eyes, but fails!")) - to_chat(user, "You transfer [trans] unit\s of the solution.") + to_chat(user, span_notice("You transfer [trans] unit\s of the solution.")) update_appearance() return else if(isalien(target)) //hiss-hiss has no eyes! - to_chat(target, "[target] does not seem to have any eyes!") + to_chat(target, span_danger("[target] does not seem to have any eyes!")) return - target.visible_message("[user] squirts something into [target]'s eyes!", \ - "[user] squirts something into your eyes!") + target.visible_message(span_danger("[user] squirts something into [target]'s eyes!"), \ + span_userdanger("[user] squirts something into your eyes!")) reagents.expose(target, TOUCH, fraction) var/mob/M = target @@ -64,22 +64,22 @@ log_combat(user, M, "squirted", R) 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.") + to_chat(user, span_notice("You transfer [trans] unit\s of the solution.")) update_appearance() else if(!target.is_drawable(user, FALSE)) //No drawing from mobs here - to_chat(user, "You cannot directly remove reagents from [target]!") + to_chat(user, span_warning("You cannot directly remove reagents from [target]!")) return if(!target.reagents.total_volume) - to_chat(user, "[target] is empty!") + to_chat(user, span_warning("[target] is empty!")) return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You fill [src] with [trans] unit\s of the solution.") + to_chat(user, span_notice("You fill [src] with [trans] unit\s of the solution.")) update_appearance() diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 0fa5a7db210..eac8125c18e 100755 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -17,22 +17,22 @@ return if(!reagents || !reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return if(istype(M)) if(M != user) - M.visible_message("[user] attempts to feed [M] something from [src].", \ - "[user] attempts to feed you something from [src].") + M.visible_message(span_danger("[user] attempts to feed [M] something from [src]."), \ + span_userdanger("[user] attempts to feed you something from [src].")) if(!do_mob(user, M)) return if(!reagents || !reagents.total_volume) return // The drink might be empty after the delay, such as by spam-feeding - M.visible_message("[user] feeds [M] something from [src].", \ - "[user] feeds you something from [src].") + M.visible_message(span_danger("[user] feeds [M] something from [src]."), \ + span_userdanger("[user] feeds you something from [src].")) log_combat(user, M, "fed", reagents.log_list()) else - to_chat(user, "You swallow a gulp of [src].") + to_chat(user, span_notice("You swallow a gulp of [src].")) SEND_SIGNAL(src, COMSIG_GLASS_DRANK, M, user) addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5, TRUE, TRUE, FALSE, user, FALSE, INGEST), 5) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), TRUE) @@ -58,33 +58,33 @@ if(target.is_refillable()) //Something like a glass. Player probably wants to transfer TO it. if(!reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return if(target.reagents.holder_full()) - to_chat(user, "[target] is full.") + to_chat(user, span_warning("[target] is full.")) return var/trans = reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You transfer [trans] unit\s of the solution to [target].") + to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target].")) else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. if(!target.reagents.total_volume) - to_chat(user, "[target] is empty and can't be refilled!") + to_chat(user, span_warning("[target] is empty and can't be refilled!")) return if(reagents.holder_full()) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user) - to_chat(user, "You fill [src] with [trans] unit\s of the contents of [target].") + to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [target].")) /obj/item/reagent_containers/glass/attackby(obj/item/I, mob/user, params) var/hotness = I.get_temperature() if(hotness && reagents) reagents.expose_temperature(hotness) - to_chat(user, "You heat [name] with [I]!") + to_chat(user, span_notice("You heat [name] with [I]!")) //Cooling method if(istype(I, /obj/item/extinguisher)) @@ -92,11 +92,11 @@ if(extinguisher.safety) return if (extinguisher.reagents.total_volume < 1) - to_chat(user, "\The [extinguisher] is empty!") + to_chat(user, span_warning("\The [extinguisher] is empty!")) return var/cooling = (0 - reagents.chem_temp) * extinguisher.cooling_power * 2 reagents.expose_temperature(cooling) - to_chat(user, "You cool the [name] with the [I]!") + to_chat(user, span_notice("You cool the [name] with the [I]!")) playsound(loc, 'sound/effects/extinguish.ogg', 75, TRUE, -3) extinguisher.reagents.remove_all(1) @@ -104,9 +104,9 @@ var/obj/item/food/egg/E = I if(reagents) if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "[src] is full.") + to_chat(user, span_notice("[src] is full.")) else - to_chat(user, "You break [E] in [src].") + to_chat(user, span_notice("You break [E] in [src].")) E.reagents.trans_to(src, E.reagents.total_volume, transfered_by = user) qdel(E) return @@ -262,13 +262,13 @@ /obj/item/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params) if(istype(O, /obj/item/mop)) if(reagents.total_volume < 1) - to_chat(user, "[src] is out of water!") + to_chat(user, span_warning("[src] is out of water!")) else reagents.trans_to(O, 5, transfered_by = user) - to_chat(user, "You wet [O] in [src].") + to_chat(user, span_notice("You wet [O] in [src].")) playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) else if(isprox(O)) //This works with wooden buckets for now. Somewhat unintended, but maybe someone will add sprites for it soon(TM) - to_chat(user, "You add [O] to [src].") + to_chat(user, span_notice("You add [O] to [src].")) qdel(O) qdel(src) user.put_in_hands(new /obj/item/bot_assembly/cleanbot) @@ -279,7 +279,7 @@ ..() if (slot == ITEM_SLOT_HEAD) if(reagents.total_volume) - to_chat(user, "[src]'s contents spill all over you!") + to_chat(user, span_userdanger("[src]'s contents spill all over you!")) reagents.expose(user, TOUCH) reagents.clear_reagents() reagents.flags = NONE @@ -321,43 +321,43 @@ if(grinded) grinded.forceMove(drop_location()) grinded = null - to_chat(user, "You eject the item inside.") + to_chat(user, span_notice("You eject the item inside.")) /obj/item/reagent_containers/glass/mortar/attackby(obj/item/I, mob/living/carbon/human/user) ..() if(istype(I,/obj/item/pestle)) if(grinded) if(user.getStaminaLoss() > 50) - to_chat(user, "You are too tired to work!") + to_chat(user, span_warning("You are too tired to work!")) return - to_chat(user, "You start grinding...") + to_chat(user, span_notice("You start grinding...")) if((do_after(user, 25, target = src)) && grinded) user.adjustStaminaLoss(40) if(grinded.juice_results) //prioritize juicing grinded.on_juice() reagents.add_reagent_list(grinded.juice_results) - to_chat(user, "You juice [grinded] into a fine liquid.") + to_chat(user, span_notice("You juice [grinded] into a fine liquid.")) QDEL_NULL(grinded) return grinded.on_grind() reagents.add_reagent_list(grinded.grind_results) if(grinded.reagents) //food and pills grinded.reagents.trans_to(src, grinded.reagents.total_volume, transfered_by = user) - to_chat(user, "You break [grinded] into powder.") + to_chat(user, span_notice("You break [grinded] into powder.")) QDEL_NULL(grinded) return return else - to_chat(user, "There is nothing to grind!") + to_chat(user, span_warning("There is nothing to grind!")) return if(grinded) - to_chat(user, "There is something inside already!") + to_chat(user, span_warning("There is something inside already!")) return if(I.juice_results || I.grind_results) I.forceMove(src) grinded = I return - to_chat(user, "You can't grind this!") + to_chat(user, span_warning("You can't grind this!")) /obj/item/reagent_containers/glass/saline name = "saline canister" diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 495d598b8b8..22494d9fb14 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -26,7 +26,7 @@ ///Handles all injection checks, injection and logging. /obj/item/reagent_containers/hypospray/proc/inject(mob/living/M, mob/user) if(!reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return FALSE if(!iscarbon(M)) return FALSE @@ -39,8 +39,8 @@ log_combat(user, M, "attempted to inject", src, "([contained])") if(reagents.total_volume && (ignore_flags || M.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))) // Ignore flag should be checked first or there will be an error message. - to_chat(M, "You feel a tiny prick!") - to_chat(user, "You inject [M] with [src].") + to_chat(M, span_warning("You feel a tiny prick!")) + to_chat(user, span_notice("You inject [M] with [src].")) var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1) @@ -51,7 +51,7 @@ else reagents.expose(M, INJECT, fraction) trans = reagents.copy_to(M, amount_per_transfer_from_this) - to_chat(user, "[trans] unit\s injected. [reagents.total_volume] unit\s remaining in [src].") + to_chat(user, span_notice("[trans] unit\s injected. [reagents.total_volume] unit\s remaining in [src].")) log_combat(user, M, "injected", src, "([contained])") return TRUE return FALSE @@ -116,7 +116,7 @@ custom_premium_price = PAYCHECK_HARD /obj/item/reagent_containers/hypospray/medipen/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins to choke on \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins to choke on \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS//ironic. he could save others from oxyloss, but not himself. /obj/item/reagent_containers/hypospray/medipen/inject(mob/living/M, mob/user) @@ -137,9 +137,9 @@ /obj/item/reagent_containers/hypospray/medipen/examine() . = ..() if(reagents?.reagent_list.len) - . += "It is currently loaded." + . += span_notice("It is currently loaded.") else - . += "It is spent." + . += span_notice("It is spent.") /obj/item/reagent_containers/hypospray/medipen/stimpack //goliath kiting name = "stimpack medipen" @@ -238,10 +238,10 @@ return ..() if(DOING_INTERACTION(user, DOAFTER_SOURCE_SURVIVALPEN)) - to_chat(user,"You are too busy to use \the [src]!") + to_chat(user,span_notice("You are too busy to use \the [src]!")) return - to_chat(user,"You start manually releasing the low-pressure gauge...") + to_chat(user,span_notice("You start manually releasing the low-pressure gauge...")) if(!do_mob(user, M, 10 SECONDS, interaction_key = DOAFTER_SOURCE_SURVIVALPEN)) return diff --git a/code/modules/reagents/reagent_containers/maunamug.dm b/code/modules/reagents/reagent_containers/maunamug.dm index b72e0a7adf2..3a71d6726ee 100644 --- a/code/modules/reagents/reagent_containers/maunamug.dm +++ b/code/modules/reagents/reagent_containers/maunamug.dm @@ -21,11 +21,11 @@ /obj/item/reagent_containers/glass/maunamug/examine(mob/user) . = ..() - . += "The status display reads: Current temperature: [reagents.chem_temp]K Current Charge:[cell ? "[cell.charge / cell.maxcharge * 100]%" : "No cell found"]." + . += span_notice("The status display reads: Current temperature: [reagents.chem_temp]K Current Charge:[cell ? "[cell.charge / cell.maxcharge * 100]%" : "No cell found"].") if(open) - . += "The battery case is open." + . += span_notice("The battery case is open.") if(cell && cell.charge > 0) - . += "Ctrl+Click to toggle the power." + . += span_notice("Ctrl+Click to toggle the power.") /obj/item/reagent_containers/glass/maunamug/process(delta_time) ..() @@ -41,7 +41,7 @@ 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!") + audible_message(span_notice("The Mauna Mug lets out a happy beep and turns off!")) playsound(src, 'sound/machines/chime.ogg', 50) /obj/item/reagent_containers/glass/maunamug/Destroy() @@ -69,7 +69,7 @@ /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"] .") + to_chat(user, span_notice("You screw the battery case on [src] [open ? "open" : "closed"] .")) update_appearance() /obj/item/reagent_containers/glass/maunamug/attackby(obj/item/I, mob/user, params) @@ -77,15 +77,15 @@ if(!istype(I, /obj/item/stock_parts/cell)) return ..() if(!open) - to_chat(user, "The battery case must be open to insert a power cell!") + to_chat(user, span_warning("The battery case must be open to insert a power cell!")) return FALSE if(cell) - to_chat(user, "There is already a power cell inside!") + to_chat(user, span_warning("There is already a power cell inside!")) return FALSE else if(!user.transferItemToLoc(I, src)) return cell = I - user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") + user.visible_message(span_notice("[user] inserts a power cell into [src]."), span_notice("You insert the power cell into [src].")) update_appearance() /obj/item/reagent_containers/glass/maunamug/attack_hand(mob/living/user, list/modifiers) @@ -93,7 +93,7 @@ cell.update_appearance() user.put_in_hands(cell) cell = null - to_chat(user, "You remove the power cell from [src].") + to_chat(user, span_notice("You remove the power cell from [src].")) on = FALSE update_appearance() return TRUE diff --git a/code/modules/reagents/reagent_containers/medigel.dm b/code/modules/reagents/reagent_containers/medigel.dm index 67923cce59f..c6c8a0f494a 100644 --- a/code/modules/reagents/reagent_containers/medigel.dm +++ b/code/modules/reagents/reagent_containers/medigel.dm @@ -42,32 +42,32 @@ return ..() /obj/item/reagent_containers/medigel/mode_change_message(mob/user) - to_chat(user, "You will now apply the medigel's contents in [squirt_mode ? "short bursts":"extended sprays"]. You'll now use [amount_per_transfer_from_this] units per use.") + to_chat(user, span_notice("You will now apply the medigel's contents in [squirt_mode ? "short bursts":"extended sprays"]. You'll now use [amount_per_transfer_from_this] units per use.")) /obj/item/reagent_containers/medigel/attack(mob/M, mob/user, def_zone) if(!reagents || !reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return if(M == user) - M.visible_message("[user] attempts to [apply_method] [src] on [user.p_them()]self.") + M.visible_message(span_notice("[user] attempts to [apply_method] [src] on [user.p_them()]self.")) if(self_delay) if(!do_mob(user, M, self_delay)) return if(!reagents || !reagents.total_volume) return - to_chat(M, "You [apply_method] yourself with [src].") + to_chat(M, span_notice("You [apply_method] yourself with [src].")) else log_combat(user, M, "attempted to apply", src, reagents.log_list()) - M.visible_message("[user] attempts to [apply_method] [src] on [M].", \ - "[user] attempts to [apply_method] [src] on you.") + M.visible_message(span_danger("[user] attempts to [apply_method] [src] on [M]."), \ + span_userdanger("[user] attempts to [apply_method] [src] on you.")) if(!do_mob(user, M, CHEM_INTERACT_DELAY(3 SECONDS, user))) return if(!reagents || !reagents.total_volume) return - M.visible_message("[user] [apply_method]s [M] down with [src].", \ - "[user] [apply_method]s you down with [src].") + M.visible_message(span_danger("[user] [apply_method]s [M] down with [src]."), \ + span_userdanger("[user] [apply_method]s you down with [src].")) if(!reagents || !reagents.total_volume) return diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index bd145ac8a47..4bb98269ae9 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -15,10 +15,10 @@ if(ishuman(L)) var/obj/item/bodypart/affecting = L.get_bodypart(check_zone(user.zone_selected)) if(!affecting) - to_chat(user, "The limb is missing!") + to_chat(user, span_warning("The limb is missing!")) return if(affecting.status != BODYPART_ORGANIC) - to_chat(user, "Medicine won't work on a robotic limb!") + to_chat(user, span_notice("Medicine won't work on a robotic limb!")) return ..() diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 385d6afaf0d..d0b757a8674 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -28,26 +28,26 @@ return FALSE if(M == user) - M.visible_message("[user] attempts to [apply_method] [src].") + M.visible_message(span_notice("[user] attempts to [apply_method] [src].")) if(self_delay) if(!do_mob(user, M, self_delay)) return FALSE - to_chat(M, "You [apply_method] [src].") + to_chat(M, span_notice("You [apply_method] [src].")) else - M.visible_message("[user] attempts to force [M] to [apply_method] [src].", \ - "[user] attempts to force you to [apply_method] [src].") + M.visible_message(span_danger("[user] attempts to force [M] to [apply_method] [src]."), \ + span_userdanger("[user] attempts to force you to [apply_method] [src].")) if(!do_mob(user, M, CHEM_INTERACT_DELAY(3 SECONDS, user))) return FALSE - M.visible_message("[user] forces [M] to [apply_method] [src].", \ - "[user] forces you to [apply_method] [src].") + M.visible_message(span_danger("[user] forces [M] to [apply_method] [src]."), \ + span_userdanger("[user] forces you to [apply_method] [src].")) return on_consumption(M, user) ///Runs the consumption code, can be overriden for special effects /obj/item/reagent_containers/pill/proc/on_consumption(mob/M, mob/user) if(icon_state == "pill4" && prob(5)) //you take the red pill - you stay in Wonderland, and I show you how deep the rabbit hole goes - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, M, "[pick(strings(REDPILL_FILE, "redpill_questions"))]"), 50) + addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, M, span_notice("[pick(strings(REDPILL_FILE, "redpill_questions"))]")), 50) if(reagents.total_volume) reagents.trans_to(M, reagents.total_volume, transfered_by = user, methods = apply_type) @@ -62,14 +62,14 @@ if(!dissolvable || !target.is_refillable()) return if(target.is_drainable() && !target.reagents.total_volume) - to_chat(user, "[target] is empty! There's nothing to dissolve [src] in.") + to_chat(user, span_warning("[target] is empty! There's nothing to dissolve [src] in.")) return if(target.reagents.holder_full()) - to_chat(user, "[target] is full.") + to_chat(user, span_warning("[target] is full.")) return - user.visible_message("[user] slips something into [target]!", "You dissolve [src] in [target].", null, 2) + user.visible_message(span_warning("[user] slips something into [target]!"), span_notice("You dissolve [src] in [target]."), null, 2) reagents.trans_to(target, reagents.total_volume, transfered_by = user) qdel(src) @@ -77,7 +77,7 @@ * On accidental consumption, consume the pill */ /obj/item/reagent_containers/pill/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = FALSE) - to_chat(victim, "You swallow something small. [source_item ? "Was that in [source_item]?" : ""]") + to_chat(victim, span_warning("You swallow something small. [source_item ? "Was that in [source_item]?" : ""]")) reagents?.trans_to(victim, reagents.total_volume, transfered_by = user, methods = INGEST) qdel(src) return discover_after diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 576f241d460..6c5b7228d4a 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -32,19 +32,19 @@ if((target.is_drainable() && !target.is_refillable()) && (get_dist(src, target) <= 1) && can_fill_from_container) if(!target.reagents.total_volume) - to_chat(user, "[target] is empty.") + to_chat(user, span_warning("[target] is empty.")) return if(reagents.holder_full()) - to_chat(user, "[src] is full.") + to_chat(user, span_warning("[src] is full.")) return var/trans = target.reagents.trans_to(src, 50, transfered_by = user) //transfer 50u , using the spray's transfer amount would take too long to refill - to_chat(user, "You fill \the [src] with [trans] units of the contents of \the [target].") + to_chat(user, span_notice("You fill \the [src] with [trans] units of the contents of \the [target].")) return if(reagents.total_volume < amount_per_transfer_from_this) - to_chat(user, "Not enough left!") + to_chat(user, span_warning("Not enough left!")) return spray(target, user) @@ -148,13 +148,13 @@ current_range = stream_range else current_range = spray_range - to_chat(user, "You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""].") + to_chat(user, span_notice("You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""].")) /obj/item/reagent_containers/spray/attackby(obj/item/I, mob/user, params) var/hotness = I.get_temperature() if(hotness && reagents) reagents.expose_temperature(hotness) - to_chat(user, "You heat [name] with [I]!") + to_chat(user, span_notice("You heat [name] with [I]!")) //Cooling method if(istype(I, /obj/item/extinguisher)) @@ -162,11 +162,11 @@ if(extinguisher.safety) return if (extinguisher.reagents.total_volume < 1) - to_chat(user, "\The [extinguisher] is empty!") + to_chat(user, span_warning("\The [extinguisher] is empty!")) return var/cooling = (0 - reagents.chem_temp) * extinguisher.cooling_power * 2 reagents.expose_temperature(cooling) - to_chat(user, "You cool the [name] with the [I]!") + to_chat(user, span_notice("You cool the [name] with the [I]!")) playsound(loc, 'sound/effects/extinguish.ogg', 75, TRUE, -3) extinguisher.reagents.remove_all(1) @@ -181,7 +181,7 @@ if (tgui_alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", list("Yes", "No")) != "Yes") return if(isturf(usr.loc) && src.loc == usr) - to_chat(usr, "You empty \the [src] onto the floor.") + to_chat(usr, span_notice("You empty \the [src] onto the floor.")) reagents.expose(usr.loc) log_combat(usr, usr.loc, "emptied onto", src, addition="which had [reagents.log_list()]") src.reagents.clear_reagents() @@ -217,17 +217,17 @@ possible_transfer_amounts = list(2,5) /obj/item/reagent_containers/spray/cleaner/suicide_act(mob/user) - user.visible_message("[user] is putting the nozzle of \the [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting the nozzle of \the [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!")) if(do_mob(user,user,30)) if(reagents.total_volume >= amount_per_transfer_from_this)//if not empty - user.visible_message("[user] pulls the trigger!") + user.visible_message(span_suicide("[user] pulls the trigger!")) src.spray(user) return BRUTELOSS else - user.visible_message("[user] pulls the trigger...but \the [src] is empty!") + user.visible_message(span_suicide("[user] pulls the trigger...but \the [src] is empty!")) return SHAME else - user.visible_message("[user] decided life was worth living.") + user.visible_message(span_suicide("[user] decided life was worth living.")) return MANUAL_SUICIDE_NONLETHAL //spray tan @@ -256,7 +256,7 @@ list_reagents = null /obj/item/reagent_containers/spray/pepper/suicide_act(mob/living/carbon/user) - user.visible_message("[user] begins huffing \the [src]! It looks like [user.p_theyre()] getting a dirty high!") + user.visible_message(span_suicide("[user] begins huffing \the [src]! It looks like [user.p_theyre()] getting a dirty high!")) return OXYLOSS // Fix pepperspraying yourself @@ -322,7 +322,7 @@ generate_reagents() /obj/item/reagent_containers/spray/waterflower/cyborg/empty() - to_chat(usr, "You can not empty this!") + to_chat(usr, span_warning("You can not empty this!")) return /obj/item/reagent_containers/spray/waterflower/cyborg/proc/generate_reagents() diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index c8c101bc12e..40660ed8074 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -51,15 +51,15 @@ log_combat(user, target, "attempted to inject", src, addition="which had [contained]") if(!reagents.total_volume) - to_chat(user, "[src] is empty! Right-click to draw.") + to_chat(user, span_warning("[src] is empty! Right-click to draw.")) return if(!isliving(target) && !target.is_injectable(user)) - to_chat(user, "You cannot directly fill [target]!") + to_chat(user, span_warning("You cannot directly fill [target]!")) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "[target] is full.") + to_chat(user, span_notice("[target] is full.")) return if(isliving(target)) @@ -67,38 +67,38 @@ if(!living_target.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE)) return if(living_target != user) - living_target.visible_message("[user] is trying to inject [living_target]!", \ - "[user] is trying to inject you!") + living_target.visible_message(span_danger("[user] is trying to inject [living_target]!"), \ + span_userdanger("[user] is trying to inject you!")) if(!do_mob(user, living_target, CHEM_INTERACT_DELAY(3 SECONDS, user), extra_checks = CALLBACK(living_target, /mob/living/proc/try_inject, user, null, INJECT_TRY_SHOW_ERROR_MESSAGE))) return if(!reagents.total_volume) return if(living_target.reagents.total_volume >= living_target.reagents.maximum_volume) return - living_target.visible_message("[user] injects [living_target] with the syringe!", \ - "[user] injects you with the syringe!") + living_target.visible_message(span_danger("[user] injects [living_target] with the syringe!"), \ + span_userdanger("[user] injects you with the syringe!")) if (living_target == user) living_target.log_message("injected themselves ([contained]) with [name]", LOG_ATTACK, color="orange") else log_combat(user, living_target, "injected", src, addition="which had [contained]") reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user, methods = INJECT) - to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.") + to_chat(user, span_notice("You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.")) /obj/item/reagent_containers/syringe/afterattack_secondary(atom/target, mob/user, proximity_flag, click_parameters) if (!try_syringe(target, user, proximity_flag)) return SECONDARY_ATTACK_CONTINUE_CHAIN if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "[src] is full.") + to_chat(user, span_notice("[src] is full.")) return SECONDARY_ATTACK_CONTINUE_CHAIN if(isliving(target)) var/mob/living/living_target = target var/drawn_amount = reagents.maximum_volume - reagents.total_volume if(target != user) - target.visible_message("[user] is trying to take a blood sample from [target]!", \ - "[user] is trying to take a blood sample from you!") + target.visible_message(span_danger("[user] is trying to take a blood sample from [target]!"), \ + span_userdanger("[user] is trying to take a blood sample from you!")) busy = TRUE if(!do_mob(user, target, CHEM_INTERACT_DELAY(3 SECONDS, user), extra_checks = CALLBACK(living_target, /mob/living/proc/try_inject, user, null, INJECT_TRY_SHOW_ERROR_MESSAGE))) busy = FALSE @@ -107,21 +107,21 @@ return SECONDARY_ATTACK_CONTINUE_CHAIN busy = FALSE if(living_target.transfer_blood_to(src, drawn_amount)) - user.visible_message("[user] takes a blood sample from [living_target].") + user.visible_message(span_notice("[user] takes a blood sample from [living_target].")) else - to_chat(user, "You are unable to draw any blood from [living_target]!") + to_chat(user, span_warning("You are unable to draw any blood from [living_target]!")) else if(!target.reagents.total_volume) - to_chat(user, "[target] is empty!") + to_chat(user, span_warning("[target] is empty!")) return SECONDARY_ATTACK_CONTINUE_CHAIN if(!target.is_drawable(user)) - to_chat(user, "You cannot directly remove reagents from [target]!") + to_chat(user, span_warning("You cannot directly remove reagents from [target]!")) return SECONDARY_ATTACK_CONTINUE_CHAIN var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user) // transfer from, transfer to - who cares? - to_chat(user, "You fill [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.") + to_chat(user, span_notice("You fill [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.")) return SECONDARY_ATTACK_CONTINUE_CHAIN @@ -130,9 +130,9 @@ */ /obj/item/reagent_containers/syringe/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE) if(source_item) - to_chat(victim, "There's a [src] in [source_item]!!") + to_chat(victim, span_boldwarning("There's a [src] in [source_item]!!")) else - to_chat(victim, "[src] injects you!") + to_chat(victim, span_boldwarning("[src] injects you!")) victim.apply_damage(5, BRUTE, BODY_ZONE_HEAD) reagents?.trans_to(victim, round(reagents.total_volume*(2/3)), transfered_by = user, methods = INJECT) diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 839c4cdfa32..e48322770b7 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -19,7 +19,7 @@ /obj/structure/reagent_dispensers/examine(mob/user) . = ..() if(can_be_tanked) - . += "Use a sheet of iron to convert this into a plumbing-compatible tank." + . += span_notice("Use a sheet of iron to convert this into a plumbing-compatible tank.") /obj/structure/reagent_dispensers/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() @@ -51,7 +51,7 @@ . = ..() /obj/structure/reagent_dispensers/proc/boom() - visible_message("\The [src] ruptures!") + visible_message(span_danger("\The [src] ruptures!")) chem_splash(loc, 5, list(reagents)) qdel(src) @@ -114,19 +114,19 @@ /obj/structure/reagent_dispensers/fueltank/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_WELDER) if(!reagents.has_reagent(/datum/reagent/fuel)) - to_chat(user, "[src] is out of fuel!") + to_chat(user, span_warning("[src] is out of fuel!")) return var/obj/item/weldingtool/W = I if(istype(W) && !W.welding) if(W.reagents.has_reagent(/datum/reagent/fuel, W.max_fuel)) - to_chat(user, "Your [W.name] is already full!") + to_chat(user, span_warning("Your [W.name] is already full!")) return reagents.trans_to(W, W.max_fuel, transfered_by = user) - user.visible_message("[user] refills [user.p_their()] [W.name].", "You refill [W].") + user.visible_message(span_notice("[user] refills [user.p_their()] [W.name]."), span_notice("You refill [W].")) playsound(src, 'sound/effects/refill.ogg', 50, TRUE) W.update_appearance() else - user.visible_message("[user] catastrophically fails at refilling [user.p_their()] [I.name]!", "That was stupid of you.") + user.visible_message(span_danger("[user] catastrophically fails at refilling [user.p_their()] [I.name]!"), span_userdanger("That was stupid of you.")) log_bomber(user, "detonated a", src, "via welding tool") boom() return @@ -194,9 +194,9 @@ if(.) return if(!paper_cups) - to_chat(user, "There aren't any cups left!") + to_chat(user, span_warning("There aren't any cups left!")) return - user.visible_message("[user] takes a cup from [src].", "You take a paper cup from [src].") + user.visible_message(span_notice("[user] takes a cup from [src]."), span_notice("You take a paper cup from [src].")) var/obj/item/reagent_containers/food/drinks/sillycup/S = new(get_turf(src)) user.put_in_hands(S) paper_cups-- @@ -290,7 +290,7 @@ /obj/structure/reagent_dispensers/plumbed/storage/proc/can_be_rotated(mob/user, rotation_type) if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, span_warning("It is fastened to the floor!")) return !anchored /obj/structure/reagent_dispensers/plumbed/fuel diff --git a/code/modules/reagents/withdrawal/_addiction.dm b/code/modules/reagents/withdrawal/_addiction.dm index 0b0bf8b33ea..9096305509d 100644 --- a/code/modules/reagents/withdrawal/_addiction.dm +++ b/code/modules/reagents/withdrawal/_addiction.dm @@ -51,7 +51,7 @@ /datum/addiction/proc/lose_addiction(datum/mind/victim_mind) SEND_SIGNAL(victim_mind.current, COMSIG_CLEAR_MOOD_EVENT, "[type]_addiction") SEND_SIGNAL(victim_mind.current, COMSIG_CARBON_LOSE_ADDICTION, victim_mind) - to_chat(victim_mind.current, "You feel like you've gotten over your need for drugs.") + to_chat(victim_mind.current, span_notice("You feel like you've gotten over your need for drugs.")) end_withdrawal(victim_mind.current) LAZYREMOVE(victim_mind.active_addictions, type) @@ -123,14 +123,14 @@ /// Called when addiction is in stage 1 every process /datum/addiction/proc/withdrawal_stage_1_process(mob/living/carbon/affected_carbon, delta_time) if(DT_PROB(5, delta_time)) - to_chat(affected_carbon, "[withdrawal_stage_messages[1]]") + to_chat(affected_carbon, span_danger("[withdrawal_stage_messages[1]]")) /// Called when addiction is in stage 2 every process /datum/addiction/proc/withdrawal_stage_2_process(mob/living/carbon/affected_carbon, delta_time) if(DT_PROB(10, delta_time) ) - to_chat(affected_carbon, "[withdrawal_stage_messages[2]]") + to_chat(affected_carbon, span_danger("[withdrawal_stage_messages[2]]")) /// Called when addiction is in stage 3 every process /datum/addiction/proc/withdrawal_stage_3_process(mob/living/carbon/affected_carbon, delta_time) if(DT_PROB(15, delta_time)) - to_chat(affected_carbon, "[withdrawal_stage_messages[3]]") + to_chat(affected_carbon, span_danger("[withdrawal_stage_messages[3]]")) diff --git a/code/modules/reagents/withdrawal/generic_addictions.dm b/code/modules/reagents/withdrawal/generic_addictions.dm index f08d9bd756e..83cb16c7fc1 100644 --- a/code/modules/reagents/withdrawal/generic_addictions.dm +++ b/code/modules/reagents/withdrawal/generic_addictions.dm @@ -110,7 +110,7 @@ return var/mob/living/carbon/human/affected_human = affected_carbon if(affected_human.gender == MALE) - to_chat(affected_human, "Your chin itches.") + to_chat(affected_human, span_warning("Your chin itches.")) affected_human.facial_hairstyle = "Beard (Full)" affected_human.update_hair() //Only like gross food @@ -122,7 +122,7 @@ . = ..() if(!ishuman(affected_carbon)) return - to_chat(affected_carbon, "You feel yourself adapt to the darkness.") + to_chat(affected_carbon, span_warning("You feel yourself adapt to the darkness.")) var/mob/living/carbon/human/affected_human = affected_carbon var/obj/item/organ/liver/empowered_liver = affected_carbon.getorgan(/obj/item/organ/liver) @@ -227,7 +227,7 @@ else if (organ.high_threshold_passed) to_chat(affected_carbon, organ.high_threshold_passed) return - to_chat(affected_carbon, "You feel a dull pain in your [organ.name].") + to_chat(affected_carbon, span_warning("You feel a dull pain in your [organ.name].")) /datum/addiction/medicine/end_withdrawal(mob/living/carbon/affected_carbon) . = ..() diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index a3390b2df8c..e0f082f40ce 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -170,13 +170,13 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) // attack with item, place item on conveyor /obj/machinery/conveyor/attackby(obj/item/I, mob/living/user, params) if(I.tool_behaviour == TOOL_CROWBAR) - user.visible_message("[user] struggles to pry up \the [src] with \the [I].", \ - "You struggle to pry up \the [src] with \the [I].") + user.visible_message(span_notice("[user] struggles to pry up \the [src] with \the [I]."), \ + span_notice("You struggle to pry up \the [src] with \the [I].")) if(I.use_tool(src, user, 40, volume=40)) if(!(machine_stat & BROKEN)) var/obj/item/stack/conveyor/C = new /obj/item/stack/conveyor(loc, 1, TRUE, null, null, id) transfer_fingerprints_to(C) - to_chat(user, "You remove the conveyor belt.") + to_chat(user, span_notice("You remove the conveyor belt.")) qdel(src) else if(I.tool_behaviour == TOOL_WRENCH) @@ -184,13 +184,13 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) I.play_tool_sound(src) setDir(turn(dir,-45)) update_move_direction() - to_chat(user, "You rotate [src].") + to_chat(user, span_notice("You rotate [src].")) else if(I.tool_behaviour == TOOL_SCREWDRIVER) if(!(machine_stat & BROKEN)) verted = verted * -1 update_move_direction() - to_chat(user, "You reverse [src]'s direction.") + to_chat(user, span_notice("You reverse [src]'s direction.")) else if(!user.combat_mode) user.transferItemToLoc(I, drop_location()) @@ -344,27 +344,27 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) var/obj/item/conveyor_switch_construct/C = new/obj/item/conveyor_switch_construct(src.loc) C.id = id transfer_fingerprints_to(C) - to_chat(user, "You detach the conveyor switch.") + to_chat(user, span_notice("You detach the conveyor switch.")) qdel(src) return TRUE /obj/machinery/conveyor_switch/screwdriver_act(mob/user, obj/item/I) I.play_tool_sound(src, 50) oneway = !oneway - to_chat(user, "You set conveyor switch to [oneway ? "one way" : "default"] configuration.") + to_chat(user, span_notice("You set conveyor switch to [oneway ? "one way" : "default"] configuration.")) return TRUE /obj/machinery/conveyor_switch/wrench_act(mob/user, obj/item/I) I.play_tool_sound(src, 50) invert_icon = !invert_icon update_appearance() - to_chat(user, "You set conveyor switch to [invert_icon ? "inverted": "normal"] position.") + to_chat(user, span_notice("You set conveyor switch to [invert_icon ? "inverted": "normal"] position.")) return TRUE /obj/machinery/conveyor_switch/examine(mob/user) . = ..() - . += "[src] is set to [oneway ? "one way" : "default"] configuration. It can be changed with screwdriver." - . += "[src] is set to [invert_icon ? "inverted": "normal"] position. It can be rotated with wrench." + . += span_notice("[src] is set to [oneway ? "one way" : "default"] configuration. It can be changed with screwdriver.") + . += span_notice("[src] is set to [invert_icon ? "inverted": "normal"] position. It can be rotated with wrench.") /obj/machinery/conveyor_switch/oneway icon_state = "conveyor_switch_oneway" @@ -391,7 +391,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/item/conveyor_switch_construct/attack_self(mob/user) for(var/obj/item/stack/conveyor/C in view()) C.id = id - to_chat(user, "You have linked all nearby conveyor belt assemblies to this switch.") + to_chat(user, span_notice("You have linked all nearby conveyor belt assemblies to this switch.")) /obj/item/conveyor_switch_construct/afterattack(atom/A, mob/user, proximity) . = ..() @@ -431,7 +431,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) return var/cdir = get_dir(A, user) if(A == user.loc) - to_chat(user, "You cannot place a conveyor belt under yourself!") + to_chat(user, span_warning("You cannot place a conveyor belt under yourself!")) return var/obj/machinery/conveyor/C = new/obj/machinery/conveyor(A, cdir, id) transfer_fingerprints_to(C) @@ -440,7 +440,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/item/stack/conveyor/attackby(obj/item/I, mob/user, params) ..() if(istype(I, /obj/item/conveyor_switch_construct)) - to_chat(user, "You link the switch to the conveyor belt assembly.") + to_chat(user, span_notice("You link the switch to the conveyor belt assembly.")) var/obj/item/conveyor_switch_construct/C = I id = C.id diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 8f7e6d4f3a4..70cbd5ce561 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -87,15 +87,15 @@ if(I.tool_behaviour == TOOL_SCREWDRIVER) panel_open = !panel_open I.play_tool_sound(src) - to_chat(user, "You [panel_open ? "remove":"attach"] the screws around the power connection.") + to_chat(user, span_notice("You [panel_open ? "remove":"attach"] the screws around the power connection.")) return else if(I.tool_behaviour == TOOL_WELDER && panel_open) if(!I.tool_start_check(user, amount=0)) return - to_chat(user, "You start slicing the floorweld off \the [src]...") + to_chat(user, span_notice("You start slicing the floorweld off \the [src]...")) if(I.use_tool(src, user, 20, volume=100) && panel_open) - to_chat(user, "You slice the floorweld off \the [src].") + to_chat(user, span_notice("You slice the floorweld off \the [src].")) deconstruct() return @@ -109,27 +109,27 @@ return ..() /obj/machinery/disposal/proc/rat_rummage(mob/living/simple_animal/hostile/regalrat/king) - king.visible_message("[king] starts rummaging through [src].","You rummage through [src]...") + king.visible_message(span_warning("[king] starts rummaging through [src]."),span_notice("You rummage through [src]...")) if (do_mob(king, src, 2 SECONDS, interaction_key = "regalrat")) var/loot = rand(1,100) switch(loot) if(1 to 5) - to_chat(king, "You find some leftover coins. More for the royal treasury!") + to_chat(king, span_notice("You find some leftover coins. More for the royal treasury!")) var/pickedcoin = pick(GLOB.ratking_coins) for(var/i = 1 to rand(1,3)) new pickedcoin(get_turf(king)) if(6 to 33) say(pick("Treasure!","Our precious!","Cheese!")) - to_chat(king, "Score! You find some cheese!") + to_chat(king, span_notice("Score! You find some cheese!")) new /obj/item/food/cheese(get_turf(king)) else var/pickedtrash = pick(GLOB.ratking_trash) - to_chat(king, "You just find more garbage and dirt. Lovely, but beneath you now.") + to_chat(king, span_notice("You just find more garbage and dirt. Lovely, but beneath you now.")) new pickedtrash(get_turf(king)) /obj/machinery/disposal/proc/place_item_in_disposal(obj/item/I, mob/user) I.forceMove(src) - user.visible_message("[user.name] places \the [I] into \the [src].", "You place \the [I] into \the [src].") + user.visible_message(span_notice("[user.name] places \the [I] into \the [src]."), span_notice("You place \the [I] into \the [src].")) //mouse drop another mob or self /obj/machinery/disposal/MouseDrop_T(mob/living/target, mob/living/user) @@ -150,22 +150,22 @@ if(target.buckled || target.has_buckled_mobs()) return if(target.mob_size > MOB_SIZE_HUMAN) - to_chat(user, "[target] doesn't fit inside [src]!") + to_chat(user, span_warning("[target] doesn't fit inside [src]!")) return add_fingerprint(user) if(user == target) - user.visible_message("[user] starts climbing into [src].", "You start climbing into [src]...") + user.visible_message(span_warning("[user] starts climbing into [src]."), span_notice("You start climbing into [src]...")) else - target.visible_message("[user] starts putting [target] into [src].", "[user] starts putting you into [src]!") + target.visible_message(span_danger("[user] starts putting [target] into [src]."), span_userdanger("[user] starts putting you into [src]!")) if(do_mob(user, target, 20)) if (!loc) return target.forceMove(src) if(user == target) - user.visible_message("[user] climbs into [src].", "You climb into [src].") + user.visible_message(span_warning("[user] climbs into [src]."), span_notice("You climb into [src].")) . = TRUE else - target.visible_message("[user] places [target] in [src].", "[user] places you in [src].") + target.visible_message(span_danger("[user] places [target] in [src]."), span_userdanger("[user] places you in [src].")) log_combat(user, target, "stuffed", addition="into [src]") target.LAssailant = WEAKREF(user) . = TRUE @@ -285,7 +285,7 @@ if(istype(I, /obj/item/storage/bag/trash)) //Not doing component overrides because this is a specific type. var/obj/item/storage/bag/trash/T = I var/datum/component/storage/STR = T.GetComponent(/datum/component/storage) - to_chat(user, "You empty the bag.") + to_chat(user, span_warning("You empty the bag.")) for(var/obj/item/O in T.contents) STR.remove_from_storage(O,src) T.update_appearance() @@ -350,10 +350,10 @@ if(isitem(AM) && AM.CanEnterDisposals()) if(prob(75)) AM.forceMove(src) - visible_message("[AM] lands in [src].") + visible_message(span_notice("[AM] lands in [src].")) update_appearance() else - visible_message("[AM] bounces off of [src]'s rim!") + visible_message(span_notice("[AM] bounces off of [src]'s rim!")) return ..() else return ..() @@ -498,7 +498,7 @@ else if(ismob(AM)) var/mob/M = AM if(prob(2)) // to prevent mobs being stuck in infinite loops - to_chat(M, "You hit the edge of the chute.") + to_chat(M, span_warning("You hit the edge of the chute.")) return M.forceMove(src) flush() diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm index 61524ccaa2c..abf3d8eb93a 100644 --- a/code/modules/recycling/disposal/construction.dm +++ b/code/modules/recycling/disposal/construction.dm @@ -100,7 +100,7 @@ /obj/structure/disposalconstruct/proc/can_be_rotated(mob/user,rotation_type) if(anchored) - to_chat(user, "You must unfasten the pipe before rotating it!") + to_chat(user, span_warning("You must unfasten the pipe before rotating it!")) return FALSE return TRUE @@ -111,7 +111,7 @@ ..() if(anchored) set_anchored(FALSE) - to_chat(user, "You detach the [pipename] from the underfloor.") + to_chat(user, span_notice("You detach the [pipename] from the underfloor.")) else var/ispipe = is_pipe() // Indicates if we should change the level of this pipe @@ -119,11 +119,11 @@ if(T.intact && isfloorturf(T)) var/obj/item/crowbar/held_crowbar = user.is_holding_item_of_type(/obj/item/crowbar) if(!held_crowbar || !T.crowbar_act(user, held_crowbar)) - to_chat(user, "You can only attach the [pipename] if the floor plating is removed!") + to_chat(user, span_warning("You can only attach the [pipename] if the floor plating is removed!")) return TRUE if(!ispipe && iswallturf(T)) - to_chat(user, "You can't build [pipename]s on walls, only disposal pipes!") + to_chat(user, span_warning("You can't build [pipename]s on walls, only disposal pipes!")) return TRUE if(ispipe) @@ -136,18 +136,18 @@ if(istype(CP, /obj/structure/disposalpipe/broken)) qdel(CP) else - to_chat(user, "There is already a disposal pipe at that location!") + to_chat(user, span_warning("There is already a disposal pipe at that location!")) return TRUE else // Disposal or outlet var/found_trunk = locate(/obj/structure/disposalpipe/trunk) in T if(!found_trunk) - to_chat(user, "The [pipename] requires a trunk underneath it in order to work!") + to_chat(user, span_warning("The [pipename] requires a trunk underneath it in order to work!")) return TRUE set_anchored(TRUE) - to_chat(user, "You attach the [pipename] to the underfloor.") + to_chat(user, span_notice("You attach the [pipename] to the underfloor.")) I.play_tool_sound(src, 100) update_appearance() return TRUE @@ -158,14 +158,14 @@ if(!I.tool_start_check(user, amount=0)) return TRUE - to_chat(user, "You start welding the [pipename] in place...") + to_chat(user, span_notice("You start welding the [pipename] in place...")) if(I.use_tool(src, user, 8, volume=50)) - to_chat(user, "The [pipename] has been welded in place.") + to_chat(user, span_notice("The [pipename] has been welded in place.")) var/obj/O = new pipe_type(loc, src) transfer_fingerprints_to(O) else - to_chat(user, "You need to attach it to the plating first!") + to_chat(user, span_warning("You need to attach it to the plating first!")) return TRUE /obj/structure/disposalconstruct/proc/is_pipe() diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm index a460d2e0e7b..07d78acdaf7 100644 --- a/code/modules/recycling/disposal/outlet.dm +++ b/code/modules/recycling/disposal/outlet.dm @@ -68,9 +68,9 @@ return TRUE playsound(src, 'sound/items/welder2.ogg', 100, TRUE) - to_chat(user, "You start slicing the floorweld off [src]...") + to_chat(user, span_notice("You start slicing the floorweld off [src]...")) if(I.use_tool(src, user, 20)) - to_chat(user, "You slice the floorweld off [src].") + to_chat(user, span_notice("You slice the floorweld off [src].")) stored.forceMove(loc) transfer_fingerprints_to(stored) stored = null @@ -81,17 +81,17 @@ . = ..() switch(eject_speed) if(EJECT_SPEED_SLOW) - . += "An LED image of a turtle is displayed on the side of the outlet." + . += span_info("An LED image of a turtle is displayed on the side of the outlet.") if(EJECT_SPEED_MED) - . += "An LED image of a bumblebee is displayed on the side of the outlet." + . += span_info("An LED image of a bumblebee is displayed on the side of the outlet.") if(EJECT_SPEED_FAST) - . += "An LED image of a speeding bullet is displayed on the side of the outlet." + . += span_info("An LED image of a speeding bullet is displayed on the side of the outlet.") if(EJECT_SPEED_YEET) - . += "An LED image of a grawlix is displayed on the side of the outlet." + . += span_info("An LED image of a grawlix is displayed on the side of the outlet.") /obj/structure/disposaloutlet/multitool_act(mob/living/user, obj/item/I) . = ..() - to_chat(user, "You adjust the ejection force on \the [src].") + to_chat(user, span_notice("You adjust the ejection force on \the [src].")) switch(eject_speed) if(EJECT_SPEED_SLOW) eject_speed = EJECT_SPEED_MED @@ -110,5 +110,5 @@ . = ..() if(obj_flags & EMAGGED) return - to_chat(user, "You silently disable the sanity checking on \the [src]'s ejection force.") + to_chat(user, span_notice("You silently disable the sanity checking on \the [src]'s ejection force.")) obj_flags |= EMAGGED diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm index 0dcbdba858a..f9591970a4f 100644 --- a/code/modules/recycling/disposal/pipe.dm +++ b/code/modules/recycling/disposal/pipe.dm @@ -131,10 +131,10 @@ if(!I.tool_start_check(user, amount=0)) return TRUE - to_chat(user, "You start slicing [src]...") + to_chat(user, span_notice("You start slicing [src]...")) if(I.use_tool(src, user, 30, volume=50)) deconstruct() - to_chat(user, "You slice [src].") + to_chat(user, span_notice("You slice [src].")) return TRUE //checks if something is blocking the deconstruction (e.g. trunk with a bin still linked to it) @@ -246,7 +246,7 @@ /obj/structure/disposalpipe/trunk/can_be_deconstructed(mob/user) if(linked) - to_chat(user, "You need to deconstruct disposal machinery above this pipe!") + to_chat(user, span_warning("You need to deconstruct disposal machinery above this pipe!")) return FALSE return TRUE diff --git a/code/modules/recycling/disposal/pipe_sorting.dm b/code/modules/recycling/disposal/pipe_sorting.dm index 9e237934b45..167ffa28d4c 100644 --- a/code/modules/recycling/disposal/pipe_sorting.dm +++ b/code/modules/recycling/disposal/pipe_sorting.dm @@ -62,10 +62,10 @@ if(O.currTag)// Tagger has a tag set if(O.currTag in sortTypes) sortTypes -= O.currTag - to_chat(user, "Removed \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.") + to_chat(user, span_notice("Removed \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.")) else sortTypes |= O.currTag - to_chat(user, "Added \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.") + to_chat(user, span_notice("Added \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.")) playsound(src, 'sound/machines/twobeep_high.ogg', 100, TRUE) else return ..() diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 8114400bdac..9fc89257696 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -15,7 +15,7 @@ RegisterSignal(src, COMSIG_MOVABLE_DISPOSING, .proc/disposal_handling) /obj/structure/big_delivery/interact(mob/user) - to_chat(user, "You start to unwrap the package...") + to_chat(user, span_notice("You start to unwrap the package...")) if(!do_after(user, 15, target = user)) return playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) @@ -55,42 +55,42 @@ if(sort_tag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) - to_chat(user, "*[tag]*") + to_chat(user, span_notice("*[tag]*")) sort_tag = O.currTag playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE) else if(istype(W, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on the side of [src]!") + to_chat(user, span_notice("You scribble illegibly on the side of [src]!")) return var/str = stripped_input(user, "Label text?", "Set label", "", MAX_NAME_LEN) if(!user.canUseTopic(src, BE_CLOSE)) return if(!str || !length(str)) - to_chat(user, "Invalid text!") + to_chat(user, span_warning("Invalid text!")) return - user.visible_message("[user] labels [src] as [str].") + user.visible_message(span_notice("[user] labels [src] as [str].")) name = "[name] ([str])" else if(istype(W, /obj/item/stack/wrapping_paper) && !giftwrapped) var/obj/item/stack/wrapping_paper/WP = W if(WP.use(3)) - user.visible_message("[user] wraps the package in festive paper!") + user.visible_message(span_notice("[user] wraps the package in festive paper!")) giftwrapped = TRUE icon_state = "gift[icon_state]" greyscale_config = text2path("/datum/greyscale_config/[icon_state]") set_greyscale(colors = WP.greyscale_colors) else - to_chat(user, "You need more paper!") + to_chat(user, span_warning("You need more paper!")) else if(istype(W, /obj/item/paper)) if(note) - to_chat(user, "This package already has a note attached!") + to_chat(user, span_warning("This package already has a note attached!")) return if(!user.transferItemToLoc(W, src)) - to_chat(user, "For some reason, you can't attach [W]!") + to_chat(user, span_warning("For some reason, you can't attach [W]!")) return - user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].") + user.visible_message(span_notice("[user] attaches [W] to [src]."), span_notice("You attach [W] to [src].")) note = W var/overlaystring = "[icon_state]_note" if(giftwrapped) @@ -100,15 +100,15 @@ else if(istype(W, /obj/item/sales_tagger)) var/obj/item/sales_tagger/tagger = W if(sticker) - to_chat(user, "This package already has a barcode attached!") + to_chat(user, span_warning("This package already has a barcode attached!")) return if(!(tagger.payments_acc)) - to_chat(user, "Swipe an ID on [tagger] first!") + to_chat(user, span_warning("Swipe an ID on [tagger] first!")) return if(tagger.paper_count <= 0) - to_chat(user, "[tagger] is out of paper!") + to_chat(user, span_warning("[tagger] is out of paper!")) return - user.visible_message("[user] attaches a barcode to [src].", "You attach a barcode to [src].") + user.visible_message(span_notice("[user] attaches a barcode to [src]."), span_notice("You attach a barcode to [src].")) tagger.paper_count -= 1 sticker = new /obj/item/barcode(src) sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account. @@ -124,13 +124,13 @@ else if(istype(W, /obj/item/barcode)) var/obj/item/barcode/stickerA = W if(sticker) - to_chat(user, "This package already has a barcode attached!") + to_chat(user, span_warning("This package already has a barcode attached!")) return if(!(stickerA.payments_acc)) - to_chat(user, "This barcode seems to be invalid. Guess it's trash now.") + to_chat(user, span_warning("This barcode seems to be invalid. Guess it's trash now.")) return if(!user.transferItemToLoc(W, src)) - to_chat(user, "For some reason, you can't attach [W]!") + to_chat(user, span_warning("For some reason, you can't attach [W]!")) return sticker = stickerA var/list/wrap_contents = src.GetAllContents() @@ -150,11 +150,11 @@ var/atom/movable/AM = loc //can't unwrap the wrapped container if it's inside something. AM.relay_container_resist_act(user, O) return - to_chat(user, "You lean on the back of [O] and start pushing to rip the wrapping around it.") + to_chat(user, span_notice("You lean on the back of [O] and start pushing to rip the wrapping around it.")) if(do_after(user, 50, target = O)) if(!user || user.stat != CONSCIOUS || user.loc != O || O.loc != src ) return - to_chat(user, "You successfully removed [O]'s wrapping !") + to_chat(user, span_notice("You successfully removed [O]'s wrapping !")) O.forceMove(loc) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) new /obj/effect/decal/cleanable/wrapping(get_turf(user)) @@ -162,7 +162,7 @@ qdel(src) else if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. - to_chat(user, "You fail to remove [O]'s wrapping!") + to_chat(user, span_warning("You fail to remove [O]'s wrapping!")) /obj/structure/big_delivery/proc/unwrap_contents() if(!sticker) @@ -200,7 +200,7 @@ SSexplosions.low_mov_atom += contents /obj/item/small_delivery/attack_self(mob/user) - to_chat(user, "You start to unwrap the package...") + to_chat(user, span_notice("You start to unwrap the package...")) if(!do_after(user, 15, target = user)) return user.temporarilyRemoveItemFromInventory(src, TRUE) @@ -248,42 +248,42 @@ if(sort_tag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) - to_chat(user, "*[tag]*") + to_chat(user, span_notice("*[tag]*")) sort_tag = O.currTag playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE) else if(istype(W, /obj/item/pen)) if(!user.is_literate()) - to_chat(user, "You scribble illegibly on the side of [src]!") + to_chat(user, span_notice("You scribble illegibly on the side of [src]!")) return var/str = stripped_input(user, "Label text?", "Set label", "", MAX_NAME_LEN) if(!user.canUseTopic(src, BE_CLOSE)) return if(!str || !length(str)) - to_chat(user, "Invalid text!") + to_chat(user, span_warning("Invalid text!")) return - user.visible_message("[user] labels [src] as [str].") + user.visible_message(span_notice("[user] labels [src] as [str].")) name = "[name] ([str])" else if(istype(W, /obj/item/stack/wrapping_paper) && !giftwrapped) var/obj/item/stack/wrapping_paper/WP = W if(WP.use(1)) - user.visible_message("[user] wraps the package in festive paper!") + user.visible_message(span_notice("[user] wraps the package in festive paper!")) giftwrapped = TRUE icon_state = "gift[icon_state]" greyscale_config = text2path("/datum/greyscale_config/[icon_state]") set_greyscale(colors = WP.greyscale_colors) else - to_chat(user, "You need more paper!") + to_chat(user, span_warning("You need more paper!")) else if(istype(W, /obj/item/paper)) if(note) - to_chat(user, "This package already has a note attached!") + to_chat(user, span_warning("This package already has a note attached!")) return if(!user.transferItemToLoc(W, src)) - to_chat(user, "For some reason, you can't attach [W]!") + to_chat(user, span_warning("For some reason, you can't attach [W]!")) return - user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].") + user.visible_message(span_notice("[user] attaches [W] to [src]."), span_notice("You attach [W] to [src].")) note = W var/overlaystring = "[icon_state]_note" if(giftwrapped) @@ -293,15 +293,15 @@ else if(istype(W, /obj/item/sales_tagger)) var/obj/item/sales_tagger/tagger = W if(sticker) - to_chat(user, "This package already has a barcode attached!") + to_chat(user, span_warning("This package already has a barcode attached!")) return if(!(tagger.payments_acc)) - to_chat(user, "Swipe an ID on [tagger] first!") + to_chat(user, span_warning("Swipe an ID on [tagger] first!")) return if(tagger.paper_count <= 0) - to_chat(user, "[tagger] is out of paper!") + to_chat(user, span_warning("[tagger] is out of paper!")) return - user.visible_message("[user] attaches a barcode to [src].", "You attach a barcode to [src].") + user.visible_message(span_notice("[user] attaches a barcode to [src]."), span_notice("You attach a barcode to [src].")) tagger.paper_count -= 1 sticker = new /obj/item/barcode(src) sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account. @@ -318,13 +318,13 @@ else if(istype(W, /obj/item/barcode)) var/obj/item/barcode/stickerA = W if(sticker) - to_chat(user, "This package already has a barcode attached!") + to_chat(user, span_warning("This package already has a barcode attached!")) return if(!(stickerA.payments_acc)) - to_chat(user, "This barcode seems to be invalid. Guess it's trash now.") + to_chat(user, span_warning("This barcode seems to be invalid. Guess it's trash now.")) return if(!user.transferItemToLoc(W, src)) - to_chat(user, "For some reason, you can't attach [W]!") + to_chat(user, span_warning("For some reason, you can't attach [W]!")) return sticker = stickerA var/list/wrap_contents = src.GetAllContents() @@ -366,11 +366,11 @@ desc = "Used to fool the disposal mail network into thinking that you're a harmless parcel. Does actually work as a regular destination tagger as well." /obj/item/dest_tagger/suicide_act(mob/living/user) - user.visible_message("[user] begins tagging [user.p_their()] final destination! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] begins tagging [user.p_their()] final destination! It looks like [user.p_theyre()] trying to commit suicide!")) if (islizard(user)) - to_chat(user, "*HELL*")//lizard nerf + to_chat(user, span_notice("*HELL*"))//lizard nerf else - to_chat(user, "*HEAVEN*") + to_chat(user, span_notice("*HEAVEN*")) playsound(src, 'sound/machines/twobeep_high.ogg', 100, TRUE) return BRUTELOSS @@ -425,10 +425,10 @@ /obj/item/sales_tagger/examine(mob/user) . = ..() - . += "[src] has [paper_count]/[max_paper_count] available barcodes. Refill with paper." - . += "Profit split on sale is currently set to [round(cut_multiplier*100)]%. Alt-click to change." + . += span_notice("[src] has [paper_count]/[max_paper_count] available barcodes. Refill with paper.") + . += span_notice("Profit split on sale is currently set to [round(cut_multiplier*100)]%. Alt-click to change.") if(payments_acc) - . += "Ctrl-click to clear the registered account." + . += span_notice("Ctrl-click to clear the registered account.") /obj/item/sales_tagger/attackby(obj/item/I, mob/living/user, params) . = ..() @@ -436,14 +436,14 @@ var/obj/item/card/id/potential_acc = I if(potential_acc.registered_account) if(payments_acc == potential_acc.registered_account) - to_chat(user, "ID card already registered.") + to_chat(user, span_notice("ID card already registered.")) return else payments_acc = potential_acc.registered_account playsound(src, 'sound/machines/ping.ogg', 40, TRUE) - to_chat(user, "[src] registers the ID card. Tag a wrapped item to create a barcode.") + to_chat(user, span_notice("[src] registers the ID card. Tag a wrapped item to create a barcode.")) else if(!potential_acc.registered_account) - to_chat(user, "This ID card has no account registered!") + to_chat(user, span_warning("This ID card has no account registered!")) return if(istype(I, /obj/item/paper)) if (!(paper_count >= max_paper_count)) @@ -451,25 +451,25 @@ qdel(I) if (paper_count >= max_paper_count) paper_count = max_paper_count - to_chat(user, "[src]'s paper supply is now full.") + to_chat(user, span_notice("[src]'s paper supply is now full.")) return - to_chat(user, "You refill [src]'s paper supply, you have [paper_count] left.") + to_chat(user, span_notice("You refill [src]'s paper supply, you have [paper_count] left.")) return else - to_chat(user, "[src]'s paper supply is full.") + to_chat(user, span_notice("[src]'s paper supply is full.")) return /obj/item/sales_tagger/attack_self(mob/user) . = ..() if(paper_count <= 0) - to_chat(user, "You're out of paper!'.") + to_chat(user, span_warning("You're out of paper!'.")) return if(!payments_acc) - to_chat(user, "You need to swipe [src] with an ID card first.") + to_chat(user, span_warning("You need to swipe [src] with an ID card first.")) return paper_count -= 1 playsound(src, 'sound/machines/click.ogg', 40, TRUE) - to_chat(user, "You print a new barcode.") + to_chat(user, span_notice("You print a new barcode.")) var/obj/item/barcode/new_barcode = new /obj/item/barcode(src) new_barcode.payments_acc = payments_acc // The sticker gets the scanner's registered account. new_barcode.cut_multiplier = cut_multiplier // Also the registered percent cut. @@ -478,7 +478,7 @@ /obj/item/sales_tagger/CtrlClick(mob/user) . = ..() payments_acc = null - to_chat(user, "You clear the registered account.") + to_chat(user, span_notice("You clear the registered account.")) /obj/item/sales_tagger/AltClick(mob/user) . = ..() @@ -486,7 +486,7 @@ if(!potential_cut) cut_multiplier = initial(cut_multiplier) cut_multiplier = clamp(round(potential_cut/100, cut_min), cut_min, cut_max) - to_chat(user, "[round(cut_multiplier*100)]% profit will be received if a package with a barcode is sold.") + to_chat(user, span_notice("[round(cut_multiplier*100)]% profit will be received if a package with a barcode is sold.")) /obj/item/barcode name = "barcode tag" diff --git a/code/modules/religion/religion_sects.dm b/code/modules/religion/religion_sects.dm index 15206db222d..6feca9dfdfc 100644 --- a/code/modules/religion/religion_sects.dm +++ b/code/modules/religion/religion_sects.dm @@ -98,7 +98,7 @@ for(var/X in blessed.bodyparts) var/obj/item/bodypart/bodypart = X if(bodypart.status == BODYPART_ROBOTIC) - to_chat(chap, "[GLOB.deity] refuses to heal this metallic taint!") + to_chat(chap, span_warning("[GLOB.deity] refuses to heal this metallic taint!")) return TRUE var/heal_amt = 10 @@ -109,8 +109,8 @@ var/obj/item/bodypart/affecting = X if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC)) blessed.update_damage_overlays() - blessed.visible_message("[chap] heals [blessed] with the power of [GLOB.deity]!") - to_chat(blessed, "May the power of [GLOB.deity] compel you to be healed!") + blessed.visible_message(span_notice("[chap] heals [blessed] with the power of [GLOB.deity]!")) + to_chat(blessed, span_boldnotice("May the power of [GLOB.deity] compel you to be healed!")) playsound(chap, "punch", 25, TRUE, -1) SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) return TRUE @@ -143,8 +143,8 @@ if(target.mind?.holy_role == HOLY_ROLE_HIGHPRIEST) charge_amt *= 2 R.cell?.charge += charge_amt - R.visible_message("[chap] charges [R] with the power of [GLOB.deity]!") - to_chat(R, "You are charged by the power of [GLOB.deity]!") + R.visible_message(span_notice("[chap] charges [R] with the power of [GLOB.deity]!")) + to_chat(R, span_boldnotice("You are charged by the power of [GLOB.deity]!")) SEND_SIGNAL(R, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) playsound(chap, 'sound/effects/bang.ogg', 25, TRUE, -1) return TRUE @@ -163,10 +163,10 @@ var/obj/item/bodypart/bodypart = blessed.get_bodypart(chap.zone_selected) if(bodypart.status != BODYPART_ROBOTIC) if(!did_we_charge) - to_chat(chap, "[GLOB.deity] scoffs at the idea of healing such fleshy matter!") + to_chat(chap, span_warning("[GLOB.deity] scoffs at the idea of healing such fleshy matter!")) else - blessed.visible_message("[chap] charges [blessed] with the power of [GLOB.deity]!") - to_chat(blessed, "You feel charged by the power of [GLOB.deity]!") + blessed.visible_message(span_notice("[chap] charges [blessed] with the power of [GLOB.deity]!")) + to_chat(blessed, span_boldnotice("You feel charged by the power of [GLOB.deity]!")) SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) playsound(chap, 'sound/machines/synth_yes.ogg', 25, TRUE, -1) return TRUE @@ -175,8 +175,8 @@ if(bodypart.heal_damage(5,5,null,BODYPART_ROBOTIC)) blessed.update_damage_overlays() - blessed.visible_message("[chap] [did_we_charge ? "repairs" : "repairs and charges"] [blessed] with the power of [GLOB.deity]!") - to_chat(blessed, "The inner machinations of [GLOB.deity] [did_we_charge ? "repairs" : "repairs and charges"] you!") + blessed.visible_message(span_notice("[chap] [did_we_charge ? "repairs" : "repairs and charges"] [blessed] with the power of [GLOB.deity]!")) + to_chat(blessed, span_boldnotice("The inner machinations of [GLOB.deity] [did_we_charge ? "repairs" : "repairs and charges"] you!")) playsound(chap, 'sound/effects/bang.ogg', 25, TRUE, -1) SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) return TRUE @@ -186,10 +186,10 @@ if(!istype(the_cell)) //how... return if(the_cell.charge < 300) - to_chat(chap,"[GLOB.deity] does not accept pity amounts of power.") + to_chat(chap,span_notice("[GLOB.deity] does not accept pity amounts of power.")) return adjust_favor(round(the_cell.charge/300), chap) - to_chat(chap, "You offer [the_cell]'s power to [GLOB.deity], pleasing them.") + to_chat(chap, span_notice("You offer [the_cell]'s power to [GLOB.deity], pleasing them.")) qdel(I) return TRUE @@ -214,9 +214,9 @@ if(!istype(offering)) return if(!offering.lit) - to_chat(user, "The candle needs to be lit to be offered!") + to_chat(user, span_notice("The candle needs to be lit to be offered!")) return - to_chat(user, "[GLOB.deity] is pleased with your sacrifice.") + to_chat(user, span_notice("[GLOB.deity] is pleased with your sacrifice.")) adjust_favor(20, user) //it's not a lot but hey there's a pacifist favor option at least qdel(offering) return TRUE @@ -239,17 +239,17 @@ /datum/religion_sect/greed/sect_bless(mob/living/blessed_living, mob/living/chap) var/datum/bank_account/account = chap.get_bank_account() if(!account) - to_chat(chap, "You need a way to pay for the heal!") + to_chat(chap, span_warning("You need a way to pay for the heal!")) return TRUE if(account.account_balance < GREEDY_HEAL_COST) - to_chat(chap, "Healing from [GLOB.deity] costs [GREEDY_HEAL_COST] credits for 30 health!") + to_chat(chap, span_warning("Healing from [GLOB.deity] costs [GREEDY_HEAL_COST] credits for 30 health!")) return TRUE if(!ishuman(blessed_living)) return FALSE var/mob/living/carbon/human/blessed = blessed_living for(var/obj/item/bodypart/robolimb as anything in blessed.bodyparts) if(robolimb.status == BODYPART_ROBOTIC) - to_chat(chap, "[GLOB.deity] refuses to heal this metallic taint!") + to_chat(chap, span_warning("[GLOB.deity] refuses to heal this metallic taint!")) return TRUE account.adjust_money(-GREEDY_HEAL_COST) @@ -259,8 +259,8 @@ for(var/obj/item/bodypart/affecting as anything in hurt_limbs) if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC)) blessed.update_damage_overlays() - blessed.visible_message("[chap] barters a heal for [blessed] from [GLOB.deity]!") - to_chat(blessed, "May the power of [GLOB.deity] compel you to be healed! Thank you for choosing [GLOB.deity]!") + blessed.visible_message(span_notice("[chap] barters a heal for [blessed] from [GLOB.deity]!")) + to_chat(blessed, span_boldnotice("May the power of [GLOB.deity] compel you to be healed! Thank you for choosing [GLOB.deity]!")) playsound(chap, 'sound/effects/cashregister.ogg', 60, TRUE) SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) return TRUE @@ -296,10 +296,10 @@ /datum/religion_sect/honorbound/on_conversion(mob/living/carbon/new_convert) ..() if(!ishuman(new_convert)) - to_chat("[GLOB.deity] has no respect for lower creatures, and refuses to make you honorbound.") + to_chat(span_warning("[GLOB.deity] has no respect for lower creatures, and refuses to make you honorbound.")) return FALSE if(TRAIT_GENELESS in new_convert.dna.species.inherent_traits) - to_chat("[GLOB.deity] has deemed your species as one that could never show honor.") + to_chat(span_warning("[GLOB.deity] has deemed your species as one that could never show honor.")) return FALSE var/datum/dna/holy_dna = new_convert.dna holy_dna.add_mutation(HONORBOUND) @@ -317,10 +317,10 @@ /datum/religion_sect/burden/on_conversion(mob/living/carbon/human/new_convert) ..() if(!ishuman(new_convert)) - to_chat("[GLOB.deity] needs higher level creatures to fully comprehend the suffering. You are not burdened.") + to_chat(span_warning("[GLOB.deity] needs higher level creatures to fully comprehend the suffering. You are not burdened.")) return if(TRAIT_GENELESS in new_convert.dna.species.inherent_traits) - to_chat("[GLOB.deity] cannot help a species such as yourself comprehend the suffering. You are not burdened.") + to_chat(span_warning("[GLOB.deity] cannot help a species such as yourself comprehend the suffering. You are not burdened.")) return var/datum/dna/holy_dna = new_convert.dna holy_dna.add_mutation(/datum/mutation/human/burdened) @@ -350,11 +350,11 @@ return TRUE var/mob/living/carbon/human/blessed = blessed_living if(blessed.reagents.has_reagent(/datum/reagent/drug/maint/sludge)) - to_chat(blessed, "[GLOB.deity] has already empowered them.") + to_chat(blessed, span_warning("[GLOB.deity] has already empowered them.")) return TRUE blessed.reagents.add_reagent(/datum/reagent/drug/maint/sludge, 5) - blessed.visible_message("[chap] empowers [blessed] with the power of [GLOB.deity]!") - to_chat(blessed, "The power of [GLOB.deity] has made you harder to wound for a while!") + blessed.visible_message(span_notice("[chap] empowers [blessed] with the power of [GLOB.deity]!")) + to_chat(blessed, span_boldnotice("The power of [GLOB.deity] has made you harder to wound for a while!")) playsound(chap, "punch", 25, TRUE, -1) SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) return TRUE //trust me, you'll be feeling the pain from the maint drugs all well enough @@ -365,9 +365,9 @@ var/datum/reagent/yuck/wanted_yuck = offering.reagents.has_reagent(/datum/reagent/yuck, MINIMUM_YUCK_REQUIRED) var/favor_earned = offering.reagents.get_reagent_amount(/datum/reagent/yuck) if(!wanted_yuck) - to_chat(user, "[offering] does not have enough organic slurry for [GLOB.deity] to enjoy.") + to_chat(user, span_warning("[offering] does not have enough organic slurry for [GLOB.deity] to enjoy.")) return - to_chat(user, "[GLOB.deity] loves organic slurry.") + to_chat(user, span_notice("[GLOB.deity] loves organic slurry.")) adjust_favor(favor_earned, user) playsound(get_turf(offering), 'sound/items/drink.ogg', 50, TRUE) offering.reagents.clear_reagents() diff --git a/code/modules/religion/religion_structures.dm b/code/modules/religion/religion_structures.dm index d1646fd2def..c58238b90f6 100644 --- a/code/modules/religion/religion_structures.dm +++ b/code/modules/religion/religion_structures.dm @@ -32,7 +32,7 @@ return ..() var/mob/living/pushed_mob = user.pulling if(pushed_mob.buckled) - to_chat(user, "[pushed_mob] is buckled to [pushed_mob.buckled]!") + to_chat(user, span_warning("[pushed_mob] is buckled to [pushed_mob.buckled]!")) return ..() to_chat(user,"You examine [src] closer, and note the following...") + . = list(span_notice("You examine [src] closer, and note the following...")) if(GLOB.religion) - . += list("Deity: [GLOB.deity].") - . += list("Religion: [GLOB.religion].") - . += list("Bible: [GLOB.bible_name].") + . += list(span_notice("Deity: [GLOB.deity].")) + . += list(span_notice("Religion: [GLOB.religion].")) + . += list(span_notice("Bible: [GLOB.bible_name].")) if(GLOB.religious_sect) - . += list("Sect: [GLOB.religious_sect].") - . += list("Favor: [GLOB.religious_sect.favor].") + . += list(span_notice("Sect: [GLOB.religious_sect].")) + . += list(span_notice("Favor: [GLOB.religious_sect.favor].")) var/chaplains = get_chaplains() if(isAdminObserver(user) && chaplains) - . += list("Chaplains: [chaplains].") + . += list(span_notice("Chaplains: [chaplains].")) /obj/structure/altar_of_gods/proc/reflect_sect_in_icons() if(GLOB.religious_sect) @@ -91,10 +91,10 @@ /obj/item/ritual_totem/proc/block_magic(mob/user, major) if(major) - to_chat(user, "[src] consumes the magic within itself!") + to_chat(user, span_warning("[src] consumes the magic within itself!")) /obj/item/ritual_totem/proc/expire(mob/user) - to_chat(user, "[src] quickly decays into rot!") + to_chat(user, span_warning("[src] quickly decays into rot!")) qdel(src) new /obj/effect/decal/cleanable/ash(drop_location()) @@ -106,18 +106,18 @@ . = ..() var/is_holy = user.mind?.holy_role if(is_holy) - . += "[src] can only be moved by important followers of [GLOB.deity]." + . += span_notice("[src] can only be moved by important followers of [GLOB.deity].") /obj/item/ritual_totem/pickup(mob/taker) var/initial_loc = loc var/holiness = taker.mind?.holy_role var/no_take = FALSE if(holiness == NONE) - to_chat(taker, "Try as you may, you're seemingly unable to pick [src] up!") + to_chat(taker, span_warning("Try as you may, you're seemingly unable to pick [src] up!")) no_take = TRUE else if(holiness == HOLY_ROLE_DEACON) //deacons cannot pick them up either no_take = TRUE - to_chat(taker, "You cannot pick [src] up. It seems you aren't important enough to [GLOB.deity] to do that.") + to_chat(taker, span_warning("You cannot pick [src] up. It seems you aren't important enough to [GLOB.deity] to do that.")) ..() if(no_take) taker.dropItemToGround(src) diff --git a/code/modules/religion/rites.dm b/code/modules/religion/rites.dm index b3e0fd6793d..c7fa03051f1 100644 --- a/code/modules/religion/rites.dm +++ b/code/modules/religion/rites.dm @@ -25,7 +25,7 @@ /datum/religion_rites/proc/can_afford(mob/living/user) if(GLOB.religious_sect?.favor < favor_cost) - to_chat(user, "This rite requires more favor!") + to_chat(user, span_warning("This rite requires more favor!")) return FALSE return TRUE @@ -33,7 +33,7 @@ /datum/religion_rites/proc/perform_rite(mob/living/user, atom/religious_tool) if(!can_afford(user)) return FALSE - to_chat(user, "You begin to perform the rite of [name]...") + to_chat(user, span_notice("You begin to perform the rite of [name]...")) if(!ritual_invocations) if(do_after(user, target = user, delay = ritual_length)) return TRUE @@ -77,7 +77,7 @@ /datum/religion_rites/synthconversion/perform_rite(mob/living/user, atom/religious_tool) if(!ismovable(religious_tool)) - to_chat(user, "This rite requires a religious device that individuals can be buckled to.") + to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to.")) return FALSE var/atom/movable/movable_reltool = religious_tool if(!movable_reltool) @@ -85,9 +85,9 @@ if(!LAZYLEN(movable_reltool.buckled_mobs)) . = FALSE if(!movable_reltool.can_buckle) //yes, if you have somehow managed to have someone buckled to something that now cannot buckle, we will still let you perform the rite! - to_chat(user, "This rite requires a religious device that individuals can be buckled to.") + to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to.")) return - to_chat(user, "This rite requires an individual to be buckled to [movable_reltool].") + to_chat(user, span_warning("This rite requires an individual to be buckled to [movable_reltool].")) return return ..() @@ -106,7 +106,7 @@ if(!human2borg) return FALSE human2borg.set_species(/datum/species/android) - human2borg.visible_message("[human2borg] has been converted by the rite of [name]!") + human2borg.visible_message(span_notice("[human2borg] has been converted by the rite of [name]!")) return TRUE @@ -150,7 +150,7 @@ chosen_clothing = null //our lord and savior no longer cares about this apparel return TRUE chosen_clothing = null - to_chat(user, "The clothing that was chosen for the rite is no longer on the altar!") + to_chat(user, span_warning("The clothing that was chosen for the rite is no longer on the altar!")) return FALSE @@ -168,44 +168,44 @@ /datum/religion_rites/burning_sacrifice/perform_rite(mob/living/user, atom/religious_tool) if(!ismovable(religious_tool)) - to_chat(user, "This rite requires a religious device that individuals can be buckled to.") + to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to.")) return FALSE var/atom/movable/movable_reltool = religious_tool if(!movable_reltool) return FALSE if(!LAZYLEN(movable_reltool.buckled_mobs)) - to_chat(user, "Nothing is buckled to the altar!") + to_chat(user, span_warning("Nothing is buckled to the altar!")) return FALSE for(var/corpse in movable_reltool.buckled_mobs) if(!iscarbon(corpse))// only works with carbon corpse since most normal mobs can't be set on fire. - to_chat(user, "Only carbon lifeforms can be properly burned for the sacrifice!") + to_chat(user, span_warning("Only carbon lifeforms can be properly burned for the sacrifice!")) return FALSE chosen_sacrifice = corpse if(chosen_sacrifice.stat != DEAD) - to_chat(user, "You can only sacrifice dead bodies, this one is still alive!") + to_chat(user, span_warning("You can only sacrifice dead bodies, this one is still alive!")) return FALSE if(!chosen_sacrifice.on_fire) - to_chat(user, "This corpse needs to be on fire to be sacrificed!") + to_chat(user, span_warning("This corpse needs to be on fire to be sacrificed!")) return FALSE return ..() /datum/religion_rites/burning_sacrifice/invoke_effect(mob/living/user, atom/movable/religious_tool) ..() if(!(chosen_sacrifice in religious_tool.buckled_mobs)) //checks one last time if the right corpse is still buckled - to_chat(user, "The right sacrifice is no longer on the altar!") + to_chat(user, span_warning("The right sacrifice is no longer on the altar!")) chosen_sacrifice = null return FALSE if(!chosen_sacrifice.on_fire) - to_chat(user, "The sacrifice is no longer on fire, it needs to burn until the end of the rite!") + to_chat(user, span_warning("The sacrifice is no longer on fire, it needs to burn until the end of the rite!")) chosen_sacrifice = null return FALSE if(chosen_sacrifice.stat != DEAD) - to_chat(user, "The sacrifice has to stay dead for the rite to work!") + to_chat(user, span_warning("The sacrifice has to stay dead for the rite to work!")) chosen_sacrifice = null return FALSE var/favor_gained = 100 + round(chosen_sacrifice.getFireLoss()) GLOB.religious_sect.adjust_favor(favor_gained, user) - to_chat(user, "[GLOB.deity] absorbs the burning corpse and any trace of fire with it. [GLOB.deity] rewards you with [favor_gained] favor.") + to_chat(user, span_notice("[GLOB.deity] absorbs the burning corpse and any trace of fire with it. [GLOB.deity] rewards you with [favor_gained] favor.")) chosen_sacrifice.dust(force = TRUE) playsound(get_turf(religious_tool), 'sound/effects/supermatter.ogg', 50, TRUE) chosen_sacrifice = null @@ -239,17 +239,17 @@ /datum/religion_rites/greed/can_afford(mob/living/user) var/datum/bank_account/account = user.get_bank_account() if(!account) - to_chat(user, "You need a way to pay for the rite!") + to_chat(user, span_warning("You need a way to pay for the rite!")) return FALSE if(account.account_balance < money_cost) - to_chat(user, "This rite requires more money!") + to_chat(user, span_warning("This rite requires more money!")) return FALSE return TRUE /datum/religion_rites/greed/invoke_effect(mob/living/user, atom/movable/religious_tool) var/datum/bank_account/account = user.get_bank_account() if(!account || account.account_balance < money_cost) - to_chat(user, "This rite requires more money!") + to_chat(user, span_warning("This rite requires more money!")) return FALSE account.adjust_money(-money_cost) . = ..() @@ -301,27 +301,27 @@ /datum/religion_rites/deaconize/perform_rite(mob/living/user, atom/religious_tool) var/datum/religion_sect/honorbound/sect = GLOB.religious_sect if(!ismovable(religious_tool)) - to_chat(user, "This rite requires a religious device that individuals can be buckled to.") + to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to.")) return FALSE var/atom/movable/movable_reltool = religious_tool if(!movable_reltool) return FALSE if(!LAZYLEN(movable_reltool.buckled_mobs)) - to_chat(user, "Nothing is buckled to the altar!") + to_chat(user, span_warning("Nothing is buckled to the altar!")) return FALSE for(var/mob/living/carbon/human/possible_crusader in movable_reltool.buckled_mobs) if(possible_crusader.stat != CONSCIOUS) - to_chat(user, "[possible_crusader] needs to be alive and conscious to join the crusade!") + to_chat(user, span_warning("[possible_crusader] needs to be alive and conscious to join the crusade!")) return FALSE if(TRAIT_GENELESS in possible_crusader.dna.species.inherent_traits) - to_chat(user, "This species disgusts [GLOB.deity]! They would never be allowed to join the crusade!") + to_chat(user, span_warning("This species disgusts [GLOB.deity]! They would never be allowed to join the crusade!")) return FALSE if(possible_crusader in sect.currently_asking) - to_chat(user, "Wait for them to decide on whether to join or not!") + to_chat(user, span_warning("Wait for them to decide on whether to join or not!")) return FALSE if(!(possible_crusader in sect.possible_crusaders)) INVOKE_ASYNC(sect, /datum/religion_sect/honorbound.proc/invite_crusader, possible_crusader) - to_chat(user, "They have been given the option to consider joining the crusade against evil. Wait for them to decide and try again.") + to_chat(user, span_notice("They have been given the option to consider joining the crusade against evil. Wait for them to decide and try again.")) return FALSE new_crusader = possible_crusader return ..() @@ -331,16 +331,16 @@ var/mob/living/carbon/human/joining_now = new_crusader new_crusader = null if(!(joining_now in religious_tool.buckled_mobs)) //checks one last time if the right corpse is still buckled - to_chat(user, "The new member is no longer on the altar!") + to_chat(user, span_warning("The new member is no longer on the altar!")) return FALSE if(joining_now.stat != CONSCIOUS) - to_chat(user, "The new member has to stay alive for the rite to work!") + to_chat(user, span_warning("The new member has to stay alive for the rite to work!")) return FALSE if(!joining_now.mind) - to_chat(user, "The new member has no mind!") + to_chat(user, span_warning("The new member has no mind!")) return FALSE if(joining_now.mind.has_antag_datum(/datum/antagonist/cult))//what the fuck?! - to_chat(user, "[GLOB.deity] has seen a true, dark evil in [joining_now]'s heart, and they have been smitten!") + to_chat(user, span_warning("[GLOB.deity] has seen a true, dark evil in [joining_now]'s heart, and they have been smitten!")) playsound(get_turf(religious_tool), 'sound/effects/pray.ogg', 50, TRUE) joining_now.gib(TRUE) return FALSE @@ -348,7 +348,7 @@ if(joining_now in honormut.guilty) honormut.guilty -= joining_now GLOB.religious_sect.adjust_favor(200, user) - to_chat(user, "[GLOB.deity] has bound [joining_now] to the code! They are now a holy role! (albeit the lowest level of such)") + to_chat(user, span_notice("[GLOB.deity] has bound [joining_now] to the code! They are now a holy role! (albeit the lowest level of such)")) joining_now.mind.holy_role = HOLY_ROLE_DEACON GLOB.religious_sect.on_conversion(joining_now) playsound(get_turf(religious_tool), 'sound/effects/pray.ogg', 50, TRUE) @@ -368,7 +368,7 @@ if(!honormut) return FALSE if(!honormut.guilty.len) - to_chat(user, "[GLOB.deity] is holding no grudges to forgive.") + to_chat(user, span_warning("[GLOB.deity] is holding no grudges to forgive.")) return FALSE var/forgiven_choice = input(user, "Choose one of [GLOB.deity]'s guilty to forgive.", "Forgive") as null|anything in honormut.guilty if(!forgiven_choice) @@ -403,7 +403,7 @@ continue writ_target = could_writ //PLEASE SIGN MY AUTOGRAPH return ..() - to_chat(user, "You need to place blank paper on [religious_tool] to do this!") + to_chat(user, span_warning("You need to place blank paper on [religious_tool] to do this!")) return FALSE /datum/religion_rites/summon_rules/invoke_effect(mob/living/user, atom/movable/religious_tool) @@ -412,9 +412,9 @@ var/turf/tool_turf = get_turf(religious_tool) writ_target = null if(QDELETED(autograph) || !(tool_turf == autograph.loc)) //check if the same food is still there - to_chat(user, "Your target left the altar!") + to_chat(user, span_warning("Your target left the altar!")) return FALSE - autograph.visible_message("words magically form on [autograph]!") + autograph.visible_message(span_notice("words magically form on [autograph]!")) playsound(tool_turf, 'sound/effects/pray.ogg', 50, TRUE) new /obj/item/paper/holy_writ(tool_turf) qdel(autograph) @@ -473,13 +473,13 @@ return FALSE //uses HAS_TRAIT_FROM because junkies are also hopelessly addicted if(HAS_TRAIT_FROM(user, TRAIT_HOPELESSLY_ADDICTED, "maint_adaptation")) - to_chat(user, "You've already adapted.") + to_chat(user, span_warning("You've already adapted.")) return FALSE return ..() /datum/religion_rites/maint_adaptation/invoke_effect(mob/living/user, atom/movable/religious_tool) ..() - to_chat(user, "You feel your genes rattled and reshaped. You're becoming something new.") + to_chat(user, span_warning("You feel your genes rattled and reshaped. You're becoming something new.")) user.emote("laughs") ADD_TRAIT(user, TRAIT_HOPELESSLY_ADDICTED, "maint_adaptation") //addiction sends some nasty mood effects but we want the maint adaption to be enjoyed like a fine wine @@ -503,18 +503,18 @@ if(!ishuman(user)) return FALSE if(!HAS_TRAIT_FROM(user, TRAIT_HOPELESSLY_ADDICTED, "maint_adaptation")) - to_chat(user, "You need to adapt to maintenance first.") + to_chat(user, span_warning("You need to adapt to maintenance first.")) return FALSE var/obj/item/organ/eyes/night_vision/maintenance_adapted/adapted = user.getorganslot(ORGAN_SLOT_EYES) if(adapted && istype(adapted)) - to_chat(user, "Your eyes are already adapted!") + to_chat(user, span_warning("Your eyes are already adapted!")) return FALSE return ..() /datum/religion_rites/adapted_eyes/invoke_effect(mob/living/carbon/human/user, atom/movable/religious_tool) ..() var/obj/item/organ/eyes/oldeyes = user.getorganslot(ORGAN_SLOT_EYES) - to_chat(user, "You feel your eyes adapt to the darkness!") + to_chat(user, span_warning("You feel your eyes adapt to the darkness!")) if(oldeyes) oldeyes.Remove(user, special = TRUE) qdel(oldeyes)//eh @@ -536,7 +536,7 @@ continue mold_target = could_mold //moldify this o great one return ..() - to_chat(user, "You need to place food on [religious_tool] to do this!") + to_chat(user, span_warning("You need to place food on [religious_tool] to do this!")) return FALSE /datum/religion_rites/adapted_food/invoke_effect(mob/living/user, atom/movable/religious_tool) @@ -544,9 +544,9 @@ var/obj/item/food/moldify = mold_target mold_target = null if(QDELETED(moldify) || !(get_turf(religious_tool) == moldify.loc)) //check if the same food is still there - to_chat(user, "Your target left the altar!") + to_chat(user, span_warning("Your target left the altar!")) return FALSE - to_chat(user, "[moldify] becomes rancid!") + to_chat(user, span_warning("[moldify] becomes rancid!")) user.emote("laughs") new /obj/item/food/badrecipe/moldy(get_turf(religious_tool)) qdel(moldify) @@ -564,7 +564,7 @@ for(var/obj/item/stack/sheet/mineral/wood/could_totem in get_turf(religious_tool)) converted = could_totem //totemify this o great one return ..() - to_chat(user, "You need at least 1 wood to do this!") + to_chat(user, span_warning("You need at least 1 wood to do this!")) return FALSE /datum/religion_rites/ritual_totem/invoke_effect(mob/living/user, atom/movable/religious_tool) @@ -573,9 +573,9 @@ var/obj/item/stack/sheet/mineral/wood/padala = converted converted = null if(QDELETED(padala) || !(get_turf(religious_tool) == padala.loc)) //check if the same food is still there - to_chat(user, "Your target left the altar!") + to_chat(user, span_warning("Your target left the altar!")) return FALSE - to_chat(user, "[padala] reshapes into a totem!") + to_chat(user, span_warning("[padala] reshapes into a totem!")) if(!padala.use(1))//use one wood return user.emote("laughs") diff --git a/code/modules/research/anomaly/anomaly_core.dm b/code/modules/research/anomaly/anomaly_core.dm index de19ee199ed..9b914175448 100644 --- a/code/modules/research/anomaly/anomaly_core.dm +++ b/code/modules/research/anomaly/anomaly_core.dm @@ -21,14 +21,14 @@ return TRUE /obj/item/assembly/signaler/anomaly/manual_suicide(mob/living/carbon/user) - user.visible_message("[user]'s [src] is reacting to the radio signal, warping [user.p_their()] body!") + user.visible_message(span_suicide("[user]'s [src] is reacting to the radio signal, warping [user.p_their()] body!")) user.set_suicide(TRUE) user.suicide_log() user.gib() /obj/item/assembly/signaler/anomaly/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_ANALYZER) - to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].") + to_chat(user, span_notice("Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].")) return ..() //Anomaly cores diff --git a/code/modules/research/anomaly/explosive_compressor.dm b/code/modules/research/anomaly/explosive_compressor.dm index 4072a462140..226319fefa2 100644 --- a/code/modules/research/anomaly/explosive_compressor.dm +++ b/code/modules/research/anomaly/explosive_compressor.dm @@ -40,8 +40,8 @@ /obj/machinery/research/explosive_compressor/examine(mob/user) . = ..() - . += "Ctrl-Click to remove an inserted core." - . += "Click with an empty hand to gather information about the required radius of an inserted core. Insert a ready TTV to start the implosion process if a core is inserted." + . += span_notice("Ctrl-Click to remove an inserted core.") + . += span_notice("Click with an empty hand to gather information about the required radius of an inserted core. Insert a ready TTV to start the implosion process if a core is inserted.") /obj/machinery/research/explosive_compressor/assume_air(datum/gas_mixture/giver) qdel(giver) @@ -52,7 +52,7 @@ if(.) return if(!inserted_core) - to_chat(user, "There is no core inserted.") + to_chat(user, span_warning("There is no core inserted.")) return if(last_requirements_say + 3 SECONDS > world.time) return @@ -64,13 +64,13 @@ if(!istype(user) || !user.Adjacent(src) || !(user.mobility_flags & MOBILITY_USE)) return if(!inserted_core) - to_chat(user, "There is no core inserted.") + to_chat(user, span_warning("There is no core inserted.")) return if(testing) - to_chat(user, "You can't remove [inserted_core] from [src] while [p_theyre()] in testing mode.") + to_chat(user, span_warning("You can't remove [inserted_core] from [src] while [p_theyre()] in testing mode.")) return inserted_core.forceMove(get_turf(user)) - to_chat(user, "You remove [inserted_core] from [src].") + to_chat(user, span_notice("You remove [inserted_core] from [src].")) user.put_in_hands(inserted_core) inserted_core = null @@ -108,34 +108,34 @@ . = ..() if(istype(tool, /obj/item/raw_anomaly_core)) if(inserted_core) - to_chat(user, "There is already a core in [src].") + to_chat(user, span_warning("There is already a core in [src].")) return if(testing) - to_chat(user, "You can't insert [tool] into [src] while [p_theyre()] in testing mode.") + to_chat(user, span_warning("You can't insert [tool] into [src] while [p_theyre()] in testing mode.")) return if(!user.transferItemToLoc(tool, src)) - to_chat(user, "[tool] is stuck to your hand.") + to_chat(user, span_warning("[tool] is stuck to your hand.")) return inserted_core = tool - to_chat(user, "You insert [tool] into [src].") + to_chat(user, span_notice("You insert [tool] into [src].")) return if(istype(tool, /obj/item/transfer_valve)) // If they don't have a bomb core inserted, don't let them insert this. If they do, insert and do implosion. if(!inserted_core) - to_chat(user, "There is no core inserted in [src]. What would be the point of detonating an implosion without a core?") + to_chat(user, span_warning("There is no core inserted in [src]. What would be the point of detonating an implosion without a core?")) return if(testing) - to_chat(user, "You can't insert [tool] into [src] while [p_theyre()] in testing mode.") + to_chat(user, span_warning("You can't insert [tool] into [src] while [p_theyre()] in testing mode.")) return var/obj/item/transfer_valve/valve = tool if(!valve.ready()) - to_chat(user, "[valve] is incomplete.") + to_chat(user, span_warning("[valve] is incomplete.")) return if(!user.transferItemToLoc(tool, src)) - to_chat(user, "[tool] is stuck to your hand.") + to_chat(user, span_warning("[tool] is stuck to your hand.")) return inserted_bomb = tool - to_chat(user, "You insert [tool] and press the start button.") + to_chat(user, span_notice("You insert [tool] and press the start button.")) start_test() diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm index 98c597ba4c4..f3869ec6b01 100644 --- a/code/modules/research/bepis.dm +++ b/code/modules/research/bepis.dm @@ -64,7 +64,7 @@ if(default_deconstruction_crowbar(O)) return if(!is_operational) - to_chat(user, "[src] can't accept money when it's not functioning.") + to_chat(user, span_notice("[src] can't accept money when it's not functioning.")) return if(istype(O, /obj/item/holochip) || istype(O, /obj/item/stack/spacecash)) var/deposit_value = O.get_item_credit_value() diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 863ab8b1493..081d124ff11 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -32,11 +32,11 @@ Note: Must be placed within 3 tiles of the R&D Console if(!is_insertion_ready(user)) return if(!user.transferItemToLoc(O, src)) - to_chat(user, "\The [O] is stuck to your hand, you cannot put it in the [src.name]!") + to_chat(user, span_warning("\The [O] is stuck to your hand, you cannot put it in the [src.name]!")) return busy = TRUE loaded_item = O - to_chat(user, "You add the [O.name] to the [src.name]!") + to_chat(user, span_notice("You add the [O.name] to the [src.name]!")) flick("d_analyzer_la", src) addtimer(CALLBACK(src, .proc/finish_loading), 10) updateUsrDialog() @@ -209,7 +209,7 @@ Note: Must be placed within 3 tiles of the R&D Console if(ls["eject_item"]) //Eject the item inside the destructive analyzer. if(busy) - to_chat(usr, "The destructive analyzer is busy at the moment.") + to_chat(usr, span_danger("The destructive analyzer is busy at the moment.")) return if(loaded_item) unload_item() diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index d2e06ef9a96..9c73111a252 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -98,7 +98,7 @@ /obj/machinery/rnd/experimentor/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Malfunction probability reduced by [badThingCoeff]%.
    Cooldown interval between experiments at [resetTime*0.1] seconds.
    " + . += span_notice("The status display reads: Malfunction probability reduced by [badThingCoeff]%.
    Cooldown interval between experiments at [resetTime*0.1] seconds.") /obj/machinery/rnd/experimentor/proc/checkCircumstances(obj/item/O) //snowflake check to only take "made" bombs @@ -116,7 +116,7 @@ if(!user.transferItemToLoc(O, src)) return loaded_item = O - to_chat(user, "You add [O] to the machine.") + to_chat(user, span_notice("You add [O] to the machine.")) flick("h_lathe_load", src) /obj/machinery/rnd/experimentor/default_deconstruction_crowbar(obj/item/O) @@ -180,11 +180,11 @@ updateUsrDialog() else if(recentlyExperimented) - to_chat(usr, "[src] has been used too recently!") + to_chat(usr, span_warning("[src] has been used too recently!")) else if(!loaded_item) - to_chat(usr, "[src] is not currently loaded!") + to_chat(usr, span_warning("[src] is not currently loaded!")) else if(!process || process != loaded_item) //Interface exploit protection (such as hrefs or swapping items with interface set to old item) - to_chat(usr, "Interface failure detected in [src]. Please try again.") + to_chat(usr, span_danger("Interface failure detected in [src]. Please try again.")) else var/dotype if(text2num(scantype) == SCANTYPE_DISCOVER) @@ -216,7 +216,7 @@ /obj/machinery/rnd/experimentor/proc/ejectItem(delete=FALSE) if(loaded_item) if(cloneMode) - visible_message("A duplicate [loaded_item] pops out!") + visible_message(span_notice("A duplicate [loaded_item] pops out!")) var/type_to_make = loaded_item.type new type_to_make(get_turf(pick(oview(1,src)))) cloneMode = FALSE @@ -242,21 +242,21 @@ var/criticalReaction = is_type_in_typecache(exp_on, critical_items_typecache) //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_POKE) - visible_message("[src] prods at [exp_on] with mechanical arms.") + visible_message(span_notice("[src] prods at [exp_on] with mechanical arms.")) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[exp_on] is gripped in just the right way, enhancing its focus.") + visible_message(span_notice("[exp_on] is gripped in just the right way, enhancing its focus.")) badThingCoeff++ else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!") + visible_message(span_danger("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!")) for(var/mob/living/m in oview(1, src)) m.apply_damage(15, BRUTE, pick(BODY_ZONE_HEAD,BODY_ZONE_CHEST,BODY_ZONE_PRECISE_GROIN)) investigate_log("Experimentor dealt minor brute to [m].", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions!") + visible_message(span_warning("[src] malfunctions!")) exp = SCANTYPE_OBLITERATE else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, throwing the [exp_on]!") + visible_message(span_danger("[src] malfunctions, throwing the [exp_on]!")) var/mob/living/target = locate(/mob/living) in oview(7,src) if(target) var/obj/item/throwing = loaded_item @@ -266,18 +266,18 @@ throwing.throw_at(target, 10, 1) //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_IRRADIATE) - visible_message("[src] reflects radioactive rays at [exp_on]!") + visible_message(span_danger("[src] reflects radioactive rays at [exp_on]!")) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[exp_on] has activated an unknown subroutine!") + visible_message(span_notice("[exp_on] has activated an unknown subroutine!")) cloneMode = TRUE investigate_log("Experimentor has made a clone of [exp_on]", INVESTIGATE_EXPERIMENTOR) ejectItem() else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] malfunctions, melting [exp_on] and leaking radiation!") + visible_message(span_danger("[src] malfunctions, melting [exp_on] and leaking radiation!")) radiation_pulse(src, 500) ejectItem(TRUE) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, spewing toxic waste!") + visible_message(span_warning("[src] malfunctions, spewing toxic waste!")) for(var/turf/T in oview(1, src)) if(!T.density) if(prob(EFFECT_PROB_VERYHIGH) && !(locate(/obj/effect/decal/cleanable/greenglow) in T)) @@ -288,7 +288,7 @@ ejectItem(TRUE) var/newPath = text2path(pickweight(valid_items)) loaded_item = new newPath(src) - visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!") + visible_message(span_warning("[src] malfunctions, transforming [savedName] into [loaded_item]!")) investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR) if(istype(loaded_item, /obj/item/grenade/chem_grenade)) var/obj/item/grenade/chem_grenade/CG = loaded_item @@ -296,12 +296,12 @@ ejectItem() //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_GAS) - visible_message("[src] fills its chamber with gas, [exp_on] included.") + visible_message(span_warning("[src] fills its chamber with gas, [exp_on] included.")) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[exp_on] achieves the perfect mix!") + visible_message(span_notice("[exp_on] achieves the perfect mix!")) new /obj/item/stack/sheet/mineral/plasma(get_turf(pick(oview(1,src)))) else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] destroys [exp_on], leaking dangerous gas!") + visible_message(span_danger("[src] destroys [exp_on], leaking dangerous gas!")) chosenchem = pick(/datum/reagent/carbon,/datum/reagent/uranium/radium,/datum/reagent/toxin,/datum/reagent/consumable/condensedcapsaicin,/datum/reagent/drug/mushroomhallucinogen,/datum/reagent/drug/space_drugs,/datum/reagent/consumable/ethanol,/datum/reagent/consumable/ethanol/beepsky_smash) var/datum/reagents/R = new/datum/reagents(50) R.my_atom = src @@ -314,7 +314,7 @@ qdel(R) ejectItem(TRUE) else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src]'s chemical chamber has sprung a leak!") + visible_message(span_danger("[src]'s chemical chamber has sprung a leak!")) chosenchem = pick(/datum/reagent/mutationtoxin/classic,/datum/reagent/cyborg_mutation_nanomachines,/datum/reagent/toxin/acid) var/datum/reagents/R = new/datum/reagents(50) R.my_atom = src @@ -328,18 +328,18 @@ warn_admins(usr, "[chosenchem] smoke") investigate_log("Experimentor has released [chosenchem] smoke!", INVESTIGATE_EXPERIMENTOR) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, spewing harmless gas.") + visible_message(span_warning("[src] malfunctions, spewing harmless gas.")) throwSmoke(loc) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] melts [exp_on], ionizing the air around it!") + visible_message(span_warning("[src] melts [exp_on], ionizing the air around it!")) empulse(loc, 4, 6) investigate_log("Experimentor has generated an Electromagnetic Pulse.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_HEAT) - visible_message("[src] raises [exp_on]'s temperature.") + visible_message(span_notice("[src] raises [exp_on]'s temperature.")) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[src]'s emergency coolant system gives off a small ding!") + visible_message(span_warning("[src]'s emergency coolant system gives off a small ding!")) playsound(src, 'sound/machines/ding.ogg', 50, TRUE) var/obj/item/reagent_containers/food/drinks/coffee/C = new /obj/item/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src)))) chosenchem = pick(/datum/reagent/toxin/plasma,/datum/reagent/consumable/capsaicin,/datum/reagent/consumable/ethanol) @@ -353,18 +353,18 @@ var/mob/M = locate(/mob/living) in view(src, 3) var/turf/MT = get_turf(M) if(MT) - visible_message("[src] dangerously overheats, launching a flaming fuel orb!") + visible_message(span_danger("[src] dangerously overheats, launching a flaming fuel orb!")) investigate_log("Experimentor has launched a fireball at [M]!", INVESTIGATE_EXPERIMENTOR) var/obj/projectile/magic/aoe/fireball/FB = new /obj/projectile/magic/aoe/fireball(start) FB.preparePixelProjectile(MT, start) FB.fire() else if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, melting [exp_on] and releasing a burst of flame!") + visible_message(span_danger("[src] malfunctions, melting [exp_on] and releasing a burst of flame!")) explosion(src, devastation_range = -1, flame_range = 2, adminlog = FALSE) investigate_log("Experimentor started a fire.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, melting [exp_on] and leaking hot air!") + visible_message(span_warning("[src] malfunctions, melting [exp_on] and leaking hot air!")) var/datum/gas_mixture/env = loc.return_air() var/transfer_moles = 0.25 * env.total_moles() var/datum/gas_mixture/removed = env.remove(transfer_moles) @@ -378,7 +378,7 @@ investigate_log("Experimentor has released hot air.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, activating its emergency coolant systems!") + visible_message(span_warning("[src] malfunctions, activating its emergency coolant systems!")) throwSmoke(loc) for(var/mob/living/m in oview(1, src)) m.apply_damage(5, BURN, pick(BODY_ZONE_HEAD,BODY_ZONE_CHEST,BODY_ZONE_PRECISE_GROIN)) @@ -386,9 +386,9 @@ ejectItem() //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_COLD) - visible_message("[src] lowers [exp_on]'s temperature.") + visible_message(span_notice("[src] lowers [exp_on]'s temperature.")) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[src]'s emergency coolant system gives off a small ding!") + visible_message(span_warning("[src]'s emergency coolant system gives off a small ding!")) var/obj/item/reagent_containers/food/drinks/coffee/C = new /obj/item/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src)))) playsound(src, 'sound/machines/ding.ogg', 50, TRUE) //Ding! Your death coffee is ready! chosenchem = pick(/datum/reagent/uranium,/datum/reagent/consumable/frostoil,/datum/reagent/medicine/ephedrine) @@ -398,7 +398,7 @@ C.desc = "It has a large hazard symbol printed on the side in fading ink." investigate_log("Experimentor has made a cup of [chosenchem] coffee.", INVESTIGATE_EXPERIMENTOR) else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!") + visible_message(span_danger("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!")) var/datum/reagents/R = new/datum/reagents(50) R.my_atom = src R.add_reagent(/datum/reagent/consumable/frostoil , 50) @@ -410,7 +410,7 @@ qdel(R) ejectItem(TRUE) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, shattering [exp_on] and leaking cold air!") + visible_message(span_warning("[src] malfunctions, shattering [exp_on] and leaking cold air!")) var/datum/gas_mixture/env = loc.return_air() var/transfer_moles = 0.25 * env.total_moles() var/datum/gas_mixture/removed = env.remove(transfer_moles) @@ -424,26 +424,26 @@ investigate_log("Experimentor has released cold air.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!") + visible_message(span_warning("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!")) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(0, loc) smoke.start() ejectItem() //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_OBLITERATE) - visible_message("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!") + visible_message(span_warning("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!")) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") + visible_message(span_warning("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!")) new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src)))) else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src]'s crusher goes way too many levels too high, crushing right through space-time!") + visible_message(span_danger("[src]'s crusher goes way too many levels too high, crushing right through space-time!")) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE, -3) investigate_log("Experimentor has triggered the 'throw things' reaction.", INVESTIGATE_EXPERIMENTOR) for(var/atom/movable/AM in oview(7,src)) if(!AM.anchored) AM.throw_at(src,10,1) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src]'s crusher goes one level too high, crushing right into space-time!") + visible_message(span_danger("[src]'s crusher goes one level too high, crushing right into space-time!")) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE, -3) investigate_log("Experimentor has triggered the 'minor throw things' reaction.", INVESTIGATE_EXPERIMENTOR) var/list/throwAt = list() @@ -458,25 +458,25 @@ if(exp == FAIL) var/a = pick("rumbles","shakes","vibrates","shudders","honks") var/b = pick("crushes","spins","viscerates","smashes","insults") - visible_message("[exp_on] [a], and [b], the experiment was a failure.") + visible_message(span_warning("[exp_on] [a], and [b], the experiment was a failure.")) if(exp == SCANTYPE_DISCOVER) - visible_message("[src] scans the [exp_on], revealing its true nature!") + visible_message(span_notice("[src] scans the [exp_on], revealing its true nature!")) playsound(src, 'sound/effects/supermatter.ogg', 50, 3, -1) var/obj/item/relic/R = loaded_item R.reveal() - investigate_log("Experimentor has revealed a relic with [R.realProc] effect.", INVESTIGATE_EXPERIMENTOR) + investigate_log("Experimentor has revealed a relic with [span_danger("[R.realProc]")] effect.", INVESTIGATE_EXPERIMENTOR) ejectItem() //Global reactions if(prob(EFFECT_PROB_VERYLOW-badThingCoeff) && loaded_item) var/globalMalf = rand(1,100) if(globalMalf < 15) - visible_message("[src]'s onboard detection system has malfunctioned!") + visible_message(span_warning("[src]'s onboard detection system has malfunctioned!")) item_reactions["[exp_on.type]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) ejectItem() if(globalMalf > 16 && globalMalf < 35) - visible_message("[src] melts [exp_on], ian-izing the air around it!") + visible_message(span_warning("[src] melts [exp_on], ian-izing the air around it!")) throwSmoke(loc) if(trackedIan) throwSmoke(trackedIan.loc) @@ -487,13 +487,13 @@ investigate_log("Experimentor has spawned a new corgi.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(globalMalf > 36 && globalMalf < 50) - visible_message("Experimentor draws the life essence of those nearby!") + visible_message(span_warning("Experimentor draws the life essence of those nearby!")) for(var/mob/living/m in view(4,src)) - to_chat(m, "You feel your flesh being torn from you, mists of blood drifting to [src]!") + to_chat(m, span_danger("You feel your flesh being torn from you, mists of blood drifting to [src]!")) m.apply_damage(50, BRUTE, BODY_ZONE_CHEST) investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", INVESTIGATE_EXPERIMENTOR) if(globalMalf > 51 && globalMalf < 75) - visible_message("[src] encounters a run-time error!") + visible_message(span_warning("[src] encounters a run-time error!")) throwSmoke(loc) if(trackedRuntime) throwSmoke(trackedRuntime.loc) @@ -504,14 +504,14 @@ investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(globalMalf > 76 && globalMalf < 98) - visible_message("[src] begins to smoke and hiss, shaking violently!") + visible_message(span_warning("[src] begins to smoke and hiss, shaking violently!")) use_power(500000) investigate_log("Experimentor has drained power from its APC", INVESTIGATE_EXPERIMENTOR) if(globalMalf == 99) - visible_message("[src] begins to glow and vibrate. It's going to blow!") + visible_message(span_warning("[src] begins to glow and vibrate. It's going to blow!")) addtimer(CALLBACK(src, .proc/boom), 50) if(globalMalf == 100) - visible_message("[src] begins to glow and vibrate. It's going to blow!") + visible_message(span_warning("[src] begins to glow and vibrate. It's going to blow!")) addtimer(CALLBACK(src, .proc/honk), 50) addtimer(CALLBACK(src, .proc/reset_exp), resetTime) @@ -581,10 +581,10 @@ /obj/item/relic/attack_self(mob/user) if(!revealed) - to_chat(user, "You aren't quite sure what this is. Maybe R&D knows what to do with it?") + to_chat(user, span_notice("You aren't quite sure what this is. Maybe R&D knows what to do with it?")) return if(!COOLDOWN_FINISHED(src, cooldown)) - to_chat(user, "[src] does not react!") + to_chat(user, span_warning("[src] does not react!")) return if(loc != user) return @@ -617,7 +617,7 @@ warn_admins(user, "Flash") /obj/item/relic/proc/petSpray(mob/user) - var/message = "[src] begins to shake, and in the distance the sound of rampaging animals arises!" + var/message = span_danger("[src] begins to shake, and in the distance the sound of rampaging animals arises!") visible_message(message) to_chat(user, message) @@ -628,7 +628,7 @@ warn_admins(user, "Mass Mob Spawn") if(prob(60)) - to_chat(user, "[src] falls apart!") + to_chat(user, span_warning("[src] falls apart!")) qdel(src) /obj/item/relic/proc/rapidDupe(mob/user) @@ -648,24 +648,24 @@ warn_admins(user, "Rapid duplicator", 0) /obj/item/relic/proc/explode(mob/user) - to_chat(user, "[src] begins to heat up!") + to_chat(user, span_danger("[src] begins to heat up!")) addtimer(CALLBACK(src, .proc/do_explode, user), rand(35, 100)) /obj/item/relic/proc/do_explode(mob/user) if(loc == user) - visible_message("\The [src]'s top opens, releasing a powerful blast!") + visible_message(span_notice("\The [src]'s top opens, releasing a powerful blast!")) explosion(src, heavy_impact_range = rand(1,5), light_impact_range = rand(1,5), flame_range = 2, flash_range = rand(1,5), adminlog = TRUE) warn_admins(user, "Explosion") qdel(src) //Comment this line to produce a light grenade (the bomb that keeps on exploding when used)!! /obj/item/relic/proc/teleport(mob/user) - to_chat(user, "[src] begins to vibrate!") + to_chat(user, span_notice("[src] begins to vibrate!")) addtimer(CALLBACK(src, .proc/do_the_teleport, user), rand(10, 30)) /obj/item/relic/proc/do_the_teleport(mob/user) var/turf/userturf = get_turf(user) if(loc == user && !is_centcom_level(userturf.z)) //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you! - visible_message("[src] twists and bends, relocating itself!") + visible_message(span_notice("[src] twists and bends, relocating itself!")) throwSmoke(userturf) do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) throwSmoke(get_turf(user)) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index 26b620c611a..c35f4705000 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -33,7 +33,7 @@ /obj/machinery/nanite_chamber/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Scanning module has been upgraded to level [scan_level]." + . += span_notice("The status display reads: Scanning module has been upgraded to level [scan_level].") /obj/machinery/nanite_chamber/proc/set_busy(status, message, working_icon) busy = status @@ -134,7 +134,7 @@ /obj/machinery/nanite_chamber/proc/toggle_open(mob/user) if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return if(state_open) @@ -142,7 +142,7 @@ return else if(locked) - to_chat(user, "The bolts are locked down, securing the door shut.") + to_chat(user, span_notice("The bolts are locked down, securing the door shut.")) return open_machine() @@ -155,15 +155,15 @@ return user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) return locked = FALSE - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/nanite_chamber/close_machine(mob/living/carbon/user) @@ -185,7 +185,7 @@ if(user.stat || locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) return open_machine() diff --git a/code/modules/research/nanites/nanite_cloud_controller.dm b/code/modules/research/nanites/nanite_cloud_controller.dm index 224e247c5b5..4579239f6b6 100644 --- a/code/modules/research/nanites/nanite_cloud_controller.dm +++ b/code/modules/research/nanites/nanite_cloud_controller.dm @@ -20,7 +20,7 @@ if(istype(I, /obj/item/disk/nanite_program)) var/obj/item/disk/nanite_program/N = I if (user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src].") + to_chat(user, span_notice("You insert [N] into [src].")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) if(disk) eject(user) @@ -30,7 +30,7 @@ /obj/machinery/computer/nanite_cloud_controller/AltClick(mob/user) if(disk && user.canUseTopic(src, !issilicon(user))) - to_chat(user, "You take out [disk] from [src].") + to_chat(user, span_notice("You take out [disk] from [src].")) eject(user) return @@ -49,7 +49,7 @@ /obj/machinery/computer/nanite_cloud_controller/proc/generate_backup(cloud_id, mob/user) if(SSnanites.get_cloud_backup(cloud_id, TRUE)) - to_chat(user, "Cloud ID already registered.") + to_chat(user, span_warning("Cloud ID already registered.")) return var/datum/nanite_cloud_backup/backup = new(src) diff --git a/code/modules/research/nanites/nanite_program_hub.dm b/code/modules/research/nanites/nanite_program_hub.dm index 9ff2e9ab5bd..3039dea9704 100644 --- a/code/modules/research/nanites/nanite_program_hub.dm +++ b/code/modules/research/nanites/nanite_program_hub.dm @@ -37,7 +37,7 @@ if(istype(I, /obj/item/disk/nanite_program)) var/obj/item/disk/nanite_program/N = I if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src].") + to_chat(user, span_notice("You insert [N] into [src].")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) if(disk) eject(user) @@ -66,7 +66,7 @@ /obj/machinery/nanite_program_hub/AltClick(mob/user) if(disk && user.canUseTopic(src, !issilicon(user))) - to_chat(user, "You take out [disk] from [src].") + to_chat(user, span_notice("You take out [disk] from [src].")) eject(user) return diff --git a/code/modules/research/nanites/nanite_programmer.dm b/code/modules/research/nanites/nanite_programmer.dm index 6bc2b020a1c..589d423b659 100644 --- a/code/modules/research/nanites/nanite_programmer.dm +++ b/code/modules/research/nanites/nanite_programmer.dm @@ -22,7 +22,7 @@ if(istype(I, /obj/item/disk/nanite_program)) var/obj/item/disk/nanite_program/N = I if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") + to_chat(user, span_notice("You insert [N] into [src]")) playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) if(disk) eject(user) @@ -53,7 +53,7 @@ /obj/machinery/nanite_programmer/AltClick(mob/user) if(disk && user.canUseTopic(src, !issilicon(user))) - to_chat(user, "You take out [disk] from [src].") + to_chat(user, span_notice("You take out [disk] from [src].")) eject(user) return diff --git a/code/modules/research/nanites/nanite_programs/protocols.dm b/code/modules/research/nanites/nanite_programs/protocols.dm index 4e3322c25b7..c0198f67a74 100644 --- a/code/modules/research/nanites/nanite_programs/protocols.dm +++ b/code/modules/research/nanites/nanite_programs/protocols.dm @@ -270,8 +270,8 @@ extra_warnings = volume_warnings_stage_1 + volume_warnings_stage_2 + volume_warnings_stage_3 + volume_warnings_stage_4 + volume_warnings_stage_5 if(prob(35)) - to_chat(host_mob, "[pick(main_warnings)]") + to_chat(host_mob, span_warning("[pick(main_warnings)]")) next_warning = world.time + rand(min_warning_cooldown, max_warning_cooldown) else if(islist(extra_warnings)) - to_chat(host_mob, "[pick(extra_warnings)]") + to_chat(host_mob, span_warning("[pick(extra_warnings)]")) next_warning = world.time + rand(min_warning_cooldown, max_warning_cooldown) diff --git a/code/modules/research/nanites/nanite_programs/rogue.dm b/code/modules/research/nanites/nanite_programs/rogue.dm index 011e5f28491..c9e5efa9419 100644 --- a/code/modules/research/nanites/nanite_programs/rogue.dm +++ b/code/modules/research/nanites/nanite_programs/rogue.dm @@ -20,7 +20,7 @@ /datum/nanite_program/necrotic/active_effect() host_mob.adjustBruteLoss(0.75, TRUE) if(prob(1)) - to_chat(host_mob, "You feel a mild ache from somewhere inside you.") + to_chat(host_mob, span_warning("You feel a mild ache from somewhere inside you.")) //Programs that don't directly interact with the body will decay into this /datum/nanite_program/toxic @@ -33,7 +33,7 @@ /datum/nanite_program/toxic/active_effect() host_mob.adjustToxLoss(0.5) if(prob(1)) - to_chat(host_mob, "You feel a bit sick.") + to_chat(host_mob, span_warning("You feel a bit sick.")) //Generic blood-affecting programs will decay into this /datum/nanite_program/suffocating @@ -46,7 +46,7 @@ /datum/nanite_program/suffocating/active_effect() host_mob.adjustOxyLoss(3, 0) if(prob(1)) - to_chat(host_mob, "You feel short of breath.") + to_chat(host_mob, span_warning("You feel short of breath.")) //Generic brain-affecting programs will decay into this /datum/nanite_program/brain_decay @@ -96,8 +96,8 @@ var/obj/item/bodypart/bodypart = host_mob.get_bodypart(picked_bodypart) var/can_scratch = !host_mob.incapacitated() && get_location_accessible(host_mob, picked_bodypart) - host_mob.visible_message("[can_scratch ? "[host_mob] scratches [host_mob.p_their()] [bodypart.name]." : ""]",\ - "Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]") + host_mob.visible_message("[can_scratch ? span_warning("[host_mob] scratches [host_mob.p_their()] [bodypart.name].") : ""]",\ + span_warning("Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]")) //Generic nerve-affecting programs will decay into this /datum/nanite_program/nerve_decay @@ -109,11 +109,11 @@ /datum/nanite_program/nerve_decay/active_effect() if(prob(5)) - to_chat(host_mob, "You feel unbalanced!") + to_chat(host_mob, span_warning("You feel unbalanced!")) host_mob.add_confusion(10) else if(prob(4)) - to_chat(host_mob, "You can't feel your hands!") + to_chat(host_mob, span_warning("You can't feel your hands!")) host_mob.drop_all_held_items() else if(prob(4)) - to_chat(host_mob, "You can't feel your legs!") + to_chat(host_mob, span_warning("You can't feel your legs!")) host_mob.Paralyze(30) diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm index f3a3ed90728..aa8643eafdc 100644 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ b/code/modules/research/nanites/nanite_programs/suppression.dm @@ -9,7 +9,7 @@ rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) /datum/nanite_program/sleepy/on_trigger(comm_message) - to_chat(host_mob, "You start to feel very sleepy...") + to_chat(host_mob, span_warning("You start to feel very sleepy...")) host_mob.drowsyness += 20 addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200)) @@ -24,11 +24,11 @@ /datum/nanite_program/paralyzing/enable_passive_effect() . = ..() - to_chat(host_mob, "Your muscles seize! You can't move!") + to_chat(host_mob, span_warning("Your muscles seize! You can't move!")) /datum/nanite_program/paralyzing/disable_passive_effect() . = ..() - to_chat(host_mob, "Your muscles relax, and you can move again.") + to_chat(host_mob, span_notice("Your muscles relax, and you can move again.")) /datum/nanite_program/shocking name = "Electric Shock" @@ -153,7 +153,7 @@ return if(host_mob.stat == DEAD) return - to_chat(host_mob, "You feel compelled to speak...") + to_chat(host_mob, span_warning("You feel compelled to speak...")) host_mob.say(sent_message, forced = "nanite speech") /datum/nanite_program/comm/voice @@ -175,7 +175,7 @@ sent_message = message_setting.get_value() if(host_mob.stat == DEAD) return - to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[html_encode(sent_message)]\"") + to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[span_robot("[html_encode(sent_message)]")]\"") /datum/nanite_program/comm/hallucination name = "Hallucination" diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index 98b362f1058..19ef4c9cce3 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -237,7 +237,7 @@ SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) SEND_SIGNAL(infectee, COMSIG_NANITE_SET_CLOUD, nanites.cloud_id) infectee.investigate_log("was infected by a nanite cluster with cloud ID [nanites.cloud_id] by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) - to_chat(infectee, "You feel a tiny prick.") + to_chat(infectee, span_warning("You feel a tiny prick.")) /datum/nanite_program/mitosis name = "Mitosis" @@ -289,8 +289,8 @@ /datum/nanite_program/dermal_button/proc/press() if(activated) - host_mob.visible_message("[host_mob] presses a button on [host_mob.p_their()] forearm.", - "You press the nanite button on your forearm.", null, 2) + host_mob.visible_message(span_notice("[host_mob] presses a button on [host_mob.p_their()] forearm."), + span_notice("You press the nanite button on your forearm."), null, 2) var/datum/nanite_extra_setting/sent_code = extra_settings[NES_SENT_CODE] SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code.get_value(), "a [name] program") diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index a46367673c2..84b70a65f01 100644 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ b/code/modules/research/nanites/nanite_programs/weapon.dm @@ -14,7 +14,7 @@ else host_mob.adjustBruteLoss(1, TRUE) if(prob(3)) - to_chat(host_mob, "You feel a stab of pain from somewhere inside you.") + to_chat(host_mob, span_warning("You feel a stab of pain from somewhere inside you.")) /datum/nanite_program/poison name = "Poisoning" @@ -25,7 +25,7 @@ /datum/nanite_program/poison/active_effect() host_mob.adjustToxLoss(1) if(prob(2)) - to_chat(host_mob, "You feel nauseous.") + to_chat(host_mob, span_warning("You feel nauseous.")) if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob C.vomit(20) @@ -68,12 +68,12 @@ /datum/nanite_program/meltdown/enable_passive_effect() . = ..() - to_chat(host_mob, "Your blood is burning!") + to_chat(host_mob, span_userdanger("Your blood is burning!")) nanites.safety_threshold = 0 /datum/nanite_program/meltdown/disable_passive_effect() . = ..() - to_chat(host_mob, "Your blood cools down, and the pain gradually fades.") + to_chat(host_mob, span_warning("Your blood cools down, and the pain gradually fades.")) /datum/nanite_program/explosive name = "Chain Detonation" @@ -84,8 +84,8 @@ rogue_types = list(/datum/nanite_program/toxic) /datum/nanite_program/explosive/on_trigger(comm_message) - host_mob.visible_message("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow...",\ - "You start emitting a high-pitched buzzing, and your skin begins to glow...") + host_mob.visible_message(span_warning("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow..."),\ + span_userdanger("You start emitting a high-pitched buzzing, and your skin begins to glow...")) addtimer(CALLBACK(src, .proc/boom), clamp((nanites.nanite_volume * 0.35), 25, 150)) /datum/nanite_program/explosive/proc/boom() diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm index 76f0bec8c16..cc7389520f0 100644 --- a/code/modules/research/nanites/nanite_remote.dm +++ b/code/modules/research/nanites/nanite_remote.dm @@ -23,7 +23,7 @@ /obj/item/nanite_remote/examine(mob/user) . = ..() if(locked) - . += "Alt-click to unlock." + . += span_notice("Alt-click to unlock.") /obj/item/nanite_remote/AltClick(mob/user) . = ..() @@ -31,16 +31,16 @@ return if(locked) if(allowed(user)) - to_chat(user, "You unlock [src].") + to_chat(user, span_notice("You unlock [src].")) locked = FALSE update_appearance() else - to_chat(user, "Access denied.") + to_chat(user, span_warning("Access denied.")) /obj/item/nanite_remote/emag_act(mob/user) if(obj_flags & EMAGGED) return - to_chat(user, "You override [src]'s ID lock.") + to_chat(user, span_warning("You override [src]'s ID lock.")) obj_flags |= EMAGGED if(locked) locked = FALSE @@ -58,18 +58,18 @@ if(REMOTE_MODE_OFF) return if(REMOTE_MODE_SELF) - to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") + to_chat(user, span_notice("You activate [src], signaling the nanites in your bloodstream.")) signal_mob(user, code, key_name(user)) if(REMOTE_MODE_TARGET) if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, "You activate [src], signaling the nanites inside [target].") + to_chat(user, span_notice("You activate [src], signaling the nanites inside [target].")) signal_mob(target, code, key_name(user)) if(REMOTE_MODE_AOE) - to_chat(user, "You activate [src], signaling the nanites inside every host around you.") + to_chat(user, span_notice("You activate [src], signaling the nanites inside every host around you.")) for(var/mob/living/L in view(user, 7)) signal_mob(L, code, key_name(user)) if(REMOTE_MODE_RELAY) - to_chat(user, "You activate [src], signaling all connected relay nanites.") + to_chat(user, span_notice("You activate [src], signaling all connected relay nanites.")) signal_relay(code, relay_code, key_name(user)) /obj/item/nanite_remote/proc/signal_mob(mob/living/M, code, source) @@ -180,18 +180,18 @@ if(REMOTE_MODE_OFF) return if(REMOTE_MODE_SELF) - to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") + to_chat(user, span_notice("You activate [src], signaling the nanites in your bloodstream.")) signal_mob(user, code, key_name(user)) if(REMOTE_MODE_TARGET) if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, "You activate [src], signaling the nanites inside [target].") + to_chat(user, span_notice("You activate [src], signaling the nanites inside [target].")) signal_mob(target, code, key_name(user)) if(REMOTE_MODE_AOE) - to_chat(user, "You activate [src], signaling the nanites inside every host around you.") + to_chat(user, span_notice("You activate [src], signaling the nanites inside every host around you.")) for(var/mob/living/L in view(user, 7)) signal_mob(L, code, key_name(user)) if(REMOTE_MODE_RELAY) - to_chat(user, "You activate [src], signaling all connected relay nanites.") + to_chat(user, span_notice("You activate [src], signaling all connected relay nanites.")) signal_relay(code, relay_code, key_name(user)) /obj/item/nanite_remote/comm/signal_mob(mob/living/M, code, source) diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index 4a031ba9c5a..6194f4fa336 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -113,7 +113,7 @@ /obj/machinery/public_nanite_chamber/proc/toggle_open(mob/user) if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, span_notice("Close the maintenance panel first.")) return if(state_open) @@ -121,7 +121,7 @@ return else if(locked) - to_chat(user, "The bolts are locked down, securing the door shut.") + to_chat(user, span_notice("The bolts are locked down, securing the door shut.")) return open_machine() @@ -134,15 +134,15 @@ return user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT - user.visible_message("You see [user] kicking against the door of [src]!", \ - "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \ + span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \ + span_hear("You hear a metallic creaking from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) return locked = FALSE - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(span_warning("[user] successfully broke out of [src]!"), \ + span_notice("You successfully break out of [src]!")) open_machine() /obj/machinery/public_nanite_chamber/close_machine(mob/living/carbon/user, mob/living/attacker) @@ -178,7 +178,7 @@ if(user.stat || locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, span_warning("[src]'s door won't budge!")) return open_machine() diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 6afa1769a8a..7571f0f9d87 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -66,24 +66,24 @@ Nothing else in the console has ID requirements. if(istype(D, /obj/item/disk)) if(istype(D, /obj/item/disk/tech_disk)) if(t_disk) - to_chat(user, "A technology disk is already loaded!") + to_chat(user, span_warning("A technology disk is already loaded!")) return if(!user.transferItemToLoc(D, src)) - to_chat(user, "[D] is stuck to your hand!") + to_chat(user, span_warning("[D] is stuck to your hand!")) return t_disk = D else if (istype(D, /obj/item/disk/design_disk)) if(d_disk) - to_chat(user, "A design disk is already loaded!") + to_chat(user, span_warning("A design disk is already loaded!")) return if(!user.transferItemToLoc(D, src)) - to_chat(user, "[D] is stuck to your hand!") + to_chat(user, span_warning("[D] is stuck to your hand!")) return d_disk = D else - to_chat(user, "Machine cannot accept disks in that format.") + to_chat(user, span_warning("Machine cannot accept disks in that format.")) return - to_chat(user, "You insert [D] into \the [src]!") + to_chat(user, span_notice("You insert [D] into \the [src]!")) return return ..() @@ -128,7 +128,7 @@ Nothing else in the console has ID requirements. /obj/machinery/computer/rdconsole/emag_act(mob/user) if(!(obj_flags & EMAGGED)) - to_chat(user, "You disable the security protocols[locked? " and unlock the console":""].") + to_chat(user, span_notice("You disable the security protocols[locked? " and unlock the console":""].")) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) obj_flags |= EMAGGED locked = FALSE @@ -296,12 +296,12 @@ Nothing else in the console has ID requirements. switch (action) if ("toggleLock") if(obj_flags & EMAGGED) - to_chat(usr, "Security protocol error: Unable to access locking protocols.") + to_chat(usr, span_boldwarning("Security protocol error: Unable to access locking protocols.")) return TRUE if(allowed(usr)) locked = !locked else - to_chat(usr, "Unauthorized Access.") + to_chat(usr, span_boldwarning("Unauthorized Access.")) return TRUE if ("researchNode") if(!SSresearch.science_tech.available_nodes[params["node_id"]]) diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 07d8eb33265..adf1eb00dad 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -61,22 +61,22 @@ //whether the machine can have an item inserted in its current state. /obj/machinery/rnd/proc/is_insertion_ready(mob/user) if(panel_open) - to_chat(user, "You can't load [src] while it's opened!") + to_chat(user, span_warning("You can't load [src] while it's opened!")) return FALSE if(disabled) - to_chat(user, "The insertion belts of [src] won't engage!") + to_chat(user, span_warning("The insertion belts of [src] won't engage!")) return FALSE if(busy) - to_chat(user, "[src] is busy right now.") + to_chat(user, span_warning("[src] is busy right now.")) return FALSE if(machine_stat & BROKEN) - to_chat(user, "[src] is broken.") + to_chat(user, span_warning("[src] is broken.")) return FALSE if(machine_stat & NOPOWER) - to_chat(user, "[src] has no power.") + to_chat(user, span_warning("[src] has no power.")) return FALSE if(loaded_item) - to_chat(user, "[src] is already loaded.") + to_chat(user, span_warning("[src] is already loaded.")) return FALSE return TRUE diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index e8bf8f3ddcc..9dad69f5b70 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -142,7 +142,7 @@ var/obj/machinery/rnd/server/S = locate(href_list["toggle"]) in SSresearch.servers S.toggle_disable() else - to_chat(usr, "Access Denied.") + to_chat(usr, span_danger("Access Denied.")) updateUsrDialog() return @@ -186,4 +186,4 @@ return playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) obj_flags |= EMAGGED - to_chat(user, "You disable the security protocols.") + to_chat(user, span_notice("You disable the security protocols.")) diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.dm b/code/modules/research/xenobiology/crossbreeding/__corecross.dm index 04c675f2234..0bd5087eea7 100644 --- a/code/modules/research/xenobiology/crossbreeding/__corecross.dm +++ b/code/modules/research/xenobiology/crossbreeding/__corecross.dm @@ -41,7 +41,7 @@ To add a crossbreed: /obj/item/slimecross/examine(mob/user) . = ..() if(effect_desc) - . += "[effect_desc]" + . += span_notice("[effect_desc]") /obj/item/slimecross/Initialize() . = ..() @@ -113,7 +113,7 @@ To add a crossbreed: /obj/item/slimecrossbeaker/process() if(!reagents.total_volume) - visible_message("[src] has been drained completely, and melts away.") + visible_message(span_notice("[src] has been drained completely, and melts away.")) qdel(src) /obj/item/slimecrossbeaker/bloodpack //Pack of 50u blood. Deletes on empty. @@ -144,22 +144,22 @@ To add a crossbreed: /obj/item/slimecrossbeaker/autoinjector/attack(mob/living/M, mob/user) if(!reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return if(!iscarbon(M)) return if(self_use_only && M != user) - to_chat(user, "This can only be used on yourself.") + to_chat(user, span_warning("This can only be used on yourself.")) return if(reagents.total_volume && (ignore_flags || M.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))) reagents.trans_to(M, reagents.total_volume, transfered_by = user) if(user != M) - to_chat(M, "[user] presses [src] against you!") - to_chat(user, "You press [src] against [M], injecting [M.p_them()].") + to_chat(M, span_warning("[user] presses [src] against you!")) + to_chat(user, span_notice("You press [src] against [M], injecting [M.p_them()].")) else - to_chat(user, "You press [src] against yourself, and it flattens against you!") + to_chat(user, span_notice("You press [src] against yourself, and it flattens against you!")) else - to_chat(user, "There's no place to stick [src]!") + to_chat(user, span_warning("There's no place to stick [src]!")) /obj/item/slimecrossbeaker/autoinjector/regenpack ignore_flags = TRUE //It is, after all, intended to heal. diff --git a/code/modules/research/xenobiology/crossbreeding/_clothing.dm b/code/modules/research/xenobiology/crossbreeding/_clothing.dm index 4f58cb222c4..c4c7d513727 100644 --- a/code/modules/research/xenobiology/crossbreeding/_clothing.dm +++ b/code/modules/research/xenobiology/crossbreeding/_clothing.dm @@ -57,7 +57,7 @@ Slimecrossing Armor set_light(5) /obj/structure/light_prism/attack_hand(mob/user, list/modifiers) - to_chat(user, "You dispel [src].") + to_chat(user, span_notice("You dispel [src].")) qdel(src) /datum/action/item_action/change_prism_colour @@ -84,13 +84,13 @@ Slimecrossing Armor return var/obj/item/clothing/glasses/prism_glasses/glasses = target if(locate(/obj/structure/light_prism) in get_turf(owner)) - to_chat(owner, "There isn't enough ambient energy to fabricate another light prism here.") + to_chat(owner, span_warning("There isn't enough ambient energy to fabricate another light prism here.")) return if(istype(glasses)) if(!glasses.glasses_color) - to_chat(owner, "The lens is oddly opaque...") + to_chat(owner, span_warning("The lens is oddly opaque...")) return - to_chat(owner, "You channel nearby light into a glowing, ethereal prism.") + to_chat(owner, span_notice("You channel nearby light into a glowing, ethereal prism.")) new /obj/structure/light_prism(get_turf(owner), glasses.glasses_color) /obj/item/clothing/head/peaceflower @@ -112,7 +112,7 @@ Slimecrossing Armor if(iscarbon(user)) var/mob/living/carbon/carbon_user = user if(src == carbon_user.head) - to_chat(user, "You feel at peace. Why would you want anything else?") + to_chat(user, span_warning("You feel at peace. Why would you want anything else?")) return TRUE return FALSE diff --git a/code/modules/research/xenobiology/crossbreeding/_misc.dm b/code/modules/research/xenobiology/crossbreeding/_misc.dm index a186233d40c..de6ccdb9383 100644 --- a/code/modules/research/xenobiology/crossbreeding/_misc.dm +++ b/code/modules/research/xenobiology/crossbreeding/_misc.dm @@ -110,11 +110,11 @@ Slimecrossing Items /obj/item/barriercube/attack_self(mob/user) if(locate(/obj/structure/barricade/slime) in get_turf(loc)) - to_chat(user, "You can't fit more than one barrier in the same space!") + to_chat(user, span_warning("You can't fit more than one barrier in the same space!")) return - to_chat(user, "You squeeze [src].") + to_chat(user, span_notice("You squeeze [src].")) var/obj/B = new /obj/structure/barricade/slime(get_turf(loc)) - B.visible_message("[src] suddenly grows into a large, gelatinous barrier!") + B.visible_message(span_warning("[src] suddenly grows into a large, gelatinous barrier!")) qdel(src) //Slime barricade - Chilling Grey @@ -172,37 +172,37 @@ Slimecrossing Items /obj/item/capturedevice/attack(mob/living/M, mob/user) if(length(contents)) - to_chat(user, "The device already has something inside.") + to_chat(user, span_warning("The device already has something inside.")) return if(!isanimal(M)) - to_chat(user, "The capture device only works on simple creatures.") + to_chat(user, span_warning("The capture device only works on simple creatures.")) return if(M.mind) - to_chat(user, "You offer the device to [M].") + to_chat(user, span_notice("You offer the device to [M].")) if(tgui_alert(M, "Would you like to enter [user]'s capture device?", "Gold Capture Device", list("Yes", "No")) == "Yes") if(user.canUseTopic(src, BE_CLOSE) && user.canUseTopic(M, BE_CLOSE)) - to_chat(user, "You store [M] in the capture device.") - to_chat(M, "The world warps around you, and you're suddenly in an endless void, with a window to the outside floating in front of you.") + to_chat(user, span_notice("You store [M] in the capture device.")) + to_chat(M, span_notice("The world warps around you, and you're suddenly in an endless void, with a window to the outside floating in front of you.")) store(M, user) else - to_chat(user, "You were too far away from [M].") - to_chat(M, "You were too far away from [user].") + to_chat(user, span_warning("You were too far away from [M].")) + to_chat(M, span_warning("You were too far away from [user].")) else - to_chat(user, "[M] refused to enter the device.") + to_chat(user, span_warning("[M] refused to enter the device.")) return else if(istype(M, /mob/living/simple_animal/hostile) && !("neutral" in M.faction)) - to_chat(user, "This creature is too aggressive to capture.") + to_chat(user, span_warning("This creature is too aggressive to capture.")) return - to_chat(user, "You store [M] in the capture device.") + to_chat(user, span_notice("You store [M] in the capture device.")) store(M) /obj/item/capturedevice/attack_self(mob/user) if(contents.len) - to_chat(user, "You open the capture device!") + to_chat(user, span_notice("You open the capture device!")) release() else - to_chat(user, "The device is empty...") + to_chat(user, span_warning("The device is empty...")) /obj/item/capturedevice/proc/store(mob/living/M) M.forceMove(src) diff --git a/code/modules/research/xenobiology/crossbreeding/_mobs.dm b/code/modules/research/xenobiology/crossbreeding/_mobs.dm index cb16435e3d1..33cfc0bf9be 100644 --- a/code/modules/research/xenobiology/crossbreeding/_mobs.dm +++ b/code/modules/research/xenobiology/crossbreeding/_mobs.dm @@ -27,7 +27,7 @@ Slimecrossing Mobs /mob/living/simple_animal/slime/transformedslime /mob/living/simple_animal/slime/transformedslime/Reproduce() //Just in case. - to_chat(src, "I can't reproduce...") + to_chat(src, span_warning("I can't reproduce...")) return //Slime corgi - Chilling Pink diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm index 0c47ed9f8d7..092a3863843 100644 --- a/code/modules/research/xenobiology/crossbreeding/_potions.dm +++ b/code/modules/research/xenobiology/crossbreeding/_potions.dm @@ -17,18 +17,18 @@ Slimecrossing Potions if(istype(target, /obj/item/reagent_containers)) return ..(target, user, proximity) if(istype(target, /obj/item/slimecross)) - to_chat(user, "[target] is too complex for the potion to clone!") + to_chat(user, span_warning("[target] is too complex for the potion to clone!")) return if(!istype(target, /obj/item/slime_extract)) return var/obj/item/slime_extract/S = target if(S.recurring) - to_chat(user, "[target] is too complex for the potion to clone!") + to_chat(user, span_warning("[target] is too complex for the potion to clone!")) return var/path = S.type var/obj/item/slime_extract/C = new path(get_turf(target)) C.Uses = S.Uses - to_chat(user, "You pour the potion onto [target], and the fluid solidifies into a copy of it!") + to_chat(user, span_notice("You pour the potion onto [target], and the fluid solidifies into a copy of it!")) qdel(src) return @@ -41,24 +41,24 @@ Slimecrossing Potions /obj/item/slimepotion/peacepotion/attack(mob/living/M, mob/user) if(!isliving(M) || M.stat == DEAD) - to_chat(user, "[src] only works on the living.") + to_chat(user, span_warning("[src] only works on the living.")) return ..() if(istype(M, /mob/living/simple_animal/hostile/megafauna)) - to_chat(user, "[src] does not work on beings of pure evil!") + to_chat(user, span_warning("[src] does not work on beings of pure evil!")) return ..() if(M != user) - M.visible_message("[user] starts to feed [M] [src]!", - "[user] starts to feed you [src]!") + M.visible_message(span_danger("[user] starts to feed [M] [src]!"), + span_userdanger("[user] starts to feed you [src]!")) else - M.visible_message("[user] starts to drink [src]!", - "You start to drink [src]!") + M.visible_message(span_danger("[user] starts to drink [src]!"), + span_danger("You start to drink [src]!")) if(!do_after(user, 100, target = M)) return if(M != user) - to_chat(user, "You feed [M] [src]!") + to_chat(user, span_notice("You feed [M] [src]!")) else - to_chat(user, "You drink [src]!") + to_chat(user, span_warning("You drink [src]!")) if(isanimal(M)) ADD_TRAIT(M, TRAIT_PACIFISM, MAGIC_TRAIT) else if(iscarbon(M)) @@ -75,25 +75,25 @@ Slimecrossing Potions /obj/item/slimepotion/lovepotion/attack(mob/living/M, mob/user) if(!isliving(M) || M.stat == DEAD) - to_chat(user, "The love potion only works on living things, sicko!") + to_chat(user, span_warning("The love potion only works on living things, sicko!")) return ..() if(istype(M, /mob/living/simple_animal/hostile/megafauna)) - to_chat(user, "The love potion does not work on beings of pure evil!") + to_chat(user, span_warning("The love potion does not work on beings of pure evil!")) return ..() if(user == M) - to_chat(user, "You can't drink the love potion. What are you, a narcissist?") + to_chat(user, span_warning("You can't drink the love potion. What are you, a narcissist?")) return ..() if(M.has_status_effect(STATUS_EFFECT_INLOVE)) - to_chat(user, "[M] is already lovestruck!") + to_chat(user, span_warning("[M] is already lovestruck!")) return ..() - M.visible_message("[user] starts to feed [M] a love potion!", - "[user] starts to feed you a love potion!") + M.visible_message(span_danger("[user] starts to feed [M] a love potion!"), + span_userdanger("[user] starts to feed you a love potion!")) if(!do_after(user, 50, target = M)) return - to_chat(user, "You feed [M] the love potion!") - to_chat(M, "You develop feelings for [user], and anyone [user.p_they()] like[user.p_s()].") + to_chat(user, span_notice("You feed [M] the love potion!")) + to_chat(M, span_notice("You develop feelings for [user], and anyone [user.p_they()] like[user.p_s()].")) if(M.mind) M.mind.store_memory("You are in love with [user].") M.faction |= "[REF(user)]" @@ -116,15 +116,15 @@ Slimecrossing Potions if(!proximity) return if(!istype(C)) - to_chat(user, "The potion can only be used on clothing!") + to_chat(user, span_warning("The potion can only be used on clothing!")) return if(istype(C, /obj/item/clothing/suit/space)) - to_chat(user, "The [C] is already pressure-resistant!") + to_chat(user, span_warning("The [C] is already pressure-resistant!")) return ..() if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE) - to_chat(user, "The [C] is already pressure-resistant!") + to_chat(user, span_warning("The [C] is already pressure-resistant!")) return ..() - to_chat(user, "You slather the blue gunk over the [C], making it airtight.") + to_chat(user, span_notice("You slather the blue gunk over the [C], making it airtight.")) C.name = "pressure-resistant [C.name]" C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) @@ -159,9 +159,9 @@ Slimecrossing Potions if(!proximity) return ..() if(!istype(C)) - to_chat(user, "You can't coat this with lavaproofing fluid!") + to_chat(user, span_warning("You can't coat this with lavaproofing fluid!")) return ..() - to_chat(user, "You slather the red gunk over the [C], making it lavaproof.") + to_chat(user, span_notice("You slather the red gunk over the [C], making it lavaproof.")) C.name = "lavaproof [C.name]" C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY) @@ -182,16 +182,16 @@ Slimecrossing Potions /obj/item/slimepotion/slime_reviver/attack(mob/living/simple_animal/slime/M, mob/user) if(!isslime(M)) - to_chat(user, "The potion only works on slimes!") + to_chat(user, span_warning("The potion only works on slimes!")) return ..() if(M.stat != DEAD) - to_chat(user, "The slime is still alive!") + to_chat(user, span_warning("The slime is still alive!")) return if(M.maxHealth <= 0) - to_chat(user, "The slime is too unstable to return!") + to_chat(user, span_warning("The slime is too unstable to return!")) M.revive(full_heal = TRUE, admin_revive = FALSE) M.set_stat(CONSCIOUS) - M.visible_message("[M] is filled with renewed vigor and blinks awake!") + M.visible_message(span_notice("[M] is filled with renewed vigor and blinks awake!")) M.maxHealth -= 10 //Revival isn't healthy. M.health -= 10 M.regenerate_icons() @@ -206,15 +206,15 @@ Slimecrossing Potions /obj/item/slimepotion/slime/chargedstabilizer/attack(mob/living/simple_animal/slime/M, mob/user) if(!isslime(M)) - to_chat(user, "The stabilizer only works on slimes!") + to_chat(user, span_warning("The stabilizer only works on slimes!")) return ..() if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") + to_chat(user, span_warning("The slime already has no chance of mutating!")) return - to_chat(user, "You feed the slime the omnistabilizer. It will not mutate this cycle!") + to_chat(user, span_notice("You feed the slime the omnistabilizer. It will not mutate this cycle!")) M.mutation_chance = 0 qdel(src) diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 187ade6f158..79d77e265f1 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -12,8 +12,8 @@ /datum/status_effect/rainbow_protection/on_apply() owner.status_flags |= GODMODE ADD_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection) - owner.visible_message("[owner] shines with a brilliant rainbow light.", - "You feel protected by an unknown force!") + owner.visible_message(span_warning("[owner] shines with a brilliant rainbow light."), + span_notice("You feel protected by an unknown force!")) originalcolor = owner.color return ..() @@ -25,8 +25,8 @@ owner.status_flags &= ~GODMODE owner.color = originalcolor REMOVE_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection) - owner.visible_message("[owner] stops glowing, the rainbow light fading away.", - "You no longer feel protected...") + owner.visible_message(span_notice("[owner] stops glowing, the rainbow light fading away."), + span_warning("You no longer feel protected...")) /atom/movable/screen/alert/status_effect/slimeskin name = "Adamantine Slimeskin" @@ -45,8 +45,8 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner H.physiology.damage_resistance += 10 - owner.visible_message("[owner] is suddenly covered in a strange, blue-ish gel!", - "You are covered in a thick, rubbery gel.") + owner.visible_message(span_warning("[owner] is suddenly covered in a strange, blue-ish gel!"), + span_notice("You are covered in a thick, rubbery gel.")) return ..() /datum/status_effect/slimeskin/on_remove() @@ -54,8 +54,8 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner H.physiology.damage_resistance -= 10 - owner.visible_message("[owner]'s gel coating liquefies and dissolves away.", - "Your gel second-skin dissolves!") + owner.visible_message(span_warning("[owner]'s gel coating liquefies and dissolves away."), + span_notice("Your gel second-skin dissolves!")) /datum/status_effect/slimerecall id = "slime_recall" @@ -68,8 +68,8 @@ /datum/status_effect/slimerecall/on_apply() RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/resistField) - to_chat(owner, "You feel a sudden tug from an unknown force, and feel a pull to bluespace!") - to_chat(owner, "Resist if you wish avoid the force!") + to_chat(owner, span_danger("You feel a sudden tug from an unknown force, and feel a pull to bluespace!")) + to_chat(owner, span_notice("Resist if you wish avoid the force!")) bluespace = icon('icons/effects/effects.dmi',"chronofield") owner.add_overlay(bluespace) return ..() @@ -83,12 +83,12 @@ UnregisterSignal(owner, COMSIG_LIVING_RESIST) owner.cut_overlay(bluespace) if(interrupted || !ismob(target)) - to_chat(owner, "The bluespace tug fades away, and you feel that the force has passed you by.") + to_chat(owner, span_warning("The bluespace tug fades away, and you feel that the force has passed you by.")) return var/turf/old_location = get_turf(owner) if(do_teleport(owner, target.loc, channel = TELEPORT_CHANNEL_QUANTUM)) //despite being named a bluespace teleportation method the quantum channel is used to preserve precision teleporting with a bag of holding - old_location.visible_message("[owner] disappears in a flurry of sparks!") - to_chat(owner, "The unknown force snatches briefly you from reality, and deposits you next to [target]!") + old_location.visible_message(span_warning("[owner] disappears in a flurry of sparks!")) + to_chat(owner, span_warning("The unknown force snatches briefly you from reality, and deposits you next to [target]!")) /atom/movable/screen/alert/status_effect/freon/stasis desc = "You're frozen inside of a protective ice cube! While inside, you can't do anything, but are immune to harm! Resist to get out." @@ -348,7 +348,7 @@ huggables += L if(length(huggables)) var/mob/living/carbon/hugged = pick(huggables) - owner.visible_message("[owner] hugs [hugged]!", "You hug [hugged]!") + owner.visible_message(span_notice("[owner] hugs [hugged]!"), span_notice("You hug [hugged]!")) /datum/status_effect/tarcookie id = "tarcookie" @@ -464,7 +464,7 @@ /datum/status_effect/stabilized/grey/tick() for(var/mob/living/simple_animal/slime/S in range(1, get_turf(owner))) if(!(owner in S.Friends)) - to_chat(owner, "[linked_extract] pulses gently as it communicates with [S].") + to_chat(owner, span_notice("[linked_extract] pulses gently as it communicates with [S].")) S.set_friendship(owner, 1) return ..() @@ -533,7 +533,7 @@ var/obj/item/stack/sheet/S = pick(sheets) S.amount++ S.update_custom_materials() - to_chat(owner, "[linked_extract] adds a layer of slime to [S], which metamorphosizes into another sheet of material!") + to_chat(owner, span_notice("[linked_extract] adds a layer of slime to [S], which metamorphosizes into another sheet of material!")) return ..() @@ -556,7 +556,7 @@ if(batteries.len) var/obj/item/stock_parts/cell/ToCharge = pick(batteries) ToCharge.charge += min(ToCharge.maxcharge - ToCharge.charge, ToCharge.maxcharge/10) //10% of the cell, or to maximum. - to_chat(owner, "[linked_extract] discharges some energy into a device you have.") + to_chat(owner, span_notice("[linked_extract] discharges some energy into a device you have.")) return ..() /obj/item/hothands @@ -581,7 +581,7 @@ var/obj/item/item = owner.get_active_held_item() if(IS_EDIBLE(item)) if(item.microwave_act()) - to_chat(owner, "[linked_extract] flares up brightly, and your hands alone are enough cook [item]!") + to_chat(owner, span_warning("[linked_extract] flares up brightly, and your hands alone are enough cook [item]!")) else item.attackby(fire, owner) return ..() @@ -598,25 +598,25 @@ if(owner.fire_stacks > 0 && prob(80)) owner.adjust_fire_stacks(-1) if(owner.fire_stacks <= 0) - to_chat(owner, "[linked_extract] coats you in a watery goo, extinguishing the flames.") + to_chat(owner, span_notice("[linked_extract] coats you in a watery goo, extinguishing the flames.")) var/obj/O = owner.get_active_held_item() if(O) O.extinguish() //All shamelessly copied from water's expose_obj, since I didn't seem to be able to get it here for some reason. O.wash(CLEAN_TYPE_ACID) // Monkey cube if(istype(O, /obj/item/food/monkeycube)) - to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!") + to_chat(owner, span_warning("[linked_extract] kept your hands wet! It makes [O] expand!")) var/obj/item/food/monkeycube/cube = O cube.Expand() // Dehydrated carp else if(istype(O, /obj/item/toy/plush/carpplushie/dehy_carp)) - to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!") + to_chat(owner, span_warning("[linked_extract] kept your hands wet! It makes [O] expand!")) var/obj/item/toy/plush/carpplushie/dehy_carp/dehy = O dehy.Swell() // Makes a carp else if(istype(O, /obj/item/stack/sheet/hairlesshide)) - to_chat(owner, "[linked_extract] kept your hands wet! It wets [O]!") + to_chat(owner, span_warning("[linked_extract] kept your hands wet! It wets [O]!")) var/obj/item/stack/sheet/hairlesshide/HH = O new /obj/item/stack/sheet/wethide(get_turf(HH), HH.amount) qdel(HH) @@ -664,7 +664,7 @@ linked_alert.icon_state = "slime_bluespace_on" if(healthcheck && (healthcheck - owner.health) > 5) - owner.visible_message("[linked_extract] notices the sudden change in [owner]'s physical health, and activates!") + owner.visible_message(span_warning("[linked_extract] notices the sudden change in [owner]'s physical health, and activates!")) do_sparks(5,FALSE,owner) var/F = find_safe_turf(zlevels = owner.z, extended_safety_checks = TRUE) var/range = 0 @@ -672,7 +672,7 @@ F = get_turf(owner) range = 50 if(do_teleport(owner, F, range, channel = TELEPORT_CHANNEL_BLUESPACE)) - to_chat(owner, "[linked_extract] will take some time to re-align you on the bluespace axis.") + to_chat(owner, span_notice("[linked_extract] will take some time to re-align you on the bluespace axis.")) do_sparks(5,FALSE,owner) owner.apply_status_effect(/datum/status_effect/bluespacestabilization) healthcheck = owner.health @@ -715,20 +715,20 @@ /datum/status_effect/stabilized/cerulean/tick() if(owner.stat == DEAD) if(clone && clone.stat != DEAD) - owner.visible_message("[owner] blazes with brilliant light, [linked_extract] whisking [owner.p_their()] soul away.", - "You feel a warm glow from [linked_extract], and you open your eyes... elsewhere.") + owner.visible_message(span_warning("[owner] blazes with brilliant light, [linked_extract] whisking [owner.p_their()] soul away."), + span_notice("You feel a warm glow from [linked_extract], and you open your eyes... elsewhere.")) if(owner.mind) owner.mind.transfer_to(clone) clone = null qdel(linked_extract) if(!clone || clone.stat == DEAD) - to_chat(owner, "[linked_extract] desperately tries to move your soul to a living body, but can't find one!") + to_chat(owner, span_notice("[linked_extract] desperately tries to move your soul to a living body, but can't find one!")) qdel(linked_extract) ..() /datum/status_effect/stabilized/cerulean/on_remove() if(clone) - clone.visible_message("[clone] dissolves into a puddle of goo!") + clone.visible_message(span_warning("[clone] dissolves into a puddle of goo!")) clone.unequip_everything() qdel(clone) @@ -767,7 +767,7 @@ var/originalname /datum/status_effect/stabilized/green/on_apply() - to_chat(owner, "You feel different...") + to_chat(owner, span_warning("You feel different...")) if(ishuman(owner)) var/mob/living/carbon/human/H = owner originalDNA = new H.dna.type @@ -784,7 +784,7 @@ return ..() /datum/status_effect/stabilized/green/on_remove() - to_chat(owner, "You feel more like yourself.") + to_chat(owner, span_notice("You feel more like yourself.")) if(ishuman(owner)) var/mob/living/carbon/human/H = owner originalDNA.transfer_identity(H) @@ -840,9 +840,9 @@ if(HasFaction && owner.has_status_effect(/datum/status_effect/brokenpeace)) owner.faction -= faction_name - to_chat(owner, "The peace has been broken! Hostile creatures will now react to you!") + to_chat(owner, span_userdanger("The peace has been broken! Hostile creatures will now react to you!")) if(!HasFaction && !owner.has_status_effect(/datum/status_effect/brokenpeace)) - to_chat(owner, "[linked_extract] pulses, generating a fragile aura of peace.") + to_chat(owner, span_notice("[linked_extract] pulses, generating a fragile aura of peace.")) owner.faction |= faction_name return ..() @@ -876,8 +876,8 @@ if(M.stat == DEAD) return if(!messagedelivered) - to_chat(owner,"You feel your hands melt around [M]'s neck and start to drain [M.p_them()] of life.") - to_chat(owner.pulling, "[owner]'s hands melt around your neck, and you can feel your life starting to drain away!") + to_chat(owner,span_notice("You feel your hands melt around [M]'s neck and start to drain [M.p_them()] of life.")) + to_chat(owner.pulling, span_userdanger("[owner]'s hands melt around your neck, and you can feel your life starting to drain away!")) messagedelivered = TRUE examine_text = "SUBJECTPRONOUN is draining health from [owner.pulling]!" var/list/healing_types = list() @@ -970,7 +970,7 @@ if(X.regencore) X.regencore.afterattack(owner,owner,TRUE) X.regencore = null - owner.visible_message("[owner] flashes a rainbow of colors, and [owner.p_their()] skin is coated in a milky regenerative goo!") + owner.visible_message(span_warning("[owner] flashes a rainbow of colors, and [owner.p_their()] skin is coated in a milky regenerative goo!")) qdel(src) qdel(linked_extract) return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 7cfd0fa582a..e48b32afa33 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -15,10 +15,10 @@ Burning extracts: /obj/item/slimecross/burning/attack_self(mob/user) if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") + to_chat(user, span_warning("This extract needs to be full of plasma to activate!")) return reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") + to_chat(user, span_notice("You squeeze the extract, and it absorbs the plasma!")) playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) playsound(src, 'sound/magic/fireball.ogg', 50, TRUE) do_effect(user) @@ -33,7 +33,7 @@ Burning extracts: /obj/item/slimecross/burning/grey/do_effect(mob/user) var/mob/living/simple_animal/slime/S = new(get_turf(user),"grey") - S.visible_message("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!") + S.visible_message(span_danger("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!")) S.set_friendship(user, 20) //Gas, gas, gas S.bodytemperature = T0C + 400 //We gonna step on the gas. S.set_nutrition(S.get_hunger_nutrition()) //Tonight, we fight! @@ -44,7 +44,7 @@ Burning extracts: effect_desc = "Expels pepperspray in a radius when activated." /obj/item/slimecross/burning/orange/do_effect(mob/user) - user.visible_message("[src] boils over with a caustic gas!") + user.visible_message(span_danger("[src] boils over with a caustic gas!")) var/datum/reagents/R = new/datum/reagents(100) R.add_reagent(/datum/reagent/consumable/condensedcapsaicin, 100) @@ -58,7 +58,7 @@ Burning extracts: effect_desc = "Creates a clump of invigorating gel, it has healing properties and makes you feel good." /obj/item/slimecross/burning/purple/do_effect(mob/user) - user.visible_message("[src] fills with a bubbling liquid!") + user.visible_message(span_notice("[src] fills with a bubbling liquid!")) new /obj/item/slimecrossbeaker/autoinjector/slimestimulant(get_turf(user)) ..() @@ -67,13 +67,13 @@ Burning extracts: effect_desc = "Freezes the floor around you and chills nearby people." /obj/item/slimecross/burning/blue/do_effect(mob/user) - user.visible_message("[src] flash-freezes the area!") + user.visible_message(span_danger("[src] flash-freezes the area!")) for(var/turf/open/T in range(3, get_turf(user))) T.MakeSlippery(TURF_WET_PERMAFROST, min_wet_time = 10, wet_time_to_add = 5) for(var/mob/living/carbon/M in range(5, get_turf(user))) if(M != user) M.bodytemperature = BODYTEMP_COLD_DAMAGE_LIMIT + 10 //Not quite cold enough to hurt. - to_chat(M, "You feel a chill run down your spine, and the floor feels a bit slippery with frost...") + to_chat(M, span_danger("You feel a chill run down your spine, and the floor feels a bit slippery with frost...")) ..() /obj/item/slimecross/burning/metal @@ -84,7 +84,7 @@ Burning extracts: for(var/turf/closed/wall/W in range(1,get_turf(user))) W.dismantle_wall(1) playsound(W, 'sound/effects/break_stone.ogg', 50, TRUE) - user.visible_message("[src] pulses violently, and shatters the walls around it!") + user.visible_message(span_danger("[src] pulses violently, and shatters the walls around it!")) ..() /obj/item/slimecross/burning/yellow @@ -92,7 +92,7 @@ Burning extracts: effect_desc = "Electrocutes people near you." /obj/item/slimecross/burning/yellow/do_effect(mob/user) - user.visible_message("[src] explodes into an electrical field!") + user.visible_message(span_danger("[src] explodes into an electrical field!")) playsound(get_turf(src), 'sound/weapons/zapbang.ogg', 50, TRUE) for(var/mob/living/M in range(4,get_turf(user))) if(M != user) @@ -101,7 +101,7 @@ Burning extracts: C.electrocute_act(25,src) else M.adjustFireLoss(25) - to_chat(M, "You feel a sharp electrical pulse!") + to_chat(M, span_danger("You feel a sharp electrical pulse!")) ..() /obj/item/slimecross/burning/darkpurple @@ -109,7 +109,7 @@ Burning extracts: effect_desc = "Creates a cloud of plasma." /obj/item/slimecross/burning/darkpurple/do_effect(mob/user) - user.visible_message("[src] sublimates into a cloud of plasma!") + user.visible_message(span_danger("[src] sublimates into a cloud of plasma!")) var/turf/T = get_turf(user) T.atmos_spawn_air("plasma=60") ..() @@ -119,7 +119,7 @@ Burning extracts: effect_desc = "Expels a burst of chilling smoke while also filling you with cryoxadone." /obj/item/slimecross/burning/darkblue/do_effect(mob/user) - user.visible_message("[src] releases a burst of chilling smoke!") + user.visible_message(span_danger("[src] releases a burst of chilling smoke!")) var/datum/reagents/R = new/datum/reagents(100) R.add_reagent(/datum/reagent/consumable/frostoil, 40) user.reagents.add_reagent(/datum/reagent/medicine/cryoxadone,10) @@ -143,7 +143,7 @@ Burning extracts: O.reagents.add_reagent(/datum/reagent/toxin/slimejelly,5) //Oh god it burns if(prob(50)) O.desc += " It smells strange..." - user.visible_message("[src] produces a few pieces of food!") + user.visible_message(span_danger("[src] produces a few pieces of food!")) ..() /obj/item/slimecross/burning/bluespace @@ -151,7 +151,7 @@ Burning extracts: effect_desc = "Teleports anyone directly next to you." /obj/item/slimecross/burning/bluespace/do_effect(mob/user) - user.visible_message("[src] sparks, and lets off a shockwave of bluespace energy!") + user.visible_message(span_danger("[src] sparks, and lets off a shockwave of bluespace energy!")) for(var/mob/living/L in range(1, get_turf(user))) if(L != user) do_teleport(L, get_turf(L), 6, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) //Somewhere between the effectiveness of fake and real BS crystal @@ -164,7 +164,7 @@ Burning extracts: effect_desc = "Turns into a special camera that rewinds time when used." /obj/item/slimecross/burning/sepia/do_effect(mob/user) - user.visible_message("[src] shapes itself into a camera!") + user.visible_message(span_notice("[src] shapes itself into a camera!")) new /obj/item/camera/rewind(get_turf(user)) ..() @@ -173,7 +173,7 @@ Burning extracts: effect_desc = "Produces an extract cloning potion, which copies an extract, as well as its extra uses." /obj/item/slimecross/burning/cerulean/do_effect(mob/user) - user.visible_message("[src] produces a potion!") + user.visible_message(span_notice("[src] produces a potion!")) new /obj/item/slimepotion/extract_cloner(get_turf(user)) ..() @@ -182,7 +182,7 @@ Burning extracts: effect_desc = "Shatters all lights in the current room." /obj/item/slimecross/burning/pyrite/do_effect(mob/user) - user.visible_message("[src] releases a colorful wave of energy, which shatters the lights!") + user.visible_message(span_danger("[src] releases a colorful wave of energy, which shatters the lights!")) var/area/A = get_area(user.loc) for(var/obj/machinery/light/L in A) //Shamelessly copied from the APC effect. L.on = TRUE @@ -196,7 +196,7 @@ Burning extracts: effect_desc = "Makes nearby slimes rabid, and they'll also attack their friends." /obj/item/slimecross/burning/red/do_effect(mob/user) - user.visible_message("[src] pulses a hazy red aura for a moment, which wraps around [user]!") + user.visible_message(span_danger("[src] pulses a hazy red aura for a moment, which wraps around [user]!")) for(var/mob/living/simple_animal/slime/S in view(7, get_turf(user))) if(user in S.Friends) var/friendliness = S.Friends[user] @@ -205,7 +205,7 @@ Burning extracts: else S.clear_friends() S.rabid = 1 - S.visible_message("The [S] is driven into a dangerous frenzy!") + S.visible_message(span_danger("The [S] is driven into a dangerous frenzy!")) ..() /obj/item/slimecross/burning/green @@ -224,9 +224,9 @@ Burning extracts: var/obj/item/melee/arm_blade/slime/blade = new(user) if(!L.put_in_hands(blade)) qdel(blade) - user.visible_message("[src] melts onto [user]'s arm, boiling the flesh horribly!") + user.visible_message(span_warning("[src] melts onto [user]'s arm, boiling the flesh horribly!")) else - user.visible_message("[src] sublimates the flesh around [user]'s arm, transforming the bone into a gruesome blade!") + user.visible_message(span_danger("[src] sublimates the flesh around [user]'s arm, transforming the bone into a gruesome blade!")) user.emote("scream") L.apply_damage(30,BURN,which_hand) ..() @@ -236,7 +236,7 @@ Burning extracts: effect_desc = "Creates a beaker of synthpax." /obj/item/slimecross/burning/pink/do_effect(mob/user) - user.visible_message("[src] shrinks into a small, gel-filled pellet!") + user.visible_message(span_notice("[src] shrinks into a small, gel-filled pellet!")) new /obj/item/slimecrossbeaker/pax(get_turf(user)) ..() @@ -245,7 +245,7 @@ Burning extracts: effect_desc = "Creates a gank squad of monsters that are friendly to the user." /obj/item/slimecross/burning/gold/do_effect(mob/user) - user.visible_message("[src] shudders violently, and summons an army for [user]!") + user.visible_message(span_danger("[src] shudders violently, and summons an army for [user]!")) for(var/i in 1 to 3) //Less than gold normally does, since it's safer and faster. var/mob/living/simple_animal/S = create_random_mob(get_turf(user), HOSTILE_SPAWN) S.faction |= "[REF(user)]" @@ -259,7 +259,7 @@ Burning extracts: effect_desc = "Creates an explosion after a few seconds." /obj/item/slimecross/burning/oil/do_effect(mob/user) - user.visible_message("[user] activates [src]. It's going to explode!", "You activate [src]. It crackles in anticipation") + user.visible_message(span_warning("[user] activates [src]. It's going to explode!"), span_danger("You activate [src]. It crackles in anticipation")) addtimer(CALLBACK(src, .proc/boom), 50) /// Inflicts a blastwave upon every mob within a small radius. @@ -279,7 +279,7 @@ Burning extracts: var/mob/living/L = user if(!istype(L)) return - user.visible_message("[src] absorbs [user], transforming [user.p_them()] into a slime!") + user.visible_message(span_danger("[src] absorbs [user], transforming [user.p_them()] into a slime!")) var/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform/S = new() S.remove_on_restore = TRUE user.mind.AddSpell(S) @@ -291,7 +291,7 @@ Burning extracts: effect_desc = "Paxes everyone in sight." /obj/item/slimecross/burning/lightpink/do_effect(mob/user) - user.visible_message("[src] lets off a hypnotizing pink glow!") + user.visible_message(span_danger("[src] lets off a hypnotizing pink glow!")) for(var/mob/living/carbon/C in view(7, get_turf(user))) C.reagents.add_reagent(/datum/reagent/pax,5) ..() @@ -301,7 +301,7 @@ Burning extracts: effect_desc = "Creates a mighty adamantine shield." /obj/item/slimecross/burning/adamantine/do_effect(mob/user) - user.visible_message("[src] crystallizes into a large shield!") + user.visible_message(span_notice("[src] crystallizes into a large shield!")) new /obj/item/shield/adamantineshield(get_turf(user)) ..() @@ -310,6 +310,6 @@ Burning extracts: effect_desc = "Creates the Rainbow Knife, a kitchen knife that deals random types of damage." /obj/item/slimecross/burning/rainbow/do_effect(mob/user) - user.visible_message("[src] flattens into a glowing rainbow blade.") + user.visible_message(span_notice("[src] flattens into a glowing rainbow blade.")) new /obj/item/kitchen/knife/rainbowknife(get_turf(user)) ..() diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index d23fe1d2687..4bd4c2d574d 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -16,10 +16,10 @@ Charged extracts: /obj/item/slimecross/charged/attack_self(mob/user) if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") + to_chat(user, span_warning("This extract needs to be full of plasma to activate!")) return reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") + to_chat(user, span_notice("You squeeze the extract, and it absorbs the plasma!")) playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) playsound(src, 'sound/effects/light_flicker.ogg', 50, TRUE) do_effect(user) @@ -34,7 +34,7 @@ Charged extracts: /obj/item/slimecross/charged/grey/do_effect(mob/user) new /obj/item/slimepotion/slime_reviver(get_turf(user)) - user.visible_message("[src] distills into a potion!") + user.visible_message(span_notice("[src] distills into a potion!")) ..() /obj/item/slimecross/charged/orange @@ -54,7 +54,7 @@ Charged extracts: /obj/item/slimecross/charged/purple/do_effect(mob/user) new /obj/item/slimecrossbeaker/omnizine(get_turf(user)) - user.visible_message("[src] sparks, and floods with a regenerative solution!") + user.visible_message(span_notice("[src] sparks, and floods with a regenerative solution!")) ..() /obj/item/slimecross/charged/blue @@ -63,7 +63,7 @@ Charged extracts: /obj/item/slimecross/charged/blue/do_effect(mob/user) new /obj/item/slimepotion/slime/chargedstabilizer(get_turf(user)) - user.visible_message("[src] distills into a potion!") + user.visible_message(span_notice("[src] distills into a potion!")) ..() /obj/item/slimecross/charged/metal @@ -73,7 +73,7 @@ Charged extracts: /obj/item/slimecross/charged/metal/do_effect(mob/user) new /obj/item/stack/sheet/iron(get_turf(user), 25) new /obj/item/stack/sheet/plasteel(get_turf(user), 10) - user.visible_message("[src] grows into a plethora of metals!") + user.visible_message(span_notice("[src] grows into a plethora of metals!")) ..() /obj/item/slimecross/charged/yellow @@ -82,7 +82,7 @@ Charged extracts: /obj/item/slimecross/charged/yellow/do_effect(mob/user) new /obj/item/stock_parts/cell/high/slime_hypercharged(get_turf(user)) - user.visible_message("[src] sparks violently, and swells with electric power!") + user.visible_message(span_notice("[src] sparks violently, and swells with electric power!")) ..() /obj/item/slimecross/charged/darkpurple @@ -91,7 +91,7 @@ Charged extracts: /obj/item/slimecross/charged/darkpurple/do_effect(mob/user) new /obj/item/stack/sheet/mineral/plasma(get_turf(user), 10) - user.visible_message("[src] produces a large amount of plasma!") + user.visible_message(span_notice("[src] produces a large amount of plasma!")) ..() /obj/item/slimecross/charged/darkblue @@ -100,7 +100,7 @@ Charged extracts: /obj/item/slimecross/charged/darkblue/do_effect(mob/user) new /obj/item/slimepotion/spaceproof(get_turf(user)) - user.visible_message("[src] distills into a potion!") + user.visible_message(span_notice("[src] distills into a potion!")) ..() /obj/item/slimecross/charged/silver @@ -112,7 +112,7 @@ Charged extracts: for(var/i in 1 to 10) var/drink_type = get_random_drink() new drink_type(get_turf(user)) - user.visible_message("[src] produces a party's worth of cake and drinks!") + user.visible_message(span_notice("[src] produces a party's worth of cake and drinks!")) ..() /obj/item/slimecross/charged/bluespace @@ -121,7 +121,7 @@ Charged extracts: /obj/item/slimecross/charged/bluespace/do_effect(mob/user) new /obj/item/stack/sheet/bluespace_crystal(get_turf(user), 10) - user.visible_message("[src] produces several sheets of polycrystal!") + user.visible_message(span_notice("[src] produces several sheets of polycrystal!")) ..() /obj/item/slimecross/charged/sepia @@ -130,7 +130,7 @@ Charged extracts: /obj/item/slimecross/charged/sepia/do_effect(mob/user) new /obj/item/camera/spooky(get_turf(user)) - user.visible_message("[src] flickers in a strange, ethereal manner, and produces a camera!") + user.visible_message(span_notice("[src] flickers in a strange, ethereal manner, and produces a camera!")) ..() /obj/item/slimecross/charged/cerulean @@ -139,7 +139,7 @@ Charged extracts: /obj/item/slimecross/charged/cerulean/do_effect(mob/user) new /obj/item/slimepotion/enhancer/max(get_turf(user)) - user.visible_message("[src] distills into a potion!") + user.visible_message(span_notice("[src] distills into a potion!")) ..() /obj/item/slimecross/charged/pyrite @@ -148,7 +148,7 @@ Charged extracts: /obj/item/slimecross/charged/pyrite/do_effect(mob/user) new /obj/item/stack/sheet/mineral/bananium(get_turf(user), 10) - user.visible_message("[src] solidifies with a horrifying banana stench!") + user.visible_message(span_warning("[src] solidifies with a horrifying banana stench!")) ..() /obj/item/slimecross/charged/red @@ -157,7 +157,7 @@ Charged extracts: /obj/item/slimecross/charged/red/do_effect(mob/user) new /obj/item/slimepotion/lavaproof(get_turf(user)) - user.visible_message("[src] distills into a potion!") + user.visible_message(span_notice("[src] distills into a potion!")) ..() /obj/item/slimecross/charged/green @@ -167,16 +167,16 @@ Charged extracts: /obj/item/slimecross/charged/green/do_effect(mob/user) var/mob/living/carbon/human/H = user if(!istype(H)) - to_chat(user, "You must be a humanoid to use this!") + to_chat(user, span_warning("You must be a humanoid to use this!")) return var/racechoice = input(H, "Choose your slime subspecies.", "Slime Selection") as null|anything in sortList(subtypesof(/datum/species/jelly), /proc/cmp_typepaths_asc) if(!racechoice) - to_chat(user, "You decide not to become a slime for now.") + to_chat(user, span_notice("You decide not to become a slime for now.")) return if(!user.canUseTopic(src, BE_CLOSE)) return H.set_species(racechoice, icon_update=1) - H.visible_message("[H] suddenly shifts form as [src] dissolves into [H.p_their()] skin!") + H.visible_message(span_warning("[H] suddenly shifts form as [src] dissolves into [H.p_their()] skin!")) ..() /obj/item/slimecross/charged/pink @@ -185,7 +185,7 @@ Charged extracts: /obj/item/slimecross/charged/pink/do_effect(mob/user) new /obj/item/slimepotion/lovepotion(get_turf(user)) - user.visible_message("[src] distills into a potion!") + user.visible_message(span_notice("[src] distills into a potion!")) ..() /obj/item/slimecross/charged/gold @@ -195,20 +195,20 @@ Charged extracts: var/spawned = 0 /obj/item/slimecross/charged/gold/do_effect(mob/user) - user.visible_message("[src] starts shuddering violently!") + user.visible_message(span_warning("[src] starts shuddering violently!")) addtimer(CALLBACK(src, .proc/startTimer), 50) /obj/item/slimecross/charged/gold/proc/startTimer() START_PROCESSING(SSobj, src) /obj/item/slimecross/charged/gold/process() - visible_message("[src] lets off a spark, and produces a living creature!") + visible_message(span_warning("[src] lets off a spark, and produces a living creature!")) new /obj/effect/particle_effect/sparks(get_turf(src)) playsound(get_turf(src), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) create_random_mob(get_turf(src), HOSTILE_SPAWN) spawned++ if(spawned >= max_spawn) - visible_message("[src] collapses into a puddle of goo.") + visible_message(span_warning("[src] collapses into a puddle of goo.")) qdel(src) /obj/item/slimecross/charged/gold/Destroy() @@ -220,7 +220,7 @@ Charged extracts: effect_desc = "Creates an explosion after a few seconds." /obj/item/slimecross/charged/oil/do_effect(mob/user) - user.visible_message("[src] begins to shake with rapidly increasing force!") + user.visible_message(span_danger("[src] begins to shake with rapidly increasing force!")) addtimer(CALLBACK(src, .proc/boom), 50) /obj/item/slimecross/charged/oil/proc/boom() @@ -234,7 +234,7 @@ Charged extracts: /obj/item/slimecross/charged/black/do_effect(mob/user) var/mob/living/carbon/human/H = user if(!istype(H)) - to_chat(user, "You have to be able to have a species to get your species changed.") + to_chat(user, span_warning("You have to be able to have a species to get your species changed.")) return var/list/allowed_species = list() for(var/stype in subtypesof(/datum/species)) @@ -245,7 +245,7 @@ Charged extracts: var/datum/species/changed = pick(allowed_species) if(changed) H.set_species(changed, icon_update = 1) - to_chat(H, "You feel very different!") + to_chat(H, span_danger("You feel very different!")) ..() /obj/item/slimecross/charged/lightpink @@ -254,7 +254,7 @@ Charged extracts: /obj/item/slimecross/charged/lightpink/do_effect(mob/user) new /obj/item/slimepotion/peacepotion(get_turf(user)) - user.visible_message("[src] distills into a potion!") + user.visible_message(span_notice("[src] distills into a potion!")) ..() /obj/item/slimecross/charged/adamantine @@ -262,7 +262,7 @@ Charged extracts: effect_desc = "Creates a completed golem shell." /obj/item/slimecross/charged/adamantine/do_effect(mob/user) - user.visible_message("[src] produces a fully formed golem shell!") + user.visible_message(span_notice("[src] produces a fully formed golem shell!")) new /obj/effect/mob_spawn/human/golem/servant(get_turf(src), /datum/species/golem/adamantine, user) ..() @@ -271,7 +271,7 @@ Charged extracts: effect_desc = "Produces three living slimes of random colors." /obj/item/slimecross/charged/rainbow/do_effect(mob/user) - user.visible_message("[src] swells and splits into three new slimes!") + user.visible_message(span_warning("[src] swells and splits into three new slimes!")) for(var/i in 1 to 3) var/mob/living/simple_animal/slime/S = new(get_turf(user)) S.random_colour() diff --git a/code/modules/research/xenobiology/crossbreeding/chilling.dm b/code/modules/research/xenobiology/crossbreeding/chilling.dm index f7aaede8c81..60e5278156d 100644 --- a/code/modules/research/xenobiology/crossbreeding/chilling.dm +++ b/code/modules/research/xenobiology/crossbreeding/chilling.dm @@ -15,10 +15,10 @@ Chilling extracts: /obj/item/slimecross/chilling/attack_self(mob/user) if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") + to_chat(user, span_warning("This extract needs to be full of plasma to activate!")) return reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") + to_chat(user, span_notice("You squeeze the extract, and it absorbs the plasma!")) playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) playsound(src, 'sound/effects/glassbr1.ogg', 50, TRUE) do_effect(user) @@ -32,7 +32,7 @@ Chilling extracts: effect_desc = "Creates some slime barrier cubes. When used they create slimy barricades." /obj/item/slimecross/chilling/grey/do_effect(mob/user) - user.visible_message("[src] produces a few small, grey cubes") + user.visible_message(span_notice("[src] produces a few small, grey cubes")) for(var/i in 1 to 3) new /obj/item/barriercube(get_turf(user)) ..() @@ -42,7 +42,7 @@ Chilling extracts: effect_desc = "Creates a ring of fire one tile away from the user." /obj/item/slimecross/chilling/orange/do_effect(mob/user) - user.visible_message("[src] shatters, and lets out a jet of heat!") + user.visible_message(span_danger("[src] shatters, and lets out a jet of heat!")) for(var/turf/T in orange(get_turf(user),2)) if(get_dist(get_turf(user), T) > 1) new /obj/effect/hotspot(T) @@ -55,9 +55,9 @@ Chilling extracts: /obj/item/slimecross/chilling/purple/do_effect(mob/user) var/area/A = get_area(get_turf(user)) if(A.outdoors) - to_chat(user, "[src] can't affect such a large area.") + to_chat(user, span_warning("[src] can't affect such a large area.")) return - user.visible_message("[src] shatters, and a healing aura fills the room briefly.") + user.visible_message(span_notice("[src] shatters, and a healing aura fills the room briefly.")) for(var/mob/living/carbon/C in A) C.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) ..() @@ -67,7 +67,7 @@ Chilling extracts: effect_desc = "Creates a rebreather, a tankless mask." /obj/item/slimecross/chilling/blue/do_effect(mob/user) - user.visible_message("[src] cracks, and spills out a liquid goo, which reforms into a mask!") + user.visible_message(span_notice("[src] cracks, and spills out a liquid goo, which reforms into a mask!")) new /obj/item/clothing/mask/nobreath(get_turf(user)) ..() @@ -76,7 +76,7 @@ Chilling extracts: effect_desc = "Temporarily surrounds the user with unbreakable walls." /obj/item/slimecross/chilling/metal/do_effect(mob/user) - user.visible_message("[src] melts like quicksilver, and surrounds [user] in a wall!") + user.visible_message(span_danger("[src] melts like quicksilver, and surrounds [user] in a wall!")) for(var/turf/T in orange(get_turf(user),1)) if(get_dist(get_turf(user), T) > 0) new /obj/effect/forcefield/slimewall(T) @@ -88,7 +88,7 @@ Chilling extracts: /obj/item/slimecross/chilling/yellow/do_effect(mob/user) var/area/A = get_area(get_turf(user)) - user.visible_message("[src] shatters, and a the air suddenly feels charged for a moment.") + user.visible_message(span_notice("[src] shatters, and a the air suddenly feels charged for a moment.")) for(var/obj/machinery/power/apc/C in A) if(C.cell) C.cell.charge = min(C.cell.charge + C.cell.maxcharge/2, C.cell.maxcharge) @@ -101,7 +101,7 @@ Chilling extracts: /obj/item/slimecross/chilling/darkpurple/do_effect(mob/user) var/area/A = get_area(get_turf(user)) if(A.outdoors) - to_chat(user, "[src] can't affect such a large area.") + to_chat(user, span_warning("[src] can't affect such a large area.")) return var/filtered = FALSE for(var/turf/open/T in A) @@ -113,9 +113,9 @@ Chilling extracts: G.garbage_collect() T.air_update_turf(FALSE, FALSE) if(filtered) - user.visible_message("Cracks spread throughout [src], and some air is sucked in!") + user.visible_message(span_notice("Cracks spread throughout [src], and some air is sucked in!")) else - user.visible_message("[src] cracks, but nothing happens.") + user.visible_message(span_notice("[src] cracks, but nothing happens.")) ..() /obj/item/slimecross/chilling/darkblue @@ -124,7 +124,7 @@ Chilling extracts: /obj/item/slimecross/chilling/darkblue/do_effect(mob/user) if(isliving(user)) - user.visible_message("[src] freezes over [user]'s entire body!") + user.visible_message(span_notice("[src] freezes over [user]'s entire body!")) var/mob/living/M = user M.apply_status_effect(/datum/status_effect/frozenstasis) ..() @@ -134,7 +134,7 @@ Chilling extracts: effect_desc = "Creates several ration packs." /obj/item/slimecross/chilling/silver/do_effect(mob/user) - user.visible_message("[src] crumbles into icy powder, leaving behind several emergency food supplies!") + user.visible_message(span_notice("[src] crumbles into icy powder, leaving behind several emergency food supplies!")) var/amount = rand(5, 10) for(var/i in 1 to amount) new /obj/item/food/rationpack(get_turf(user)) @@ -150,32 +150,32 @@ Chilling extracts: if(!proximity || !isliving(target) || active) return if(HAS_TRAIT(target, TRAIT_NO_TELEPORT)) - to_chat(user, "[target] resists being linked with [src]!") + to_chat(user, span_warning("[target] resists being linked with [src]!")) return if(target in allies) allies -= target - to_chat(user, "You unlink [src] with [target].") + to_chat(user, span_notice("You unlink [src] with [target].")) else allies |= target - to_chat(user, "You link [src] with [target].") + to_chat(user, span_notice("You link [src] with [target].")) return /obj/item/slimecross/chilling/bluespace/do_effect(mob/user) if(allies.len <= 0) - to_chat(user, "[src] is not linked to anyone!") + to_chat(user, span_warning("[src] is not linked to anyone!")) return - to_chat(user, "You feel [src] pulse as it begins charging bluespace energies...") + to_chat(user, span_notice("You feel [src] pulse as it begins charging bluespace energies...")) active = TRUE for(var/mob/living/M in allies) var/datum/status_effect/slimerecall/S = M.apply_status_effect(/datum/status_effect/slimerecall) S.target = user if(do_after(user, 100, target=src)) - to_chat(user, "[src] shatters as it tears a hole in reality, snatching the linked individuals from the void!") + to_chat(user, span_notice("[src] shatters as it tears a hole in reality, snatching the linked individuals from the void!")) for(var/mob/living/M in allies) var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall) M.remove_status_effect(S) else - to_chat(user, "[src] falls dark, dissolving into nothing as the energies fade away.") + to_chat(user, span_warning("[src] falls dark, dissolving into nothing as the energies fade away.")) for(var/mob/living/M in allies) var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall) if(istype(S)) @@ -193,14 +193,14 @@ Chilling extracts: return if(target in allies) allies -= target - to_chat(user, "You unlink [src] with [target].") + to_chat(user, span_notice("You unlink [src] with [target].")) else allies |= target - to_chat(user, "You link [src] with [target].") + to_chat(user, span_notice("You link [src] with [target].")) return /obj/item/slimecross/chilling/sepia/do_effect(mob/user) - user.visible_message("[src] shatters, freezing time itself!") + user.visible_message(span_warning("[src] shatters, freezing time itself!")) allies -= user //support class new /obj/effect/timestop(get_turf(user), 2, 300, allies) ..() @@ -211,7 +211,7 @@ Chilling extracts: /obj/item/slimecross/chilling/cerulean/do_effect(mob/user) if(isliving(user)) - user.visible_message("[src] creaks and shifts into a clone of [user]!") + user.visible_message(span_warning("[src] creaks and shifts into a clone of [user]!")) var/mob/living/M = user M.apply_status_effect(/datum/status_effect/slime_clone) ..() @@ -221,7 +221,7 @@ Chilling extracts: effect_desc = "Creates a pair of Prism Glasses, which allow the wearer to place colored light crystals." /obj/item/slimecross/chilling/pyrite/do_effect(mob/user) - user.visible_message("[src] crystallizes into a pair of spectacles!") + user.visible_message(span_notice("[src] crystallizes into a pair of spectacles!")) new /obj/item/clothing/glasses/prism_glasses(get_turf(user)) ..() @@ -235,9 +235,9 @@ Chilling extracts: slimesfound = TRUE S.docile = TRUE if(slimesfound) - user.visible_message("[src] lets out a peaceful ring as it shatters, and nearby slimes seem calm.") + user.visible_message(span_notice("[src] lets out a peaceful ring as it shatters, and nearby slimes seem calm.")) else - user.visible_message("[src] lets out a peaceful ring as it shatters, but nothing happens...") + user.visible_message(span_notice("[src] lets out a peaceful ring as it shatters, but nothing happens...")) return ..() /obj/item/slimecross/chilling/green @@ -256,9 +256,9 @@ Chilling extracts: var/obj/item/gun/magic/bloodchill/gun = new(user) if(!L.put_in_hands(gun)) qdel(gun) - user.visible_message("[src] flash-freezes [user]'s arm, cracking the flesh horribly!") + user.visible_message(span_warning("[src] flash-freezes [user]'s arm, cracking the flesh horribly!")) else - user.visible_message("[src] chills and snaps off the front of the bone on [user]'s arm, leaving behind a strange, gun-like structure!") + user.visible_message(span_danger("[src] chills and snaps off the front of the bone on [user]'s arm, leaving behind a strange, gun-like structure!")) user.emote("scream") L.apply_damage(30,BURN,which_hand) ..() @@ -268,7 +268,7 @@ Chilling extracts: effect_desc = "Creates a slime corgi puppy." /obj/item/slimecross/chilling/pink/do_effect(mob/user) - user.visible_message("[src] cracks like an egg, and an adorable puppy comes tumbling out!") + user.visible_message(span_notice("[src] cracks like an egg, and an adorable puppy comes tumbling out!")) new /mob/living/simple_animal/pet/dog/corgi/puppy/slime(get_turf(user)) ..() @@ -277,7 +277,7 @@ Chilling extracts: effect_desc = "Produces a golden capture device" /obj/item/slimecross/chilling/gold/do_effect(mob/user) - user.visible_message("[src] lets off golden light as it melts and reforms into an egg-like device!") + user.visible_message(span_notice("[src] lets off golden light as it melts and reforms into an egg-like device!")) new /obj/item/capturedevice(get_turf(user)) ..() @@ -286,7 +286,7 @@ Chilling extracts: effect_desc = "It creates a weak, but wide-ranged explosion." /obj/item/slimecross/chilling/oil/do_effect(mob/user) - user.visible_message("[src] begins to shake with muted intensity!") + user.visible_message(span_danger("[src] begins to shake with muted intensity!")) addtimer(CALLBACK(src, .proc/boom), 50) /obj/item/slimecross/chilling/oil/proc/boom() @@ -299,7 +299,7 @@ Chilling extracts: /obj/item/slimecross/chilling/black/do_effect(mob/user) if(ishuman(user)) - user.visible_message("[src] crystallizes along [user]'s skin, turning into metallic scales!") + user.visible_message(span_notice("[src] crystallizes along [user]'s skin, turning into metallic scales!")) var/mob/living/carbon/human/H = user H.set_species(/datum/species/golem/random) ..() @@ -309,7 +309,7 @@ Chilling extracts: effect_desc = "Creates a Heroine Bud, a special flower that pacifies whoever wears it on their head. They will not be able to take it off without help." /obj/item/slimecross/chilling/lightpink/do_effect(mob/user) - user.visible_message("[src] blooms into a beautiful flower!") + user.visible_message(span_notice("[src] blooms into a beautiful flower!")) new /obj/item/clothing/head/peaceflower(get_turf(user)) ..() @@ -318,7 +318,7 @@ Chilling extracts: effect_desc = "Solidifies into a set of adamantine armor." /obj/item/slimecross/chilling/adamantine/do_effect(mob/user) - user.visible_message("[src] creaks and breaks as it shifts into a heavy set of armor!") + user.visible_message(span_notice("[src] creaks and breaks as it shifts into a heavy set of armor!")) new /obj/item/clothing/suit/armor/heavy/adamantine(get_turf(user)) ..() @@ -329,9 +329,9 @@ Chilling extracts: /obj/item/slimecross/chilling/rainbow/do_effect(mob/user) var/area/area = get_area(user) if(area.outdoors) - to_chat(user, "[src] can't affect such a large area.") + to_chat(user, span_warning("[src] can't affect such a large area.")) return - user.visible_message("[src] reflects an array of dazzling colors and light, energy rushing to nearby doors!") + user.visible_message(span_warning("[src] reflects an array of dazzling colors and light, energy rushing to nearby doors!")) for(var/obj/machinery/door/airlock/door in area) new /obj/effect/forcefield/slimewall/rainbow(door.loc) return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/consuming.dm b/code/modules/research/xenobiology/crossbreeding/consuming.dm index 6103eaccf4e..06c379daa21 100644 --- a/code/modules/research/xenobiology/crossbreeding/consuming.dm +++ b/code/modules/research/xenobiology/crossbreeding/consuming.dm @@ -18,19 +18,19 @@ Consuming extracts: /obj/item/slimecross/consuming/attackby(obj/item/O, mob/user) if(IS_EDIBLE(O)) if(last_produced + cooldown > world.time) - to_chat(user, "[src] is still digesting after its last meal!") + to_chat(user, span_warning("[src] is still digesting after its last meal!")) return var/datum/reagent/N = O.reagents.has_reagent(/datum/reagent/consumable/nutriment) if(N) nutriment_eaten += N.volume - to_chat(user, "[src] opens up and swallows [O] whole!") + to_chat(user, span_notice("[src] opens up and swallows [O] whole!")) qdel(O) playsound(src, 'sound/items/eatfood.ogg', 20, TRUE) else - to_chat(user, "[src] burbles unhappily at the offering.") + to_chat(user, span_warning("[src] burbles unhappily at the offering.")) if(nutriment_eaten >= nutriment_required) nutriment_eaten = 0 - user.visible_message("[src] swells up and produces a small pile of cookies!") + user.visible_message(span_notice("[src] swells up and produces a small pile of cookies!")) playsound(src, 'sound/effects/splat.ogg', 40, TRUE) last_produced = world.time for(var/i in 1 to cookies) @@ -62,18 +62,18 @@ Consuming extracts: /obj/item/slime_cookie/attack(mob/living/M, mob/user) var/fed = FALSE if(M == user) - M.visible_message("[user] eats [src]!", "You eat [src].") + M.visible_message(span_notice("[user] eats [src]!"), span_notice("You eat [src].")) fed = TRUE else - M.visible_message("[user] tries to force [M] to eat [src]!", "[user] tries to force you to eat [src]!") + M.visible_message(span_danger("[user] tries to force [M] to eat [src]!"), span_userdanger("[user] tries to force you to eat [src]!")) if(do_after(user, 20, target = M)) fed = TRUE - M.visible_message("[user] forces [M] to eat [src]!", "[user] forces you to eat [src].") + M.visible_message(span_danger("[user] forces [M] to eat [src]!"), span_warning("[user] forces you to eat [src].")) if(fed) var/mob/living/carbon/human/H = M if(!istype(H) || !HAS_TRAIT(H, TRAIT_AGEUSIA)) - to_chat(M, "Tastes like [taste].") + to_chat(M, span_notice("Tastes like [taste].")) playsound(get_turf(M), 'sound/items/eatfood.ogg', 20, TRUE) if(nutrition) M.reagents.add_reagent(/datum/reagent/consumable/nutriment,nutrition) @@ -277,7 +277,7 @@ Consuming extracts: /obj/item/slime_cookie/cerulean/do_effect(mob/living/M, mob/user) if(prob(50)) - to_chat(M, "A piece of [src] breaks off while you chew, and falls to the ground.") + to_chat(M, span_notice("A piece of [src] breaks off while you chew, and falls to the ground.")) var/obj/item/slime_cookie/cerulean/C = new(get_turf(M)) C.taste = taste + " and a sugar cookie" diff --git a/code/modules/research/xenobiology/crossbreeding/recurring.dm b/code/modules/research/xenobiology/crossbreeding/recurring.dm index a526d330763..f97ff86cc1e 100644 --- a/code/modules/research/xenobiology/crossbreeding/recurring.dm +++ b/code/modules/research/xenobiology/crossbreeding/recurring.dm @@ -16,7 +16,7 @@ Recurring extracts: /obj/item/slimecross/recurring/Initialize() . = ..() extract = new extract_type(src.loc) - visible_message("[src] wraps a layer of goo around itself!") + visible_message(span_notice("[src] wraps a layer of goo around itself!")) extract.name = name extract.desc = desc extract.icon = icon @@ -33,7 +33,7 @@ Recurring extracts: extract.Uses++ cooldown = max_cooldown else if(extract.Uses <= 0) - extract.visible_message("The light inside [extract] flickers and dies out.") + extract.visible_message(span_warning("The light inside [extract] flickers and dies out.")) extract.desc = "A tiny, inert core, bleeding dark, cerulean-colored goo." extract.icon_state = "prismatic" qdel(src) diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 8eb1e0a8562..4468f60b37b 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -20,14 +20,14 @@ Regenerative extracts: return var/mob/living/H = target if(H.stat == DEAD) - to_chat(user, "[src] will not work on the dead!") + to_chat(user, span_warning("[src] will not work on the dead!")) return if(H != user) - user.visible_message("[user] crushes [src] over [H], the milky goo quickly regenerating all of [H.p_their()] injuries!", - "You squeeze [src], and it bursts over [H], the milky goo regenerating [H.p_their()] injuries.") + user.visible_message(span_notice("[user] crushes [src] over [H], the milky goo quickly regenerating all of [H.p_their()] injuries!"), + span_notice("You squeeze [src], and it bursts over [H], the milky goo regenerating [H.p_their()] injuries.")) else - user.visible_message("[user] crushes [src] over [user.p_them()]self, the milky goo quickly regenerating all of [user.p_their()] injuries!", - "You squeeze [src], and it bursts in your hand, splashing you with milky goo which quickly regenerates your injuries!") + user.visible_message(span_notice("[user] crushes [src] over [user.p_them()]self, the milky goo quickly regenerating all of [user.p_their()] injuries!"), + span_notice("You squeeze [src], and it bursts in your hand, splashing you with milky goo which quickly regenerates your injuries!")) core_effect_before(H, user) H.revive(full_heal = TRUE, admin_revive = FALSE) core_effect(H, user) @@ -42,7 +42,7 @@ Regenerative extracts: colour = "orange" /obj/item/slimecross/regenerative/orange/core_effect_before(mob/living/target, mob/user) - target.visible_message("The [src] boils over!") + target.visible_message(span_warning("The [src] boils over!")) for(var/turf/targetturf in RANGE_TURFS(1,target)) if(!locate(/obj/effect/hotspot) in targetturf) new /obj/effect/hotspot(targetturf) @@ -62,14 +62,14 @@ Regenerative extracts: if(isturf(target.loc)) var/turf/open/T = get_turf(target) T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) - target.visible_message("The milky goo in the extract gets all over the floor!") + target.visible_message(span_warning("The milky goo in the extract gets all over the floor!")) /obj/item/slimecross/regenerative/metal colour = "metal" effect_desc = "Fully heals the target and encases the target in a locker." /obj/item/slimecross/regenerative/metal/core_effect(mob/living/target, mob/user) - target.visible_message("The milky goo hardens and reshapes itself, encasing [target]!") + target.visible_message(span_warning("The milky goo hardens and reshapes itself, encasing [target]!")) var/obj/structure/closet/C = new /obj/structure/closet(target.loc) C.name = "slimy closet" C.desc = "Looking closer, it seems to be made of a sort of solid, opaque, metal-like goo." @@ -87,7 +87,7 @@ Regenerative extracts: if(batteries.len) var/obj/item/stock_parts/cell/ToCharge = pick(batteries) ToCharge.charge = ToCharge.maxcharge - to_chat(target, "You feel a strange electrical pulse, and one of your electrical items was recharged.") + to_chat(target, span_notice("You feel a strange electrical pulse, and one of your electrical items was recharged.")) /obj/item/slimecross/regenerative/darkpurple colour = "dark purple" @@ -100,7 +100,7 @@ Regenerative extracts: equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), ITEM_SLOT_GLOVES) equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), ITEM_SLOT_HEAD) if(equipped > 0) - target.visible_message("The milky goo congeals into clothing!") + target.visible_message(span_notice("The milky goo congeals into clothing!")) /obj/item/slimecross/regenerative/darkblue colour = "dark blue" @@ -120,7 +120,7 @@ Regenerative extracts: var/obj/item/clothing/C = H.get_item_by_slot(ITEM_SLOT_HEAD) fireproof(C) if(fireproofed) - target.visible_message("Some of [target]'s clothing gets coated in the goo, and turns blue!") + target.visible_message(span_notice("Some of [target]'s clothing gets coated in the goo, and turns blue!")) /obj/item/slimecross/regenerative/darkblue/proc/fireproof(obj/item/clothing/C) C.name = "fireproofed [C.name]" @@ -136,7 +136,7 @@ Regenerative extracts: /obj/item/slimecross/regenerative/silver/core_effect(mob/living/target, mob/user) target.set_nutrition(NUTRITION_LEVEL_FULL - 1) - to_chat(target, "You feel satiated.") + to_chat(target, span_notice("You feel satiated.")) /obj/item/slimecross/regenerative/bluespace colour = "bluespace" @@ -146,8 +146,8 @@ Regenerative extracts: /obj/item/slimecross/regenerative/bluespace/core_effect(mob/living/target, mob/user) var/turf/old_location = get_turf(target) if(do_teleport(target, T, channel = TELEPORT_CHANNEL_QUANTUM)) //despite being named a bluespace teleportation method the quantum channel is used to preserve precision teleporting with a bag of holding - old_location.visible_message("[target] disappears in a shower of sparks!") - to_chat(target, "The milky goo teleports you somewhere it remembers!") + old_location.visible_message(span_warning("[target] disappears in a shower of sparks!")) + to_chat(target, span_danger("The milky goo teleports you somewhere it remembers!")) /obj/item/slimecross/regenerative/bluespace/Initialize() @@ -172,14 +172,14 @@ Regenerative extracts: X.name = name X.desc = desc user.put_in_active_hand(X) - to_chat(user, "Some of the milky goo congeals in your hand!") + to_chat(user, span_notice("Some of the milky goo congeals in your hand!")) /obj/item/slimecross/regenerative/pyrite colour = "pyrite" effect_desc = "Fully heals and randomly colors the target." /obj/item/slimecross/regenerative/pyrite/core_effect(mob/living/target, mob/user) - target.visible_message("The milky goo coating [target] leaves [target.p_them()] a different color!") + target.visible_message(span_warning("The milky goo coating [target] leaves [target.p_them()] a different color!")) target.add_atom_colour(rgb(rand(0,255),rand(0,255),rand(0,255)),WASHABLE_COLOUR_PRIORITY) /obj/item/slimecross/regenerative/red @@ -187,7 +187,7 @@ Regenerative extracts: effect_desc = "Fully heals the target and injects them with some ephedrine." /obj/item/slimecross/regenerative/red/core_effect(mob/living/target, mob/user) - to_chat(target, "You feel... faster.") + to_chat(target, span_notice("You feel... faster.")) target.reagents.add_reagent(/datum/reagent/medicine/ephedrine,3) /obj/item/slimecross/regenerative/green @@ -196,7 +196,7 @@ Regenerative extracts: /obj/item/slimecross/regenerative/green/core_effect(mob/living/target, mob/user) if(isslime(target)) - target.visible_message("The [target] suddenly changes color!") + target.visible_message(span_warning("The [target] suddenly changes color!")) var/mob/living/simple_animal/slime/S = target S.random_colour() if(isjellyperson(target)) @@ -208,7 +208,7 @@ Regenerative extracts: effect_desc = "Fully heals the target and injects them with some krokodil." /obj/item/slimecross/regenerative/pink/core_effect(mob/living/target, mob/user) - to_chat(target, "You feel more calm.") + to_chat(target, span_notice("You feel more calm.")) target.reagents.add_reagent(/datum/reagent/drug/krokodil,4) /obj/item/slimecross/regenerative/gold @@ -238,9 +238,9 @@ Regenerative extracts: var/dummytype = target.type if(ismegafauna(target)) //Prevents megafauna duping in a lame way dummytype = /mob/living/simple_animal/slime - to_chat(user, "The milky goo flows over [target], falling into a weak puddle.") + to_chat(user, span_warning("The milky goo flows over [target], falling into a weak puddle.")) var/mob/living/dummy = new dummytype(target.loc) - to_chat(target, "The milky goo flows from your skin, forming an imperfect copy of you.") + to_chat(target, span_notice("The milky goo flows from your skin, forming an imperfect copy of you.")) if(iscarbon(target)) var/mob/living/carbon/T = target var/mob/living/carbon/D = dummy @@ -263,7 +263,7 @@ Regenerative extracts: return var/mob/living/U = user U.revive(full_heal = TRUE, admin_revive = FALSE) - to_chat(U, "Some of the milky goo sprays onto you, as well!") + to_chat(U, span_notice("Some of the milky goo sprays onto you, as well!")) /obj/item/slimecross/regenerative/adamantine colour = "adamantine" diff --git a/code/modules/research/xenobiology/crossbreeding/reproductive.dm b/code/modules/research/xenobiology/crossbreeding/reproductive.dm index b510cbe2822..fdb156d1374 100644 --- a/code/modules/research/xenobiology/crossbreeding/reproductive.dm +++ b/code/modules/research/xenobiology/crossbreeding/reproductive.dm @@ -16,7 +16,7 @@ Reproductive extracts: /obj/item/slimecross/reproductive/attackby(obj/item/O, mob/user) if((last_produce + cooldown) > world.time) - to_chat(user, "[src] is still digesting!") + to_chat(user, span_warning("[src] is still digesting!")) return if(istype(O, /obj/item/storage/bag/bio)) var/list/inserted = list() @@ -26,12 +26,12 @@ Reproductive extracts: if(istype(M)) eat_cube(M, user) else - to_chat(user, "There are no monkey cubes in the bio bag!") + to_chat(user, span_warning("There are no monkey cubes in the bio bag!")) if(istype(O,/obj/item/food/monkeycube)) eat_cube(O, user) if(cubes_eaten >= 3) var/cores = rand(1,4) - visible_message("[src] briefly swells to a massive size, and expels [cores] extract[cores > 1 ? "s":""]!") + visible_message(span_notice("[src] briefly swells to a massive size, and expels [cores] extract[cores > 1 ? "s":""]!")) playsound(src, 'sound/effects/splat.ogg', 40, TRUE) last_produce = world.time for(var/i = 0, i < cores, i++) @@ -41,7 +41,7 @@ Reproductive extracts: /obj/item/slimecross/reproductive/proc/eat_cube(obj/item/food/monkeycube, mob/user) qdel(monkeycube) cubes_eaten++ - to_chat(user, "You feed [monkeycube] to [src], and it pulses gently.") + to_chat(user, span_notice("You feed [monkeycube] to [src], and it pulses gently.")) playsound(src, 'sound/items/eatfood.ogg', 20, TRUE) /obj/item/slimecross/reproductive/grey diff --git a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm index 814083c3bb5..638cd05c048 100644 --- a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm +++ b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm @@ -17,7 +17,7 @@ Self-sustaining extracts: //Just divides into the actual item. /obj/item/slimecross/selfsustaining/Initialize() ..() - visible_message("The [src] shudders, and splits into four smaller extracts.") + visible_message(span_warning("The [src] shudders, and splits into four smaller extracts.")) for(var/i = 0, i < 4, i++) var/obj/item/autoslime/A = new /obj/item/autoslime(src.loc) var/obj/item/slime_extract/X = new extract_type(A) @@ -56,7 +56,7 @@ Self-sustaining extracts: /obj/item/autoslime/examine(mob/user) . = ..() if(effect_desc) - . += "[effect_desc]" + . += span_notice("[effect_desc]") //Different types. diff --git a/code/modules/research/xenobiology/crossbreeding/stabilized.dm b/code/modules/research/xenobiology/crossbreeding/stabilized.dm index eee23636f78..b180f9451c8 100644 --- a/code/modules/research/xenobiology/crossbreeding/stabilized.dm +++ b/code/modules/research/xenobiology/crossbreeding/stabilized.dm @@ -142,21 +142,21 @@ Stabilized extracts: if(L.has_status_effect(/datum/status_effect/stabilized/gold)) L.remove_status_effect(/datum/status_effect/stabilized/gold) if(choice == "Familiar Location") - to_chat(user, "You prod [src], and it shudders slightly.") + to_chat(user, span_notice("You prod [src], and it shudders slightly.")) START_PROCESSING(SSobj, src) if(choice == "Familiar Species") - to_chat(user, "You squeeze [src], and a shape seems to shift around inside.") + to_chat(user, span_notice("You squeeze [src], and a shape seems to shift around inside.")) generate_mobtype() START_PROCESSING(SSobj, src) if(choice == "Familiar Sentience") - to_chat(user, "You poke [src], and it lets out a glowing pulse.") + to_chat(user, span_notice("You poke [src], and it lets out a glowing pulse.")) saved_mind = null START_PROCESSING(SSobj, src) if(choice == "Familiar Name") var/newname = sanitize_name(stripped_input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name, MAX_NAME_LEN)) if(newname) mob_name = newname - to_chat(user, "You speak softly into [src], and it shakes slightly in response.") + to_chat(user, span_notice("You speak softly into [src], and it shakes slightly in response.")) START_PROCESSING(SSobj, src) /obj/item/slimecross/stabilized/oil @@ -183,7 +183,7 @@ Stabilized extracts: /obj/item/slimecross/stabilized/rainbow/attackby(obj/item/O, mob/user) var/obj/item/slimecross/regenerative/regen = O if(istype(regen) && !regencore) - to_chat(user, "You place [O] in [src], prepping the extract for automatic application!") + to_chat(user, span_notice("You place [O] in [src], prepping the extract for automatic application!")) regencore = regen regen.forceMove(src) return diff --git a/code/modules/research/xenobiology/vatgrowing/microscope.dm b/code/modules/research/xenobiology/vatgrowing/microscope.dm index 124ee27f6fa..9fd4c58bc08 100644 --- a/code/modules/research/xenobiology/vatgrowing/microscope.dm +++ b/code/modules/research/xenobiology/vatgrowing/microscope.dm @@ -9,9 +9,9 @@ if(!istype(I, /obj/item/petri_dish)) return ..() if(current_dish) - to_chat(user, "There is already a petridish in \the [src].") + to_chat(user, span_warning("There is already a petridish in \the [src].")) return - to_chat(user, "You put [I] into \the [src].") + to_chat(user, span_notice("You put [I] into \the [src].")) current_dish = I current_dish.forceMove(src) diff --git a/code/modules/research/xenobiology/vatgrowing/petri_dish.dm b/code/modules/research/xenobiology/vatgrowing/petri_dish.dm index 3591ce0916d..c190b62f785 100644 --- a/code/modules/research/xenobiology/vatgrowing/petri_dish.dm +++ b/code/modules/research/xenobiology/vatgrowing/petri_dish.dm @@ -16,7 +16,7 @@ . = ..() if(!sample) return - . += "You can see the following micro-organisms:" + . += span_notice("You can see the following micro-organisms:") for(var/i in sample.micro_organisms) var/datum/micro_organism/MO = i . += MO.get_details() @@ -25,7 +25,7 @@ . = ..() if(!sample || !istype(A, /obj/structure/sink)) return FALSE - to_chat(user, "You wash the sample out of [src].") + to_chat(user, span_notice("You wash the sample out of [src].")) sample = null /obj/item/petri_dish/update_overlays() @@ -42,7 +42,7 @@ /obj/item/petri_dish/proc/deposit_sample(user, datum/biological_sample/deposited_sample) sample = deposited_sample - to_chat(user, "You deposit a sample into [src].") + to_chat(user, span_notice("You deposit a sample into [src].")) update_appearance() /// Petri dish with random sample already in it. diff --git a/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm index 2a4573938f9..29e85a3dc64 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm @@ -7,7 +7,7 @@ ///Returns a short description of the cell line /datum/micro_organism/proc/get_details(show_details) - return "[desc]" + return span_notice("[desc]") ///A "mob" cell. Can grow into a mob in a growing vat. /datum/micro_organism/cell_line @@ -86,7 +86,7 @@ return TRUE /datum/micro_organism/cell_line/proc/fuck_up_growing(obj/machinery/plumbing/growing_vat/vat) - vat.visible_message("The biological sample in [vat] seems to have dissipated!") + vat.visible_message(span_warning("The biological sample in [vat] seems to have dissipated!")) QDEL_NULL(vat.biological_sample) //Kill off the sample, we're done if(prob(50)) new /obj/effect/gibspawner/generic(get_turf(vat)) //Spawn some gibs. @@ -100,13 +100,13 @@ for(var/x in 1 to resulting_atoms[created_thing]) var/atom/thing = new created_thing(get_turf(vat)) ADD_TRAIT(thing, TRAIT_VATGROWN, "vatgrowing") - vat.visible_message("[thing] pops out of [vat]!") + vat.visible_message(span_nicegreen("[thing] pops out of [vat]!")) QDEL_NULL(vat.biological_sample) //Kill off the sample, we're done ///Overriden to show more info like needs, supplementary and supressive reagents and also growth. /datum/micro_organism/cell_line/get_details(show_details) - . += "[desc] - growth progress: [growth]%\n" + . += "[span_notice("[desc] - growth progress: [growth]%")]\n" if(show_details) . += return_reagent_text("It requires:", required_reagents) . += return_reagent_text("It likes:", supplementary_reagents) @@ -120,4 +120,4 @@ for(var/i in reagentlist) var/datum/reagent/reagent = i all_reagents_text += " - [initial(reagent.name)]\n" - return "[prefix_text]\n[all_reagents_text]" + return span_notice("[prefix_text]\n[all_reagents_text]") diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm index 4cbb408b55b..3cad8ef5286 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm @@ -413,7 +413,7 @@ return ..() /datum/micro_organism/cell_line/clown/fuck_up_growing(obj/machinery/plumbing/growing_vat/vat) - vat.visible_message("The biological sample in [vat] seems to have created something horrific!") + vat.visible_message(span_warning("The biological sample in [vat] seems to have created something horrific!")) QDEL_NULL(vat.biological_sample) //Kill off the sample, we're done var/mob/selected_mob = pick(list(/mob/living/simple_animal/hostile/retaliate/clown/mutant/slow, /mob/living/simple_animal/hostile/retaliate/clown/fleshclown)) diff --git a/code/modules/research/xenobiology/vatgrowing/vatgrower.dm b/code/modules/research/xenobiology/vatgrowing/vatgrower.dm index 72f825be363..cae5d04a8ef 100644 --- a/code/modules/research/xenobiology/vatgrowing/vatgrower.dm +++ b/code/modules/research/xenobiology/vatgrowing/vatgrower.dm @@ -33,7 +33,7 @@ if(!prob(10)) return playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) - audible_message(pick(list("[src] grumbles!", "[src] makes a splashing noise!", "[src] sloshes!"))) + audible_message(pick(list(span_notice("[src] grumbles!"), span_notice("[src] makes a splashing noise!"), span_notice("[src] sloshes!")))) ///Handles the petri dish depositing into the vat. /obj/machinery/plumbing/growing_vat/attacked_by(obj/item/I, mob/living/user) @@ -46,7 +46,7 @@ return ..() if(biological_sample) - to_chat(user, "There is already a sample in the vat!") + to_chat(user, span_warning("There is already a sample in the vat!")) return deposit_sample(user, petri) @@ -57,7 +57,7 @@ biological_sample.micro_organisms += new m.type() biological_sample.sample_layers = petri.sample.sample_layers biological_sample.sample_color = petri.sample.sample_color - to_chat(user, "You put some of the sample in the vat!") + to_chat(user, span_warning("You put some of the sample in the vat!")) playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) update_appearance() @@ -66,7 +66,7 @@ . = ..() if(!biological_sample) return - . += "It seems to have a sample in it!" + . += span_notice("It seems to have a sample in it!") for(var/i in biological_sample.micro_organisms) var/datum/micro_organism/MO = i . += MO.get_details(user.research_scanner) diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index fc3d9ef2e6c..8eaabd4e7ac 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -141,7 +141,7 @@ /obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/food/monkeycube)) monkeys++ - to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.") + to_chat(user, span_notice("You feed [O] to [src]. It now has [monkeys] monkey cubes stored.")) qdel(O) return else if(istype(O, /obj/item/storage/bag)) @@ -153,7 +153,7 @@ monkeys++ qdel(G) if(loaded) - to_chat(user, "You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.") + to_chat(user, span_notice("You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.")) return else if(istype(O, /obj/item/slimepotion/slime)) var/replaced = FALSE @@ -163,14 +163,14 @@ current_potion.forceMove(drop_location()) replaced = TRUE current_potion = O - to_chat(user, "You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].") + to_chat(user, span_notice("You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].")) return ..() /obj/machinery/computer/camera_advanced/xenobio/multitool_act(mob/living/user, obj/item/multitool/I) . = ..() if (istype(I) && istype(I.buffer,/obj/machinery/monkey_recycler)) - to_chat(user, "You link [src] with [I.buffer] in [I] buffer.") + to_chat(user, span_notice("You link [src] with [I.buffer] in [I] buffer.")) connected_recycler = I.buffer connected_recycler.connected += src return TRUE @@ -190,10 +190,10 @@ if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) for(var/mob/living/simple_animal/slime/S in X.stored_slimes) S.forceMove(remote_eye.loc) - S.visible_message("[S] warps in!") + S.visible_message(span_notice("[S] warps in!")) X.stored_slimes -= S else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, span_warning("Target is not near a camera. Cannot proceed.")) /datum/action/innate/slime_pick_up name = "Pick up Slime" @@ -214,11 +214,11 @@ if(!S.ckey) if(S.buckled) S.Feedstop(silent = TRUE) - S.visible_message("[S] vanishes in a flash of light!") + S.visible_message(span_notice("[S] vanishes in a flash of light!")) S.forceMove(X) X.stored_slimes += S else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, span_warning("Target is not near a camera. Cannot proceed.")) /datum/action/innate/feed_slime @@ -240,11 +240,11 @@ food.LAssailant = WEAKREF(C) X.monkeys-- X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - to_chat(owner, "[X] now has [X.monkeys] monkeys stored.") + to_chat(owner, span_notice("[X] now has [X.monkeys] monkeys stored.")) else - to_chat(owner, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.") + to_chat(owner, span_warning("[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.")) else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, span_warning("Target is not near a camera. Cannot proceed.")) /datum/action/innate/monkey_recycle @@ -261,21 +261,21 @@ var/obj/machinery/monkey_recycler/recycler = X.connected_recycler if(!recycler) - to_chat(owner, "There is no connected monkey recycler. Use a multitool to link one.") + to_chat(owner, span_warning("There is no connected monkey recycler. Use a multitool to link one.")) return if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) for(var/mob/living/carbon/human/M in remote_eye.loc) if(!ismonkey(M)) continue if(M.stat) - M.visible_message("[M] vanishes as [M.p_theyre()] reclaimed for recycling!") + M.visible_message(span_notice("[M] vanishes as [M.p_theyre()] reclaimed for recycling!")) recycler.use_power(500) X.monkeys += recycler.cube_production X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors qdel(M) - to_chat(owner, "[X] now has [X.monkeys] monkeys available.") + to_chat(owner, span_notice("[X] now has [X.monkeys] monkeys available.")) else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, span_warning("Target is not near a camera. Cannot proceed.")) /datum/action/innate/slime_scan name = "Scan Slime" @@ -292,7 +292,7 @@ for(var/mob/living/simple_animal/slime/S in remote_eye.loc) slime_scan(S, C) else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, span_warning("Target is not near a camera. Cannot proceed.")) /datum/action/innate/feed_potion name = "Apply Potion" @@ -308,7 +308,7 @@ var/obj/machinery/computer/camera_advanced/xenobio/X = target if(QDELETED(X.current_potion)) - to_chat(owner, "No potion loaded.") + to_chat(owner, span_warning("No potion loaded.")) return if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) @@ -316,7 +316,7 @@ X.current_potion.attack(S, C) break else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, span_warning("Target is not near a camera. Cannot proceed.")) /datum/action/innate/hotkey_help name = "Hotkey Help" @@ -363,7 +363,7 @@ // Scans slime /obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/simple_animal/slime/S) if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") + to_chat(user, span_warning("Target is not near a camera. Cannot proceed.")) return var/mob/living/C = user var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control @@ -375,14 +375,14 @@ /obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/simple_animal/slime/S) SIGNAL_HANDLER if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") + to_chat(user, span_warning("Target is not near a camera. Cannot proceed.")) return var/mob/living/C = user var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin var/area/mobarea = get_area(S.loc) if(QDELETED(X.current_potion)) - to_chat(C, "No potion loaded.") + to_chat(C, span_warning("No potion loaded.")) return if(mobarea.name == E.allowed_area || (mobarea.area_flags & XENOBIOLOGY_COMPATIBLE)) INVOKE_ASYNC(X.current_potion, /obj/item/slimepotion/slime.proc/attack, S, C) @@ -391,7 +391,7 @@ /obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/simple_animal/slime/S) SIGNAL_HANDLER if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") + to_chat(user, span_warning("Target is not near a camera. Cannot proceed.")) return var/mob/living/C = user var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control @@ -399,21 +399,21 @@ var/area/mobarea = get_area(S.loc) if(mobarea.name == E.allowed_area || (mobarea.area_flags & XENOBIOLOGY_COMPATIBLE)) if(X.stored_slimes.len >= X.max_slimes) - to_chat(C, "Slime storage is full.") + to_chat(C, span_warning("Slime storage is full.")) return if(S.ckey) - to_chat(C, "The slime wiggled free!") + to_chat(C, span_warning("The slime wiggled free!")) return if(S.buckled) S.Feedstop(silent = TRUE) - S.visible_message("[S] vanishes in a flash of light!") + S.visible_message(span_notice("[S] vanishes in a flash of light!")) S.forceMove(X) X.stored_slimes += S //Place slimes /obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickShift(mob/living/user, turf/open/T) if(!GLOB.cameranet.checkTurfVis(T)) - to_chat(user, "Target is not near a camera. Cannot proceed.") + to_chat(user, span_warning("Target is not near a camera. Cannot proceed.")) return var/mob/living/C = user var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control @@ -422,13 +422,13 @@ if(turfarea.name == E.allowed_area || (turfarea.area_flags & XENOBIOLOGY_COMPATIBLE)) for(var/mob/living/simple_animal/slime/S in X.stored_slimes) S.forceMove(T) - S.visible_message("[S] warps in!") + S.visible_message(span_notice("[S] warps in!")) X.stored_slimes -= S //Place monkey /obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickCtrl(mob/living/user, turf/open/T) if(!GLOB.cameranet.checkTurfVis(T)) - to_chat(user, "Target is not near a camera. Cannot proceed.") + to_chat(user, span_warning("Target is not near a camera. Cannot proceed.")) return var/mob/living/C = user var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control @@ -441,30 +441,30 @@ food.LAssailant = WEAKREF(C) X.monkeys-- X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - to_chat(C, "[X] now has [X.monkeys] monkeys stored.") + to_chat(C, span_notice("[X] now has [X.monkeys] monkeys stored.")) else - to_chat(C, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.") + to_chat(C, span_warning("[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.")) //Pick up monkey /obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/human/M) if(!ismonkey(M)) return if(!isturf(M.loc) || !GLOB.cameranet.checkTurfVis(M.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") + to_chat(user, span_warning("Target is not near a camera. Cannot proceed.")) return var/mob/living/C = user var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin var/area/mobarea = get_area(M.loc) if(!X.connected_recycler) - to_chat(C, "There is no connected monkey recycler. Use a multitool to link one.") + to_chat(C, span_warning("There is no connected monkey recycler. Use a multitool to link one.")) return if(mobarea.name == E.allowed_area || (mobarea.area_flags & XENOBIOLOGY_COMPATIBLE)) if(!M.stat) return - M.visible_message("[M] vanishes as [p_theyre()] reclaimed for recycling!") + M.visible_message(span_notice("[M] vanishes as [p_theyre()] reclaimed for recycling!")) X.connected_recycler.use_power(500) X.monkeys += connected_recycler.cube_production X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors qdel(M) - to_chat(C, "[X] now has [X.monkeys] monkeys available.") + to_chat(C, span_notice("[X] now has [X.monkeys] monkeys available.")) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index bc06ba076f8..174af38a95e 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -25,13 +25,13 @@ /obj/item/slime_extract/attackby(obj/item/O, mob/user) if(istype(O, /obj/item/slimepotion/enhancer)) if(Uses >= 5 || recurring) - to_chat(user, "You cannot enhance this extract further!") + to_chat(user, span_warning("You cannot enhance this extract further!")) return ..() if(O.type == /obj/item/slimepotion/enhancer) //Seriously, why is this defined here...? - to_chat(user, "You apply the enhancer to the slime extract. It may now be reused one more time.") + to_chat(user, span_notice("You apply the enhancer to the slime extract. It may now be reused one more time.")) Uses++ if(O.type == /obj/item/slimepotion/enhancer/max) - to_chat(user, "You dump the maximizer on the slime extract. It can now be used a total of 5 times!") + to_chat(user, span_notice("You dump the maximizer on the slime extract. It can now be used a total of 5 times!")) Uses = 5 qdel(O) ..() @@ -55,7 +55,7 @@ * * arg3 - Whether or not the activation is major or minor. Major activations have large, complex effects, minor are simple. */ /obj/item/slime_extract/proc/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - to_chat(user, "Nothing happened... This slime extract cannot be activated this way.") + to_chat(user, span_warning("Nothing happened... This slime extract cannot be activated this way.")) return FALSE /** @@ -67,13 +67,13 @@ if(!isslime(M)) return ..() if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return if(!M.is_adult) - to_chat(user, "The slime must be an adult to cross its core!") + to_chat(user, span_warning("The slime must be an adult to cross its core!")) return if(M.effectmod && M.effectmod != effectmod) - to_chat(user, "The slime is already being crossed with a different extract!") + to_chat(user, span_warning("The slime is already being crossed with a different extract!")) return if(!M.effectmod) @@ -81,7 +81,7 @@ M.applied++ qdel(src) - to_chat(user, "You feed the slime [src], [M.applied == 1 ? "starting to mutate its core." : "further mutating its core."]") + to_chat(user, span_notice("You feed the slime [src], [M.applied == 1 ? "starting to mutate its core." : "further mutating its core."]")) playsound(M, 'sound/effects/attackblob.ogg', 50, TRUE) if(M.applied >= SLIME_EXTRACT_CROSSING_REQUIRED) @@ -100,14 +100,14 @@ if(!user.put_in_active_hand(M)) M.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - to_chat(user, "You spit out a monkey cube.") + to_chat(user, span_notice("You spit out a monkey cube.")) return 120 if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "Your [name] starts pulsing...") + to_chat(user, span_notice("Your [name] starts pulsing...")) if(do_after(user, 40, target = user)) var/mob/living/simple_animal/slime/S = new(get_turf(user), "grey") playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - to_chat(user, "You spit out [S].") + to_chat(user, span_notice("You spit out [S].")) return 350 else return 0 @@ -123,16 +123,16 @@ /obj/item/slime_extract/gold/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - user.visible_message("[user] starts shaking!","Your [name] starts pulsing gently...") + user.visible_message(span_warning("[user] starts shaking!"),span_notice("Your [name] starts pulsing gently...")) if(do_after(user, 40, target = user)) var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), FRIENDLY_SPAWN) S.faction |= "neutral" playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [S]!", "You spit out [S]!") + user.visible_message(span_warning("[user] spits out [S]!"), span_notice("You spit out [S]!")) return 300 if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user] starts shaking violently!","Your [name] starts pulsing violently...") + user.visible_message(span_warning("[user] starts shaking violently!"),span_warning("Your [name] starts pulsing violently...")) if(do_after(user, 50, target = user)) var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), HOSTILE_SPAWN) if(!user.combat_mode) @@ -140,7 +140,7 @@ else S.faction |= "slime" playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [S]!", "You spit out [S]!") + user.visible_message(span_warning("[user] spits out [S]!"), span_warning("You spit out [S]!")) return 600 /obj/item/slime_extract/silver @@ -159,7 +159,7 @@ if(!user.put_in_active_hand(food_item)) food_item.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [food_item]!", "You spit out [food_item]!") + user.visible_message(span_warning("[user] spits out [food_item]!"), span_notice("You spit out [food_item]!")) return 200 if(SLIME_ACTIVATE_MAJOR) var/drink_type = get_random_drink() @@ -167,7 +167,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 200 /obj/item/slime_extract/metal @@ -183,7 +183,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 150 if(SLIME_ACTIVATE_MAJOR) @@ -191,7 +191,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 200 /obj/item/slime_extract/purple @@ -205,11 +205,11 @@ if(SLIME_ACTIVATE_MINOR) user.adjust_nutrition(50) user.blood_volume += 50 - to_chat(user, "You activate [src], and your body is refilled with fresh slime jelly!") + to_chat(user, span_notice("You activate [src], and your body is refilled with fresh slime jelly!")) return 150 if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You activate [src], and it releases regenerative chemicals!") + to_chat(user, span_notice("You activate [src], and it releases regenerative chemicals!")) user.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) return 600 @@ -226,14 +226,14 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 150 if(SLIME_ACTIVATE_MAJOR) var/turf/open/T = get_turf(user) if(istype(T)) T.atmos_spawn_air("plasma=20") - to_chat(user, "You activate [src], and a cloud of plasma bursts out of your skin!") + to_chat(user, span_warning("You activate [src], and a cloud of plasma bursts out of your skin!")) return 900 /obj/item/slime_extract/orange @@ -245,7 +245,7 @@ /obj/item/slime_extract/orange/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling hot!") + to_chat(user, span_notice("You activate [src]. You start feeling hot!")) user.reagents.add_reagent(/datum/reagent/consumable/capsaicin,10) return 150 @@ -253,7 +253,7 @@ user.reagents.add_reagent(/datum/reagent/phosphorus,5)// user.reagents.add_reagent(/datum/reagent/potassium,5) // = smoke, along with any reagents inside mr. slime user.reagents.add_reagent(/datum/reagent/consumable/sugar,5) // - to_chat(user, "You activate [src], and a cloud of smoke bursts out of your skin!") + to_chat(user, span_warning("You activate [src], and a cloud of smoke bursts out of your skin!")) return 450 /obj/item/slime_extract/yellow @@ -266,17 +266,17 @@ switch(activation_type) if(SLIME_ACTIVATE_MINOR) if(species.glow_intensity != LUMINESCENT_DEFAULT_GLOW) - to_chat(user, "Your glow is already enhanced!") + to_chat(user, span_warning("Your glow is already enhanced!")) return species.update_glow(user, 5) addtimer(CALLBACK(species, /datum/species/jelly/luminescent.proc/update_glow, user, LUMINESCENT_DEFAULT_GLOW), 600) - to_chat(user, "You start glowing brighter.") + to_chat(user, span_notice("You start glowing brighter.")) if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts flashing intermittently...", "Your skin starts flashing intermittently...") + user.visible_message(span_warning("[user]'s skin starts flashing intermittently..."), span_warning("Your skin starts flashing intermittently...")) if(do_after(user, 25, target = user)) empulse(user, 1, 2) - user.visible_message("[user]'s skin flashes!", "Your skin flashes as you emit an electromagnetic pulse!") + user.visible_message(span_warning("[user]'s skin flashes!"), span_warning("Your skin flashes as you emit an electromagnetic pulse!")) return 600 /obj/item/slime_extract/red @@ -288,15 +288,15 @@ /obj/item/slime_extract/red/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling fast!") + to_chat(user, span_notice("You activate [src]. You start feeling fast!")) user.reagents.add_reagent(/datum/reagent/medicine/ephedrine,5) return 450 if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin flashes red for a moment...", "Your skin flashes red as you emit rage-inducing pheromones...") + user.visible_message(span_warning("[user]'s skin flashes red for a moment..."), span_warning("Your skin flashes red as you emit rage-inducing pheromones...")) for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(user), null)) slime.rabid = TRUE - slime.visible_message("The [slime] is driven into a frenzy!") + slime.visible_message(span_danger("The [slime] is driven into a frenzy!")) return 600 /obj/item/slime_extract/blue @@ -308,7 +308,7 @@ /obj/item/slime_extract/blue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. Your genome feels more stable!") + to_chat(user, span_notice("You activate [src]. Your genome feels more stable!")) user.adjustCloneLoss(-15) user.reagents.add_reagent(/datum/reagent/medicine/mutadone, 10) user.reagents.add_reagent(/datum/reagent/medicine/potass_iodide, 10) @@ -316,7 +316,7 @@ if(SLIME_ACTIVATE_MAJOR) user.reagents.create_foam(/datum/effect_system/foam_spread,20) - user.visible_message("Foam spews out from [user]'s skin!", "You activate [src], and foam bursts out of your skin!") + user.visible_message(span_danger("Foam spews out from [user]'s skin!"), span_warning("You activate [src], and foam bursts out of your skin!")) return 600 /obj/item/slime_extract/darkblue @@ -328,7 +328,7 @@ /obj/item/slime_extract/darkblue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling colder!") + to_chat(user, span_notice("You activate [src]. You start feeling colder!")) user.extinguish_mob() user.adjust_fire_stacks(-20) user.reagents.add_reagent(/datum/reagent/consumable/frostoil,4) @@ -339,7 +339,7 @@ var/turf/open/T = get_turf(user) if(istype(T)) T.atmos_spawn_air("nitrogen=40;TEMP=2.7") - to_chat(user, "You activate [src], and icy air bursts out of your skin!") + to_chat(user, span_warning("You activate [src], and icy air bursts out of your skin!")) return 900 /obj/item/slime_extract/pink @@ -352,19 +352,19 @@ switch(activation_type) if(SLIME_ACTIVATE_MINOR) if(user.gender != MALE && user.gender != FEMALE) - to_chat(user, "You can't swap your gender!") + to_chat(user, span_warning("You can't swap your gender!")) return if(user.gender == MALE) user.gender = FEMALE - user.visible_message("[user] suddenly looks more feminine!", "You suddenly feel more feminine!") + user.visible_message(span_boldnotice("[user] suddenly looks more feminine!"), span_boldwarning("You suddenly feel more feminine!")) else user.gender = MALE - user.visible_message("[user] suddenly looks more masculine!", "You suddenly feel more masculine!") + user.visible_message(span_boldnotice("[user] suddenly looks more masculine!"), span_boldwarning("You suddenly feel more masculine!")) return 100 if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts flashing hypnotically...", "Your skin starts forming odd patterns, pacifying creatures around you.") + user.visible_message(span_warning("[user]'s skin starts flashing hypnotically..."), span_notice("Your skin starts forming odd patterns, pacifying creatures around you.")) for(var/mob/living/carbon/C in viewers(user, null)) if(C != user) C.reagents.add_reagent(/datum/reagent/pax,2) @@ -379,20 +379,20 @@ /obj/item/slime_extract/green/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel yourself reverting to human form...") + to_chat(user, span_warning("You feel yourself reverting to human form...")) if(do_after(user, 120, target = user)) - to_chat(user, "You feel human again!") + to_chat(user, span_warning("You feel human again!")) user.set_species(/datum/species/human) return - to_chat(user, "You stop the transformation.") + to_chat(user, span_notice("You stop the transformation.")) if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel yourself radically changing your slime type...") + to_chat(user, span_warning("You feel yourself radically changing your slime type...")) if(do_after(user, 120, target = user)) - to_chat(user, "You feel different!") + to_chat(user, span_warning("You feel different!")) user.set_species(pick(/datum/species/jelly/slime, /datum/species/jelly/stargazer)) return - to_chat(user, "You stop the transformation.") + to_chat(user, span_notice("You stop the transformation.")) /obj/item/slime_extract/lightpink name = "light pink slime extract" @@ -407,7 +407,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 150 if(SLIME_ACTIVATE_MAJOR) @@ -415,7 +415,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 450 /obj/item/slime_extract/black @@ -427,17 +427,17 @@ /obj/item/slime_extract/black/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel something wrong inside you...") + to_chat(user, span_userdanger("You feel something wrong inside you...")) user.ForceContractDisease(new /datum/disease/transformation/slime(), FALSE, TRUE) return 100 if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel your own light turning dark...") + to_chat(user, span_warning("You feel your own light turning dark...")) if(do_after(user, 120, target = user)) - to_chat(user, "You feel a longing for darkness.") + to_chat(user, span_warning("You feel a longing for darkness.")) user.set_species(pick(/datum/species/shadow)) return - to_chat(user, "You stop feeding [src].") + to_chat(user, span_notice("You stop feeding [src].")) /obj/item/slime_extract/oil name = "oil slime extract" @@ -448,19 +448,19 @@ /obj/item/slime_extract/oil/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You vomit slippery oil.") + to_chat(user, span_warning("You vomit slippery oil.")) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) new /obj/effect/decal/cleanable/oil/slippery(get_turf(user)) return 450 if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts pulsing and glowing ominously...", "You feel unstable...") + user.visible_message(span_warning("[user]'s skin starts pulsing and glowing ominously..."), span_userdanger("You feel unstable...")) if(do_after(user, 60, target = user)) - to_chat(user, "You explode!") + to_chat(user, span_userdanger("You explode!")) explosion(user, devastation_range = 1, heavy_impact_range = 3, light_impact_range = 6) user.gib() return - to_chat(user, "You stop feeding [src], and the feeling passes.") + to_chat(user, span_notice("You stop feeding [src], and the feeling passes.")) /obj/item/slime_extract/adamantine name = "adamantine slime extract" @@ -472,20 +472,20 @@ switch(activation_type) if(SLIME_ACTIVATE_MINOR) if(species.armor > 0) - to_chat(user, "Your skin is already hardened!") + to_chat(user, span_warning("Your skin is already hardened!")) return - to_chat(user, "You feel your skin harden and become more resistant.") + to_chat(user, span_notice("You feel your skin harden and become more resistant.")) species.armor += 25 addtimer(CALLBACK(src, .proc/reset_armor, species), 1200) return 450 if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel your body rapidly crystallizing...") + to_chat(user, span_warning("You feel your body rapidly crystallizing...")) if(do_after(user, 120, target = user)) - to_chat(user, "You feel solid.") + to_chat(user, span_warning("You feel solid.")) user.set_species(pick(/datum/species/golem/adamantine)) return - to_chat(user, "You stop feeding [src], and your body returns to its slimelike state.") + to_chat(user, span_notice("You stop feeding [src], and your body returns to its slimelike state.")) /obj/item/slime_extract/adamantine/proc/reset_armor(datum/species/jelly/luminescent/species) if(istype(species)) @@ -504,15 +504,15 @@ /obj/item/slime_extract/bluespace/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel your body vibrating...") + to_chat(user, span_warning("You feel your body vibrating...")) if(do_after(user, 25, target = user)) - to_chat(user, "You teleport!") + to_chat(user, span_warning("You teleport!")) do_teleport(user, get_turf(user), 6, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) return 300 if(SLIME_ACTIVATE_MAJOR) if(!teleport_ready) - to_chat(user, "You feel yourself anchoring to this spot...") + to_chat(user, span_notice("You feel yourself anchoring to this spot...")) var/turf/T = get_turf(user) teleport_x = T.x teleport_y = T.y @@ -522,7 +522,7 @@ teleport_ready = FALSE if(teleport_x && teleport_y && teleport_z) var/turf/T = locate(teleport_x, teleport_y, teleport_z) - to_chat(user, "You snap back to your anchor point!") + to_chat(user, span_notice("You snap back to your anchor point!")) do_teleport(user, T, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) return 450 @@ -541,7 +541,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 150 if(SLIME_ACTIVATE_MAJOR) @@ -551,7 +551,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 250 /obj/item/slime_extract/cerulean @@ -564,14 +564,14 @@ switch(activation_type) if(SLIME_ACTIVATE_MINOR) user.reagents.add_reagent(/datum/reagent/medicine/salbutamol,15) - to_chat(user, "You feel like you don't need to breathe!") + to_chat(user, span_notice("You feel like you don't need to breathe!")) return 150 if(SLIME_ACTIVATE_MAJOR) var/turf/open/T = get_turf(user) if(istype(T)) T.atmos_spawn_air("o2=11;n2=41;TEMP=293.15") - to_chat(user, "You activate [src], and fresh air bursts out of your skin!") + to_chat(user, span_warning("You activate [src], and fresh air bursts out of your skin!")) return 600 /obj/item/slime_extract/sepia @@ -587,11 +587,11 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 150 if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel time slow down...") + to_chat(user, span_warning("You feel time slow down...")) if(do_after(user, 30, target = user)) new /obj/effect/timestop(get_turf(user), 2, 50, list(user)) return 900 @@ -608,7 +608,7 @@ user.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") user.updateappearance(mutcolor_update=1) species.update_glow(user) - to_chat(user, "You feel different...") + to_chat(user, span_notice("You feel different...")) return 100 if(SLIME_ACTIVATE_MAJOR) @@ -617,7 +617,7 @@ if(!user.put_in_active_hand(O)) O.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") + user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!")) return 150 ////Slime-derived potions/// @@ -642,7 +642,7 @@ if(!proximity) return if (istype(target)) - to_chat(user, "You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb." ) + to_chat(user, span_warning("You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb.") ) return /obj/item/slimepotion/slime/docility @@ -653,21 +653,21 @@ /obj/item/slimepotion/slime/docility/attack(mob/living/simple_animal/slime/M, mob/user) if(!isslime(M)) - to_chat(user, "The potion only works on slimes!") + to_chat(user, span_warning("The potion only works on slimes!")) return ..() if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return if(M.rabid) //Stops being rabid, but doesn't become truly docile. - to_chat(M, "You absorb the potion, and your rabid hunger finally settles to a normal desire to feed.") - to_chat(user, "You feed the slime the potion, calming its rabid rage.") + to_chat(M, span_warning("You absorb the potion, and your rabid hunger finally settles to a normal desire to feed.")) + to_chat(user, span_notice("You feed the slime the potion, calming its rabid rage.")) M.rabid = FALSE qdel(src) return M.docile = 1 M.set_nutrition(700) - to_chat(M, "You absorb the potion and feel your intense desire to feed melt away.") - to_chat(user, "You feed the slime the potion, removing its hunger and calming it.") + to_chat(M, span_warning("You absorb the potion and feel your intense desire to feed melt away.")) + to_chat(user, span_notice("You feed the slime the potion, removing its hunger and calming it.")) var/newname = sanitize_name(stripped_input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime", MAX_NAME_LEN)) if (!newname) @@ -689,17 +689,17 @@ if(being_used || !ismob(M)) return if(!isanimal(M) || M.ckey) //only works on animals that aren't player controlled - to_chat(user, "[M] is already too intelligent for this to work!") + to_chat(user, span_warning("[M] is already too intelligent for this to work!")) return if(M.stat) - to_chat(user, "[M] is dead!") + to_chat(user, span_warning("[M] is dead!")) return var/mob/living/simple_animal/SM = M if(SM.sentience_type != sentience_type) - to_chat(user, "[src] won't work on [SM].") + to_chat(user, span_warning("[src] won't work on [SM].")) return - to_chat(user, "You offer [src] to [SM]...") + to_chat(user, span_notice("You offer [src] to [SM]...")) being_used = TRUE var/list/candidates = pollCandidatesForMob("Do you want to play as [SM.name]?", ROLE_SENTIENCE, ROLE_SENTIENCE, 50, SM, POLL_IGNORE_SENTIENCE_POTION) // see poll_ignore.dm @@ -709,16 +709,16 @@ SM.mind.enslave_mind_to_creator(user) SEND_SIGNAL(SM, COMSIG_SIMPLEMOB_SENTIENCEPOTION, user) SM.sentience_act() - to_chat(SM, "All at once it makes sense: you know what you are and who you are! Self awareness is yours!") - to_chat(SM, "You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.") + to_chat(SM, span_warning("All at once it makes sense: you know what you are and who you are! Self awareness is yours!")) + to_chat(SM, span_userdanger("You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.")) if(SM.flags_1 & HOLOGRAM_1) //Check to see if it's a holodeck creature - to_chat(SM, "You also become depressingly aware that you are not a real creature, but instead a holoform. Your existence is limited to the parameters of the holodeck.") - to_chat(user, "[SM] accepts [src] and suddenly becomes attentive and aware. It worked!") + to_chat(SM, span_userdanger("You also become depressingly aware that you are not a real creature, but instead a holoform. Your existence is limited to the parameters of the holodeck.")) + to_chat(user, span_notice("[SM] accepts [src] and suddenly becomes attentive and aware. It worked!")) SM.copy_languages(user) after_success(user, SM) qdel(src) else - to_chat(user, "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.") + to_chat(user, span_notice("[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.")) being_used = FALSE ..() @@ -752,21 +752,21 @@ if(prompted || !ismob(M)) return if(!isanimal(M) || M.ckey) //much like sentience, these will not work on something that is already player controlled - to_chat(user, "[M] already has a higher consciousness!") + to_chat(user, span_warning("[M] already has a higher consciousness!")) return ..() if(M.stat) - to_chat(user, "[M] is dead!") + to_chat(user, span_warning("[M] is dead!")) return ..() var/mob/living/simple_animal/SM = M if(SM.sentience_type != animal_type) - to_chat(user, "You cannot transfer your consciousness to [SM]." ) + to_chat(user, span_warning("You cannot transfer your consciousness to [SM].") ) return ..() var/jb = is_banned_from(user.ckey, ROLE_MIND_TRANSFER) if(QDELETED(src) || QDELETED(M) || QDELETED(user)) return if(jb) - to_chat(user, "Your mind goes blank as you attempt to use the potion.") + to_chat(user, span_warning("Your mind goes blank as you attempt to use the potion.")) return prompted = 1 @@ -774,15 +774,15 @@ prompted = 0 return - to_chat(user, "You drink the potion then place your hands on [SM]...") + to_chat(user, span_notice("You drink the potion then place your hands on [SM]...")) user.mind.transfer_to(SM) SM.faction = user.faction.Copy() SM.sentience_act() //Same deal here as with sentience user.death() - to_chat(SM, "In a quick flash, you feel your consciousness flow into [SM]!") - to_chat(SM, "You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!") + to_chat(SM, span_notice("In a quick flash, you feel your consciousness flow into [SM]!")) + to_chat(SM, span_warning("You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!")) SM.name = "[user.real_name]" qdel(src) @@ -794,19 +794,19 @@ /obj/item/slimepotion/slime/steroid/attack(mob/living/simple_animal/slime/M, mob/user) if(!isslime(M))//If target is not a slime. - to_chat(user, "The steroid only works on baby slimes!") + to_chat(user, span_warning("The steroid only works on baby slimes!")) return ..() if(M.is_adult) //Can't steroidify adults - to_chat(user, "Only baby slimes can use the steroid!") + to_chat(user, span_warning("Only baby slimes can use the steroid!")) return if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return if(M.cores >= 5) - to_chat(user, "The slime already has the maximum amount of extract!") + to_chat(user, span_warning("The slime already has the maximum amount of extract!")) return - to_chat(user, "You feed the slime the steroid. It will now produce one more extract.") + to_chat(user, span_notice("You feed the slime the steroid. It will now produce one more extract.")) M.cores++ qdel(src) @@ -824,16 +824,16 @@ /obj/item/slimepotion/slime/stabilizer/attack(mob/living/simple_animal/slime/M, mob/user) if(!isslime(M)) - to_chat(user, "The stabilizer only works on slimes!") + to_chat(user, span_warning("The stabilizer only works on slimes!")) return ..() if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") + to_chat(user, span_warning("The slime already has no chance of mutating!")) return - to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.") + to_chat(user, span_notice("You feed the slime the stabilizer. It is now less likely to mutate.")) M.mutation_chance = clamp(M.mutation_chance-15,0,100) qdel(src) @@ -845,19 +845,19 @@ /obj/item/slimepotion/slime/mutator/attack(mob/living/simple_animal/slime/M, mob/user) if(!isslime(M)) - to_chat(user, "The mutator only works on slimes!") + to_chat(user, span_warning("The mutator only works on slimes!")) return ..() if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, span_warning("The slime is dead!")) return if(M.mutator_used) - to_chat(user, "This slime has already consumed a mutator, any more would be far too unstable!") + to_chat(user, span_warning("This slime has already consumed a mutator, any more would be far too unstable!")) return if(M.mutation_chance == 100) - to_chat(user, "The slime is already guaranteed to mutate!") + to_chat(user, span_warning("The slime is already guaranteed to mutate!")) return - to_chat(user, "You feed the slime the mutator. It is now more likely to mutate.") + to_chat(user, span_notice("You feed the slime the mutator. It is now more likely to mutate.")) M.mutation_chance = clamp(M.mutation_chance+12,0,100) M.mutator_used = TRUE qdel(src) @@ -874,16 +874,16 @@ return if(!istype(C)) // applying this to vehicles is handled in the ridable element, see [/datum/element/ridable/proc/check_potion] - to_chat(user, "The potion can only be used on items or vehicles!") + to_chat(user, span_warning("The potion can only be used on items or vehicles!")) return if(isitem(C)) var/obj/item/I = C if(I.slowdown <= 0 || I.obj_flags & IMMUTABLE_SLOW) - to_chat(user, "The [C] can't be made any faster!") + to_chat(user, span_warning("The [C] can't be made any faster!")) return ..() I.slowdown = 0 - to_chat(user, "You slather the red gunk over the [C], making it faster.") + to_chat(user, span_notice("You slather the red gunk over the [C], making it faster.")) C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY) qdel(src) @@ -904,12 +904,12 @@ qdel(src) return if(!istype(C)) - to_chat(user, "The potion can only be used on clothing!") + to_chat(user, span_warning("The potion can only be used on clothing!")) return if(C.max_heat_protection_temperature >= FIRE_IMMUNITY_MAX_TEMP_PROTECT) - to_chat(user, "The [C] is already fireproof!") + to_chat(user, span_warning("The [C] is already fireproof!")) return - to_chat(user, "You slather the blue gunk over the [C], fireproofing it.") + to_chat(user, span_notice("You slather the blue gunk over the [C], fireproofing it.")) C.name = "fireproofed [C.name]" C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) @@ -928,19 +928,19 @@ /obj/item/slimepotion/genderchange/attack(mob/living/L, mob/user) if(!istype(L) || L.stat == DEAD) - to_chat(user, "The potion can only be used on living things!") + to_chat(user, span_warning("The potion can only be used on living things!")) return if(L.gender != MALE && L.gender != FEMALE) - to_chat(user, "The potion can only be used on gendered things!") + to_chat(user, span_warning("The potion can only be used on gendered things!")) return if(L.gender == MALE) L.gender = FEMALE - L.visible_message("[L] suddenly looks more feminine!", "You suddenly feel more feminine!") + L.visible_message(span_boldnotice("[L] suddenly looks more feminine!"), span_boldwarning("You suddenly feel more feminine!")) else L.gender = MALE - L.visible_message("[L] suddenly looks more masculine!", "You suddenly feel more masculine!") + L.visible_message(span_boldnotice("[L] suddenly looks more masculine!"), span_boldwarning("You suddenly feel more masculine!")) L.regenerate_icons() qdel(src) @@ -956,12 +956,12 @@ if(being_used || !ismob(M)) return if(!M.ckey) //only works on animals that aren't player controlled - to_chat(user, "[M] is not self aware, and cannot pick its own name.") + to_chat(user, span_warning("[M] is not self aware, and cannot pick its own name.")) return being_used = TRUE - to_chat(user, "You offer [src] to [user]...") + to_chat(user, span_notice("You offer [src] to [user]...")) var/new_name = sanitize_name(stripped_input(M, "What would you like your name to be?", "Input a name", M.real_name, MAX_NAME_LEN)) @@ -969,7 +969,7 @@ being_used = FALSE return - M.visible_message("[M] has a new name, [new_name].", "Your old name of [M.real_name] fades away, and your new name [new_name] anchors itself in your mind.") + M.visible_message(span_notice("[span_name("[M]")] has a new name, [span_name("[new_name]")]."), span_notice("Your old name of [span_name("[M.real_name]")] fades away, and your new name [span_name("[new_name]")] anchors itself in your mind.")) message_admins("[ADMIN_LOOKUPFLW(user)] used [src] on [ADMIN_LOOKUPFLW(M)], letting them rename themselves into [new_name].") // pass null as first arg to not update records or ID/PDA @@ -987,14 +987,14 @@ if(!ismob(M)) return if(!isanimal(M)) - to_chat(user, "[M] is too complex for the potion!") + to_chat(user, span_warning("[M] is too complex for the potion!")) return if(M.stat) - to_chat(user, "[M] is dead!") + to_chat(user, span_warning("[M] is dead!")) return - to_chat(user, "You feed the potion to [M].") - to_chat(M, "Your mind tingles as you are fed the potion. You can hear radio waves now!") + to_chat(user, span_notice("You feed the potion to [M].")) + to_chat(M, span_notice("Your mind tingles as you are fed the potion. You can hear radio waves now!")) var/obj/item/implant/radio/slime/imp = new(src) imp.implant(M, user) qdel(src) diff --git a/code/modules/ruins/icemoonruin_code/hotsprings.dm b/code/modules/ruins/icemoonruin_code/hotsprings.dm index 29165a29209..1f53180c6b1 100644 --- a/code/modules/ruins/icemoonruin_code/hotsprings.dm +++ b/code/modules/ruins/icemoonruin_code/hotsprings.dm @@ -46,7 +46,7 @@ GLOBAL_LIST_EMPTY(cursed_minds) L = H var/turf/T = find_safe_turf() L.forceMove(T) - to_chat(L, "You blink and find yourself in [get_area_name(T)].") + to_chat(L, span_notice("You blink and find yourself in [get_area_name(T)].")) /** * Deletes minds from the cursed minds list after their deletion diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index f82427935ef..b52bf07243f 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -93,12 +93,12 @@ var/obj/item/stack/stuff_stack = I var/species = golem_shell_species_types[stuff_stack.merge_type] if(!species) - to_chat(user, "You can't build a golem out of this kind of material!") + to_chat(user, span_warning("You can't build a golem out of this kind of material!")) return if(!stuff_stack.use(10)) - to_chat(user, "You need at least ten sheets to finish a golem!") + to_chat(user, span_warning("You need at least ten sheets to finish a golem!")) return - to_chat(user, "You finish up the golem shell with ten sheets of [stuff_stack].") + to_chat(user, span_notice("You finish up the golem shell with ten sheets of [stuff_stack].")) new shell_type(get_turf(src), species, user) qdel(src) diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm index 71c984f6f11..a9e805c67bf 100644 --- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm @@ -82,7 +82,7 @@ /obj/structure/sink/oil_well/attack_hand(mob/user, list/modifiers) flick("puddle-oil-splash",src) reagents.expose(user, TOUCH, 20) //Covers target in 20u of oil. - to_chat(user, "You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water.") + to_chat(user, span_notice("You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water.")) /obj/structure/sink/oil_well/attackby(obj/item/O, mob/living/user, params) flick("puddle-oil-splash",src) @@ -96,12 +96,12 @@ if(RG.is_refillable()) if(!RG.reagents.holder_full()) RG.reagents.add_reagent(dispensedreagent, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - to_chat(user, "You fill [RG] from [src].") + to_chat(user, span_notice("You fill [RG] from [src].")) return TRUE - to_chat(user, "\The [RG] is full.") + to_chat(user, span_notice("\The [RG] is full.")) return FALSE if(!user.combat_mode) - to_chat(user, "You won't have any luck getting \the [O] out if you drop it in the oil.") + to_chat(user, span_notice("You won't have any luck getting \the [O] out if you drop it in the oil.")) return 1 else return ..() @@ -157,15 +157,15 @@ /obj/structure/closet/crate/grave/open(mob/living/user, obj/item/S, force = FALSE) if(!opened) - to_chat(user, "The ground here is too hard to dig up with your bare hands. You'll need a shovel.") + to_chat(user, span_notice("The ground here is too hard to dig up with your bare hands. You'll need a shovel.")) else - to_chat(user, "The grave has already been dug up.") + to_chat(user, span_notice("The grave has already been dug up.")) /obj/structure/closet/crate/grave/tool_interact(obj/item/S, mob/living/carbon/user) if(!user.combat_mode) //checks to attempt to dig the grave, must be done with combat mode off only. if(!opened) if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL) - to_chat(user, "You start start to dig open \the [src] with \the [S]...") + to_chat(user, span_notice("You start start to dig open \the [src] with \the [S]...")) if (do_after(user,20, target = src)) opened = TRUE locked = TRUE @@ -174,22 +174,22 @@ 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) - to_chat(user, "Oh no, no no no, THEY'RE EVERYWHERE! EVERY ONE OF THEM IS EVERYWHERE!") + to_chat(user, span_boldwarning("Oh no, no no no, THEY'RE EVERYWHERE! EVERY ONE OF THEM IS EVERYWHERE!")) first_open = FALSE return 1 return 1 else - to_chat(user, "You can't dig up a grave with \the [S.name].") + to_chat(user, span_notice("You can't dig up a grave with \the [S.name].")) return 1 else - to_chat(user, "The grave has already been dug up.") + to_chat(user, span_notice("The grave has already been dug up.")) return 1 else if((user.combat_mode) && opened) //checks to attempt to remove the grave entirely. if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL) - to_chat(user, "You start to remove \the [src] with \the [S].") + to_chat(user, span_notice("You start to remove \the [src] with \the [S].")) if (do_after(user,15, target = src)) - to_chat(user, "You remove \the [src] completely.") + to_chat(user, span_notice("You remove \the [src] completely.")) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) deconstruct(TRUE) return 1 diff --git a/code/modules/ruins/lavalandruin_code/puzzle.dm b/code/modules/ruins/lavalandruin_code/puzzle.dm index 98b2499744c..4db6101e674 100644 --- a/code/modules/ruins/lavalandruin_code/puzzle.dm +++ b/code/modules/ruins/lavalandruin_code/puzzle.dm @@ -282,7 +282,7 @@ /obj/effect/sliding_puzzle/prison/Destroy() if(prisoner) - to_chat(prisoner,"With the cube broken by force, you can feel your body falling apart.") + to_chat(prisoner,span_userdanger("With the cube broken by force, you can feel your body falling apart.")) prisoner.death() qdel(prisoner) . = ..() @@ -314,12 +314,12 @@ //Handcuffed or unconcious if(istype(carbon_victim) && carbon_victim.handcuffed || victim.stat != CONSCIOUS) if(!puzzle_imprison(target)) - to_chat(user,"[src] does nothing.") + to_chat(user,span_warning("[src] does nothing.")) return - to_chat(user,"You trap [victim] in the prison cube!") + to_chat(user,span_warning("You trap [victim] in the prison cube!")) qdel(src) else - to_chat(user,"[src] only accepts restrained or unconcious prisoners.") + to_chat(user,span_notice("[src] only accepts restrained or unconcious prisoners.")) /proc/puzzle_imprison(mob/living/prisoner) var/turf/T = get_turf(prisoner) @@ -331,7 +331,7 @@ //First grab the prisoner and move them temporarily into the generator so they won't get thrown around. prisoner.notransform = TRUE prisoner.forceMove(cube) - to_chat(prisoner,"You're trapped by the prison cube! You will remain trapped until someone solves it.") + to_chat(prisoner,span_userdanger("You're trapped by the prison cube! You will remain trapped until someone solves it.")) //Clear the area from objects (and cube user) var/list/things_to_throw = list() diff --git a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm index f23649ec141..d0387263e4a 100644 --- a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm +++ b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm @@ -52,11 +52,11 @@ qdel(W) if(issilicon(H)) //no advantage to sacrificing borgs... H.gib() - visible_message("Serrated tendrils eagerly pull [H] apart, but find nothing of interest.") + visible_message(span_notice("Serrated tendrils eagerly pull [H] apart, but find nothing of interest.")) return if(H.mind?.has_antag_datum(/datum/antagonist/ashwalker) && (H.key || H.get_ghost(FALSE, TRUE))) //special interactions for dead lava lizards with ghosts attached - visible_message("Serrated tendrils carefully pull [H] to [src], absorbing the body and creating it anew.") + visible_message(span_warning("Serrated tendrils carefully pull [H] to [src], absorbing the body and creating it anew.")) var/datum/mind/deadmind if(H.key) deadmind = H @@ -73,13 +73,13 @@ meat_counter += 20 else meat_counter++ - visible_message("Serrated tendrils eagerly pull [H] to [src], tearing the body apart as its blood seeps over the eggs.") + visible_message(span_warning("Serrated tendrils eagerly pull [H] to [src], tearing the body apart as its blood seeps over the eggs.")) playsound(get_turf(src),'sound/magic/demon_consume.ogg', 100, TRUE) var/deliverykey = H.fingerprintslast //key of whoever brought the body var/mob/living/deliverymob = get_mob_by_key(deliverykey) //mob of said key //there is a 40% chance that the Lava Lizard unlocks their respawn with each sacrifice if(deliverymob && (deliverymob.mind?.has_antag_datum(/datum/antagonist/ashwalker)) && (deliverykey in ashies.players_spawned) && (prob(40))) - to_chat(deliverymob, "The Necropolis is pleased with your sacrifice. You feel confident your existence after death is secure.") + to_chat(deliverymob, span_warning("The Necropolis is pleased with your sacrifice. You feel confident your existence after death is secure.")) ashies.players_spawned -= deliverykey H.gib() obj_integrity = min(obj_integrity + max_integrity*0.05,max_integrity)//restores 5% hp of tendril @@ -104,5 +104,5 @@ /obj/structure/lavaland/ash_walker/proc/spawn_mob() if(meat_counter >= ASH_WALKER_SPAWN_THRESHOLD) new /obj/effect/mob_spawn/human/ash_walker(get_step(loc, pick(GLOB.alldirs)), ashies) - visible_message("One of the eggs swells to an unnatural size and tumbles free. It's ready to hatch!") + visible_message(span_danger("One of the eggs swells to an unnatural size and tumbles free. It's ready to hatch!")) meat_counter -= ASH_WALKER_SPAWN_THRESHOLD diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index 1f28e2d50e4..6aa7f31e88d 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -96,7 +96,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/structure/necropolis_gate/attack_hand(mob/user, list/modifiers) if(locked) - to_chat(user, "It's [open ? "stuck open":"locked"].") + to_chat(user, span_boldannounce("It's [open ? "stuck open":"locked"].")) return toggle_the_gate(user) return ..() @@ -108,7 +108,7 @@ var/turf/T = get_turf(src) if(open) new /obj/effect/temp_visual/necropolis(T) - visible_message("The door slams closed!") + visible_message(span_boldwarning("The door slams closed!")) sleep(1) playsound(T, 'sound/effects/stonedoor_openclose.ogg', 300, TRUE, frequency = 80000) sleep(1) @@ -131,7 +131,7 @@ cut_overlay(door_overlay) new /obj/effect/temp_visual/necropolis/open(T) sleep(2) - visible_message("The door starts to grind open...") + visible_message(span_warning("The door starts to grind open...")) playsound(T, 'sound/effects/stonedoor_openclose.ogg', 300, TRUE, frequency = 20000) sleep(22) sight_blocker.forceMove(src) @@ -168,7 +168,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) var/safety = tgui_alert(user, "You think this might be a bad idea...", "Knock on the door?", list("Proceed", "Abort")) if(safety == "Abort" || !in_range(src, user) || !src || open || changing_openness || user.incapacitated()) return - user.visible_message("[user] knocks on [src]...", "You tentatively knock on [src]...") + user.visible_message(span_warning("[user] knocks on [src]..."), span_boldannounce("You tentatively knock on [src]...")) playsound(user.loc, 'sound/effects/shieldbash.ogg', 100, TRUE) sleep(50) return ..() @@ -180,7 +180,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) if(.) locked = TRUE var/turf/T = get_turf(src) - visible_message("Something horrible emerges from the Necropolis!") + visible_message(span_userdanger("Something horrible emerges from the Necropolis!")) if(legion_damaged) message_admins("Legion took damage while the necropolis gate was closed, and has released itself!") log_game("Legion took damage while the necropolis gate was closed and released itself.") @@ -191,7 +191,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) var/sound/legion_sound = sound('sound/creatures/legion_spawn.ogg') for(var/mob/M in GLOB.player_list) if(M.z == z) - to_chat(M, "Discordant whispers flood your mind in a thousand voices. Each one speaks your name, over and over. Something horrible has been released.") + to_chat(M, span_userdanger("Discordant whispers flood your mind in a thousand voices. Each one speaks your name, over and over. Something horrible has been released.")) M.playsound_local(T, null, 100, FALSE, 0, FALSE, pressure_affected = FALSE, S = legion_sound) flash_color(M, flash_color = "#FF0000", flash_time = 50) var/mutable_appearance/release_overlay = mutable_appearance('icons/effects/effects.dmi', "legiondoor") diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm index 4971a9e9657..a79a9f2bcea 100644 --- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm @@ -24,10 +24,10 @@ obj_flags |= IN_USE user.adjustCloneLoss(20) if(user.stat) - to_chat(user, "No... just one more try...") + to_chat(user, span_userdanger("No... just one more try...")) user.gib() else - user.visible_message("[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!", "You feel a draining as you pull the lever, but you \ + user.visible_message(span_warning("[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!"), "You feel a draining as you pull the lever, but you \ know it'll be worth it.") icon_screen = "slots_screen_working" update_appearance() @@ -42,11 +42,11 @@ playsound(src, 'sound/lavaland/cursed_slot_machine_jackpot.ogg', 50, FALSE) new/obj/structure/cursed_money(get_turf(src)) if(user) - to_chat(user, "You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place.") + to_chat(user, span_boldwarning("You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place.")) qdel(src) else if(user) - to_chat(user, "Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?") + to_chat(user, span_boldwarning("Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?")) /obj/structure/cursed_slot_machine/update_overlays() . = ..() @@ -77,7 +77,7 @@ return user.visible_message("[user] opens the bag and \ and removes a die. The bag then vanishes.", - "You open the bag...!\n\ + "[span_boldwarning("You open the bag...!")]\n\ And see a bag full of dice. Confused, \ you take one... and the bag vanishes.") var/turf/T = get_turf(user) @@ -99,10 +99,10 @@ if(ishuman(mover)) var/mob/living/carbon/human/H = mover if(H.nutrition >= NUTRITION_LEVEL_FAT) - H.visible_message("[H] pushes through [src]!", "You've seen and eaten worse than this.") + H.visible_message(span_warning("[H] pushes through [src]!"), span_notice("You've seen and eaten worse than this.")) return TRUE else - to_chat(H, "You're repulsed by even looking at [src]. Only a pig could force themselves to go through it.") + to_chat(H, span_warning("You're repulsed by even looking at [src]. Only a pig could force themselves to go through it.")) if(istype(mover, /mob/living/simple_animal/hostile/morph)) return TRUE @@ -119,8 +119,8 @@ ..() /obj/structure/mirror/magic/pride/curse(mob/user) - user.visible_message("The ground splits beneath [user] as [user.p_their()] hand leaves the mirror!", \ - "Perfect. Much better! Now nobody will be able to resist yo-") + user.visible_message(span_danger("The ground splits beneath [user] as [user.p_their()] hand leaves the mirror!"), \ + span_notice("Perfect. Much better! Now nobody will be able to resist yo-")) var/turf/T = get_turf(user) var/list/levels = SSmapping.levels_by_trait(ZTRAIT_SPACE_RUINS) @@ -161,5 +161,5 @@ H.dna.transfer_identity(user, transfer_SE=1) user.updateappearance(mutcolor_update=1) user.domutcheck() - user.visible_message("[user]'s appearance shifts into [H]'s!", \ - "[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] sooo much better than you. Not anymore, [H.p_they()] won't.") + user.visible_message(span_warning("[user]'s appearance shifts into [H]'s!"), \ + span_boldannounce("[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] sooo much better than you. Not anymore, [H.p_they()] won't.")) diff --git a/code/modules/ruins/spaceruin_code/TheDerelict.dm b/code/modules/ruins/spaceruin_code/TheDerelict.dm index 38bf76a0d63..76d6e79ae4a 100644 --- a/code/modules/ruins/spaceruin_code/TheDerelict.dm +++ b/code/modules/ruins/spaceruin_code/TheDerelict.dm @@ -39,7 +39,7 @@ /obj/machinery/computer/monitor/examine(mob/user) . = ..() - . += "It appears to be powered via a cable connector." + . += span_notice("It appears to be powered via a cable connector.") //Checks for cable connection, charges if possible. /obj/machinery/computer/vaultcontroller/process() diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm index 46382d5d35c..c546487d906 100644 --- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm +++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm @@ -35,17 +35,17 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) /obj/item/hilbertshotel/attack(mob/living/M, mob/living/user) if(M.mind) - to_chat(user, "You invite [M] to the hotel.") + to_chat(user, span_notice("You invite [M] to the hotel.")) promptAndCheckIn(user, M) else - to_chat(user, "[M] is not intelligent enough to understand how to use this device!") + to_chat(user, span_warning("[M] is not intelligent enough to understand how to use this device!")) /obj/item/hilbertshotel/attack_self(mob/user) . = ..() promptAndCheckIn(user, user) /obj/item/hilbertshotel/attack_tk(mob/user) - to_chat(user, "\The [src] actively rejects your mind as the bluespace energies surrounding it disrupt your telekinesis.") + to_chat(user, span_notice("\The [src] actively rejects your mind as the bluespace energies surrounding it disrupt your telekinesis.")) return COMPONENT_CANCEL_ATTACK_CHAIN /obj/item/hilbertshotel/proc/promptAndCheckIn(mob/user, mob/target) @@ -60,26 +60,26 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) if(!chosenRoomNumber) return if(chosenRoomNumber > SHORT_REAL_LIMIT) - to_chat(target, "You have to check out the first [SHORT_REAL_LIMIT] rooms before you can go to a higher numbered one!") + to_chat(target, span_warning("You have to check out the first [SHORT_REAL_LIMIT] rooms before you can go to a higher numbered one!")) return if((chosenRoomNumber < 1) || (chosenRoomNumber != round(chosenRoomNumber))) - to_chat(target, "That is not a valid room number!") + to_chat(target, span_warning("That is not a valid room number!")) return // Orb is not adjacent to the target. No teleporties. if(!src.Adjacent(target)) - to_chat(target, "You too far away from \the [src] to enter it!") + to_chat(target, span_warning("You too far away from \the [src] to enter it!")) // If the target is incapacitated after selecting a room, they're not allowed to teleport. if(target.incapacitated()) - to_chat(target, "You aren't able to activate \the [src] anymore!") + to_chat(target, span_warning("You aren't able to activate \the [src] anymore!")) // Has the user thrown it away or otherwise disposed of it such that it's no longer in their hands or in some storage connected to them? if(!(get_atom_on_turf(src, /mob) == user)) if(user == target) - to_chat(user, "\The [src] is no longer in your possession!") + to_chat(user, span_warning("\The [src] is no longer in your possession!")) else - to_chat(target, "\The [src] is no longer in the possession of [user]!") + to_chat(target, span_warning("\The [src] is no longer in the possession of [user]!")) return // If the player is using it on themselves, we've got some logic to deal with. @@ -88,10 +88,10 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) // The item should be on the user or in the user's inventory somewhere. // However, if they're not holding it, it may be in a pocket? In a backpack? Who knows! Still, they can't just drop it to the floor anymore... if(!user.get_held_index_of_item(src)) - to_chat(user, "You try to drop \the [src], but it's too late! It's no longer in your hands! Prepare for unforeseen consequences...") + to_chat(user, span_warning("You try to drop \the [src], but it's too late! It's no longer in your hands! Prepare for unforeseen consequences...")) // Okay, so they HAVE to be holding it here, because it's in their hand from the above check. Try to drop the item and if it fails, oh dear... else if(!user.dropItemToGround(src)) - to_chat(user, "You can't seem to drop \the [src]! It must be stuck to your hand somehow! Prepare for unforeseen consequences...") + to_chat(user, span_warning("You can't seem to drop \the [src]! It must be stuck to your hand somehow! Prepare for unforeseen consequences...")) if(!storageTurf) //Blame subsystems for not allowing this to be in Initialize if(!GLOB.hhStorageTurf) @@ -157,7 +157,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) currentArea.reservation = currentReservation for(var/turf/closed/indestructible/hoteldoor/door in currentArea) door.parentSphere = src - door.desc = "The door to this hotel room. The placard reads 'Room [currentRoomnumber]'. Strangely, this door doesn't even seem openable. The doorknob, however, seems to buzz with unusual energy...
    Alt-Click to look through the peephole." + door.desc = "The door to this hotel room. The placard reads 'Room [currentRoomnumber]'. Strangely, this door doesn't even seem openable. The doorknob, however, seems to buzz with unusual energy...
    [span_info("Alt-Click to look through the peephole.")]" for(var/turf/open/space/bluespace/BSturf in currentArea) BSturf.parentSphere = src @@ -171,7 +171,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) if(ismob(A)) var/mob/M = A if(M.mind) - to_chat(M, "As the sphere breaks apart, you're suddenly ejected into the depths of space!") + to_chat(M, span_warning("As the sphere breaks apart, you're suddenly ejected into the depths of space!")) var/max = world.maxx-TRANSITIONEDGE var/min = 1+TRANSITIONEDGE var/list/possible_transtitons = list() @@ -278,7 +278,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) if(!user.mind) return if(!parentSphere) - to_chat(user, "The door seems to be malfunctioning and refuses to operate!") + to_chat(user, span_warning("The door seems to be malfunctioning and refuses to operate!")) return if(tgui_alert(user, "Hilbert's Hotel would like to remind you that while we will do everything we can to protect the belongings you leave behind, we make no guarantees of their safety while you're gone, especially that of the health of any living creatures. With that in mind, are you ready to leave?", "Exit", list("Leave", "Stay")) == "Leave") if(HAS_TRAIT(user, TRAIT_IMMOBILIZED) || (get_dist(get_turf(src), get_turf(user)) > 1)) //no teleporting around if they're dead or moved away during the prompt. @@ -320,7 +320,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) /turf/closed/indestructible/hoteldoor/AltClick(mob/user) . = ..() if(get_dist(get_turf(src), get_turf(user)) <= 1) - to_chat(user, "You peak through the door's bluespace peephole...") + to_chat(user, span_notice("You peak through the door's bluespace peephole...")) user.reset_perspective(parentSphere) var/datum/action/peephole_cancel/PHC = new user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1) @@ -339,7 +339,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) /datum/action/peephole_cancel/Trigger() . = ..() - to_chat(owner, "You move away from the peephole.") + to_chat(owner, span_warning("You move away from the peephole.")) owner.reset_perspective() owner.clear_fullscreen("remote_view", 0) UnregisterSignal(owner, COMSIG_MOVABLE_MOVED) @@ -378,7 +378,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) // Turns out giving anyone who grabs a Hilbert's Hotel a free, complementary warp whistle is probably bad. // Let's gib the last person to have selected a room number in it. if(unforeseen_consequences) - to_chat(unforeseen_consequences, "\The [H] starts to resonate. Forcing it to enter itself induces a bluespace paradox, violently tearing your body apart.") + to_chat(unforeseen_consequences, span_warning("\The [H] starts to resonate. Forcing it to enter itself induces a bluespace paradox, violently tearing your body apart.")) unforeseen_consequences.gib() var/turf/targetturf = find_safe_turf() @@ -392,7 +392,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) log_game("[H] entered itself. Moving it to [loc_name(targetturf)].") message_admins("[H] entered itself. Moving it to [ADMIN_VERBOSEJMP(targetturf)].") for(var/mob/M in A) - to_chat(M, "[H] almost implodes in upon itself, but quickly rebounds, shooting off into a random point in space!") + to_chat(M, span_danger("[H] almost implodes in upon itself, but quickly rebounds, shooting off into a random point in space!")) H.forceMove(targetturf) /area/hilbertshotel/Exited(atom/movable/AM) @@ -472,7 +472,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) . = ..() if(istype(target, /obj/item/hilbertshotel)) if(!proximity) - to_chat(user, "It's to far away to scan!") + to_chat(user, span_warning("It's to far away to scan!")) return var/obj/item/hilbertshotel/sphere = target if(sphere.activeRooms.len) diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index 6caf69922d9..09e0219a723 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -69,7 +69,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) if(isanimal(user)) var/mob/living/simple_animal/A = user if(!A.dextrous) - to_chat(user, "You are too primitive to use this device!") + to_chat(user, span_warning("You are too primitive to use this device!")) return UI_CLOSE return ..() @@ -123,10 +123,10 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) message_admins("[ADMIN_LOOKUPFLW(triggerer)] triggered and [ADMIN_LOOKUPFLW(confirmer)] confirmed event [event]") var/area/A1 = get_area(triggerer) - deadchat_broadcast(" triggered [event] at [A1.name].", "[triggerer]", triggerer, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" triggered [event] at [span_name("[A1.name]")].", span_name("[triggerer]"), triggerer, message_type=DEADCHAT_ANNOUNCEMENT) var/area/A2 = get_area(confirmer) - deadchat_broadcast(" confirmed [event] at [A2.name].", "[confirmer]", confirmer, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" confirmed [event] at [span_name("[A2.name]")].", span_name("[confirmer]"), confirmer, message_type=DEADCHAT_ANNOUNCEMENT) switch(event) if(KEYCARD_RED_ALERT) set_security_level(SEC_LEVEL_RED) diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index 52572a59f26..42f8e3adff4 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -190,7 +190,7 @@ Launch(TRUE) - to_chat(user, "Calling your shuttle. One moment...") + to_chat(user, span_notice("Calling your shuttle. One moment...")) while(mode != SHUTTLE_CALL && !damaged) stoplag() diff --git a/code/modules/shuttle/assault_pod.dm b/code/modules/shuttle/assault_pod.dm index 3c23f95cc98..31ce5fd95e4 100644 --- a/code/modules/shuttle/assault_pod.dm +++ b/code/modules/shuttle/assault_pod.dm @@ -60,6 +60,6 @@ if(S.shuttleId == shuttle_id) S.possible_destinations = "[landing_zone.id]" - to_chat(user, "Landing zone set.") + to_chat(user, span_notice("Landing zone set.")) qdel(src) diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index 9190784223c..738eccb6b83 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -91,7 +91,7 @@ if(.) return if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, span_danger("Access denied.")) return switch(action) @@ -100,14 +100,14 @@ return var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId) if(M.launch_status == ENDGAME_LAUNCHED) - to_chat(usr, "You've already escaped. Never going back to that place again!") + to_chat(usr, span_warning("You've already escaped. Never going back to that place again!")) return if(no_destination_swap) if(M.mode == SHUTTLE_RECHARGING) - to_chat(usr, "Shuttle engines are not ready for use.") + to_chat(usr, span_warning("Shuttle engines are not ready for use.")) return if(M.mode != SHUTTLE_IDLE) - to_chat(usr, "Shuttle already in transit.") + to_chat(usr, span_warning("Shuttle already in transit.")) return var/list/options = params2list(possible_destinations) var/obj/docking_port/stationary/S = SSshuttle.getDock(params["shuttle_id"]) @@ -121,9 +121,9 @@ log_shuttle("[key_name(usr)] has sent shuttle \"[M]\" towards \"[params["shuttle_id"]]\", using [src].") return TRUE if(1) - to_chat(usr, "Invalid shuttle requested.") + to_chat(usr, span_warning("Invalid shuttle requested.")) else - to_chat(usr, "Unable to comply.") + to_chat(usr, span_warning("Unable to comply.")) if("set_destination") var/target_destination = params["destination"] if(target_destination) @@ -131,10 +131,10 @@ return TRUE if("request") if(!COOLDOWN_FINISHED(src, request_cooldown)) - to_chat(usr, "CentCom is still processing last authorization request!") + to_chat(usr, span_warning("CentCom is still processing last authorization request!")) return COOLDOWN_START(src, request_cooldown, 1 MINUTES) - to_chat(usr, "Your request has been received by CentCom.") + to_chat(usr, span_notice("Your request has been received by CentCom.")) to_chat(GLOB.admins, "SHUTTLE: [ADMIN_LOOKUPFLW(usr)] (Move Shuttle)(Lock/Unlock Shuttle) is requesting to move or unlock the shuttle.") return TRUE @@ -143,7 +143,7 @@ return req_access = list() obj_flags |= EMAGGED - to_chat(user, "You fried the consoles ID checking system.") + to_chat(user, span_notice("You fried the consoles ID checking system.")) /obj/machinery/computer/shuttle/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) if(port) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index ad2da968010..b3430040483 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -31,12 +31,12 @@ /obj/machinery/computer/emergency_shuttle/examine(mob/user) . = ..() if(hijack_announce) - . += "Security systems present on console. Any unauthorized tampering will result in an emergency announcement." + . += span_danger("Security systems present on console. Any unauthorized tampering will result in an emergency announcement.") if(user?.mind?.get_hijack_speed()) - . += "Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED])." - . += "It will take you [(hijack_stage_time * user.mind.get_hijack_speed()) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage." + . += span_danger("Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED]).") + . += span_notice("It will take you [(hijack_stage_time * user.mind.get_hijack_speed()) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage.") if(hijack_announce) - . += "It is probably best to fortify your position as to be uninterrupted during the attempt, given the automatic announcements.." + . += span_warning("It is probably best to fortify your position as to be uninterrupted during the attempt, given the automatic announcements..") /obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user,params) if(istype(I, /obj/item/card/id)) @@ -93,11 +93,11 @@ var/obj/item/card/id/ID = user.get_idcard(TRUE) if(!ID) - to_chat(user, "You don't have an ID.") + to_chat(user, span_warning("You don't have an ID.")) return if(!(ACCESS_HEADS in ID.access)) - to_chat(user, "The access level of your card is not high enough.") + to_chat(user, span_warning("The access level of your card is not high enough.")) return if (user in acted_recently) @@ -208,13 +208,13 @@ if(hijack_hacking == TRUE) return if(SSshuttle.emergency.hijack_status >= HIJACKED) - to_chat(user, "The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?") + to_chat(user, span_warning("The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?")) return if(hijack_last_stage_increase >= world.time + hijack_stage_cooldown) say("Error - Catastrophic software error detected. Input is currently on timeout.") return hijack_hacking = TRUE - to_chat(user, "You [SSshuttle.emergency.hijack_status == NOT_BEGUN? "begin" : "continue"] to override [src]'s navigational protocols.") + to_chat(user, span_boldwarning("You [SSshuttle.emergency.hijack_status == NOT_BEGUN? "begin" : "continue"] to override [src]'s navigational protocols.")) say("Software override initiated.") var/turf/console_hijack_turf = get_turf(src) message_admins("[src] is being overriden for hijack by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(console_hijack_turf)]") @@ -226,7 +226,7 @@ message_admins("[src] has had its hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED] by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(console_hijack_turf)]") log_game("[src] has had its hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED] by [key_name(user)] at [AREACOORD(src)]") . = TRUE - to_chat(user, "You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.") + to_chat(user, span_notice("You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.")) hijack_hacking = FALSE /obj/machinery/computer/emergency_shuttle/proc/announce_hijack_stage() @@ -254,7 +254,7 @@ return if((obj_flags & EMAGGED) || ENGINES_STARTED) //SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LAUNCH IN 10 SECONDS - to_chat(user, "The shuttle is already about to launch!") + to_chat(user, span_warning("The shuttle is already about to launch!")) return var/time = TIME_LEFT @@ -573,7 +573,7 @@ launch_status = EARLY_LAUNCHED return ..() else - to_chat(usr, "Escape pods will only launch during \"Code Red\" security alert.") + to_chat(usr, span_warning("Escape pods will only launch during \"Code Red\" security alert.")) return TRUE /obj/docking_port/mobile/pod/cancel() @@ -601,7 +601,7 @@ return obj_flags |= EMAGGED locked = FALSE - to_chat(user, "You fry the pod's alert level checking system.") + to_chat(user, span_warning("You fry the pod's alert level checking system.")) /obj/machinery/computer/shuttle/pod/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) . = ..() diff --git a/code/modules/shuttle/ferry.dm b/code/modules/shuttle/ferry.dm index 1a26a564d79..595ac0787b2 100644 --- a/code/modules/shuttle/ferry.dm +++ b/code/modules/shuttle/ferry.dm @@ -10,7 +10,7 @@ /obj/machinery/computer/shuttle/ferry/emag_act(mob/user) if(!allow_emag) - to_chat(user, "[src]'s security firewall is far too powerful for you to bypass.") + to_chat(user, span_warning("[src]'s security firewall is far too powerful for you to bypass.")) return FALSE return ..() diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index 75a6e3b61ee..3f7c149a381 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -60,10 +60,10 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/attack_hand(mob/user, list/modifiers) if(jammed) - to_chat(user, "The Syndicate is jamming the console!") + to_chat(user, span_warning("The Syndicate is jamming the console!")) return if(!shuttle_port && !SSshuttle.getShuttle(shuttleId)) - to_chat(user,"Warning: Shuttle connection severed!") + to_chat(user,span_warning("Warning: Shuttle connection severed!")) return return ..() @@ -139,23 +139,23 @@ var/mob/camera/ai_eye/remote/shuttle_docker/the_eye = eyeobj var/landing_clear = checkLandingSpot() if(designate_time && (landing_clear != SHUTTLE_DOCKER_BLOCKED)) - to_chat(current_user, "Targeting transit location, please wait [DisplayTimeText(designate_time)]...") + to_chat(current_user, span_warning("Targeting transit location, please wait [DisplayTimeText(designate_time)]...")) designating_target_loc = the_eye.loc var/wait_completed = do_after(current_user, designate_time, designating_target_loc, timed_action_flags = IGNORE_HELD_ITEM, extra_checks = CALLBACK(src, /obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget)) designating_target_loc = null if(!current_user) return if(!wait_completed) - to_chat(current_user, "Operation aborted.") + to_chat(current_user, span_warning("Operation aborted.")) return landing_clear = checkLandingSpot() if(landing_clear != SHUTTLE_DOCKER_LANDING_CLEAR) switch(landing_clear) if(SHUTTLE_DOCKER_BLOCKED) - to_chat(current_user, "Invalid transit location.") + to_chat(current_user, span_warning("Invalid transit location.")) if(SHUTTLE_DOCKER_BLOCKED_BY_HIDDEN_PORT) - to_chat(current_user, "Unknown object detected in landing zone. Please designate another location.") + to_chat(current_user, span_warning("Unknown object detected in landing zone. Please designate another location.")) return ///Make one use port that deleted after fly off, to don't lose info that need on to properly fly off. @@ -196,7 +196,7 @@ if(current_user.client) current_user.client.images += the_eye.placed_images - to_chat(current_user, "Transit location designated.") + to_chat(current_user, span_notice("Transit location designated.")) return TRUE /obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget() @@ -388,7 +388,7 @@ if(T) playsound(console, 'sound/machines/terminal_prompt_confirm.ogg', 25, FALSE) remote_eye.setLoc(T) - to_chat(target, "Jumped to [selected].") + to_chat(target, span_notice("Jumped to [selected].")) C.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash/static) C.clear_fullscreen("flash", 3) else diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 2a267ba08b4..52b45286d98 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -31,7 +31,7 @@ All ShuttleMove procs go here if(M.pulledby) M.pulledby.stop_pulling() M.stop_pulling() - M.visible_message("[shuttle] slams into [M]!") + M.visible_message(span_warning("[shuttle] slams into [M]!")) SSblackbox.record_feedback("tally", "shuttle_gib", 1, M.type) log_attack("[key_name(M)] was shuttle gibbed by [shuttle].") M.gib() diff --git a/code/modules/shuttle/spaceship_navigation_beacon.dm b/code/modules/shuttle/spaceship_navigation_beacon.dm index 0b7c5166ebe..49e0a6cc986 100644 --- a/code/modules/shuttle/spaceship_navigation_beacon.dm +++ b/code/modules/shuttle/spaceship_navigation_beacon.dm @@ -40,10 +40,10 @@ var/new_name = "Beacon_[stripped_input("Enter the custom name for this beacon", "It be Beacon ..your input..")]" if(new_name && Adjacent(user)) name = new_name - to_chat(user, "You change beacon name to [name].") + to_chat(user, span_notice("You change beacon name to [name].")) else locked =!locked - to_chat(user, "You [locked ? "" : "un"]lock [src].") + to_chat(user, span_notice("You [locked ? "" : "un"]lock [src].")) return TRUE /obj/machinery/spaceship_navigation_beacon/examine() diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index ada32d4843e..63bbdf1fdfb 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -90,8 +90,8 @@ for(var/i in found - sleepers) var/mob/living/L = i L.add_atom_colour("#800080", TEMPORARY_COLOUR_PRIORITY) - L.visible_message("A strange purple glow wraps itself around [L] as [L.p_they()] suddenly fall[L.p_s()] unconscious.", - "[desc]") + L.visible_message(span_revennotice("A strange purple glow wraps itself around [L] as [L.p_they()] suddenly fall[L.p_s()] unconscious."), + span_revendanger("[desc]")) // Don't let them sit suround unconscious forever addtimer(CALLBACK(src, .proc/sleeper_dreams, L), 100) @@ -120,7 +120,7 @@ /obj/structure/table/abductor/wabbajack/proc/sleeper_dreams(mob/living/sleeper) if(sleeper in sleepers) - to_chat(sleeper, "While you slumber, you have the strangest dream, like you can see yourself from the outside.") + to_chat(sleeper, span_revennotice("While you slumber, you have the strangest dream, like you can see yourself from the outside.")) sleeper.ghostize(TRUE) /obj/structure/table/abductor/wabbajack/left @@ -210,7 +210,7 @@ var/throwtarget = get_edge_target_turf(src, boot_dir) M.Paralyze(40) M.throw_at(throwtarget, 5, 1) - to_chat(M, "No climbing on the bar please.") + to_chat(M, span_notice("No climbing on the bar please.")) /obj/structure/table/wood/bar/proc/is_barstaff(mob/living/user) . = FALSE @@ -245,7 +245,7 @@ var/obj/vehicle/vehicle = mover for(var/mob/living/rat in vehicle.occupants) if(!(rat in approved_passengers)) - say("Stowaway detected. Please exit the vehicle first.") + say(span_robot("Stowaway detected. Please exit the vehicle first.")) return FALSE return TRUE if(isitem(mover)) @@ -253,7 +253,7 @@ if(isstructure(mover)) var/obj/structure/struct = mover for(var/mob/living/rat in struct.contents) - say("Stowaway detected. Please exit the structure first.") + say(span_robot("Stowaway detected. Please exit the structure first.")) return FALSE return TRUE @@ -284,7 +284,7 @@ if(I.registered_account) account = I.registered_account else if(!check_times[AM] || check_times[AM] < world.time) //Let's not spam the message - to_chat(AM, "This ID card doesn't have an owner associated with it!") + to_chat(AM, span_notice("This ID card doesn't have an owner associated with it!")) check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN else if(isliving(AM)) var/mob/living/L = AM @@ -356,7 +356,7 @@ if(armless) if(!AM.pulling || !iscash(AM.pulling) && !istype(AM.pulling, /obj/item/card/id)) if(!check_times[AM] || check_times[AM] < world.time) //Let's not spam the message - to_chat(AM, "Try pulling a valid ID, space cash, holochip or coin into \the [src]!") + to_chat(AM, span_notice("Try pulling a valid ID, space cash, holochip or coin into \the [src]!")) check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN if(payees[AM] >= threshold) @@ -378,7 +378,7 @@ AM.pulling = HC payees[AM] -= payees[AM] - say("Welcome to first class, [driver_holdout ? "[driver_holdout]" : "[AM]" ]![change ? " Here is your change." : ""]") + say(span_robot("Welcome to first class, [driver_holdout ? "[driver_holdout]" : "[AM]" ]![change ? " Here is your change." : ""]")) approved_passengers |= AM if(vehicle) approved_passengers |= vehicle @@ -391,7 +391,7 @@ for(var/obj/I in counted_money) qdel(I) if(!check_times[AM] || check_times[AM] < world.time) //Let's not spam the message - to_chat(AM, "[payees[AM]] cr received. You need [threshold-payees[AM]] cr more.") + to_chat(AM, span_notice("[payees[AM]] cr received. You need [threshold-payees[AM]] cr more.")) check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN alarm_beep() return ..() diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index 89ba84cceda..94902141ebc 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -24,7 +24,7 @@ return FALSE var/obj/item/circuitboard/computer/syndicate_shuttle/board = circuit if(board?.challenge && world.time < SYNDICATE_CHALLENGE_TIMER) - to_chat(user, "You've issued a combat challenge to the station! You've got to give them at least [DisplayTimeText(SYNDICATE_CHALLENGE_TIMER - world.time)] more to allow them to prepare.") + to_chat(user, span_warning("You've issued a combat challenge to the station! You've got to give them at least [DisplayTimeText(SYNDICATE_CHALLENGE_TIMER - world.time)] more to allow them to prepare.")) return FALSE board.moved = TRUE return TRUE @@ -49,7 +49,7 @@ if(!.) return FALSE if(!is_centcom_level(z)) - to_chat(user, "Pods are one way!") + to_chat(user, span_warning("Pods are one way!")) return FALSE return TRUE diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index cc1b2cf55bc..614aee3fa77 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -56,7 +56,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th /obj/effect/proc_holder/proc/InterceptClickOn(mob/living/caller, params, atom/A) if(caller.ranged_ability != src || ranged_ability_user != caller) //I'm not actually sure how these would trigger, but, uh, safety, I guess? - to_chat(caller, "[caller.ranged_ability.name] has been disabled.") + to_chat(caller, span_warning("[caller.ranged_ability.name] has been disabled.")) caller.ranged_ability.remove_ranged_ability() return TRUE //TRUE for failed, FALSE for passed. if(ranged_clickcd_override >= 0) @@ -71,7 +71,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th return if(user.ranged_ability && user.ranged_ability != src) if(forced) - to_chat(user, "[user.ranged_ability.name] has been replaced by [name].") + to_chat(user, span_warning("[user.ranged_ability.name] has been replaced by [name].")) user.ranged_ability.remove_ranged_ability() else return @@ -157,7 +157,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th /obj/effect/proc_holder/spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell if(player_lock) if(!user.mind || !(src in user.mind.spell_list) && !(src in user.mob_spell_list)) - to_chat(user, "You shouldn't have this spell! Something's wrong.") + to_chat(user, span_warning("You shouldn't have this spell! Something's wrong.")) return FALSE else if(!(src in user.mob_spell_list)) @@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th var/turf/T = get_turf(user) if(is_centcom_level(T.z) && !centcom_cancast) //Certain spells are not allowed on the centcom zlevel - to_chat(user, "You can't cast this spell here!") + to_chat(user, span_warning("You can't cast this spell here!")) return FALSE if(!skipcharge) @@ -173,25 +173,25 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th return FALSE if(user.stat && !stat_allowed) - to_chat(user, "Not when you're incapacitated!") + to_chat(user, span_warning("Not when you're incapacitated!")) return FALSE if(!antimagic_allowed) var/antimagic = user.anti_magic_check(TRUE, FALSE, FALSE, 0, TRUE) if(antimagic) if(isitem(antimagic)) - to_chat(user, "[antimagic] is interfering with your magic.") + to_chat(user, span_notice("[antimagic] is interfering with your magic.")) else - to_chat(user, "Magic seems to flee from you, you can't gather enough power to cast this spell.") + to_chat(user, span_warning("Magic seems to flee from you, you can't gather enough power to cast this spell.")) return FALSE if(!phase_allowed && istype(user.loc, /obj/effect/dummy)) - to_chat(user, "[name] cannot be cast unless you are completely manifested in the material plane!") + to_chat(user, span_warning("[name] cannot be cast unless you are completely manifested in the material plane!")) return FALSE var/mob/living/L = user if(istype(L) && (invocation_type == INVOCATION_WHISPER || invocation_type == INVOCATION_SHOUT) && !L.can_speak_vocal()) - to_chat(user, "You can't get the words out!") + to_chat(user, span_warning("You can't get the words out!")) return FALSE if(ishuman(user)) @@ -207,24 +207,24 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if(clothes_req) //clothes check if(!is_type_in_typecache(H.wear_suit, casting_clothes)) - to_chat(H, "You don't feel strong enough without your robe!") + to_chat(H, span_warning("You don't feel strong enough without your robe!")) return FALSE if(!is_type_in_typecache(H.head, casting_clothes)) - to_chat(H, "You don't feel strong enough without your hat!") + to_chat(H, span_warning("You don't feel strong enough without your hat!")) return FALSE if(cult_req) //CULT_REQ CLOTHES CHECK if(!istype(H.wear_suit, /obj/item/clothing/suit/magusred) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/cult)) - to_chat(H, "You don't feel strong enough without your armor.") + to_chat(H, span_warning("You don't feel strong enough without your armor.")) return FALSE if(!istype(H.head, /obj/item/clothing/head/magus) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/cult)) - to_chat(H, "You don't feel strong enough without your helmet.") + to_chat(H, span_warning("You don't feel strong enough without your helmet.")) return FALSE else if(clothes_req || human_req) - to_chat(user, "This spell can only be cast by humans!") + to_chat(user, span_warning("This spell can only be cast by humans!")) return FALSE if(nonabstract_req && (isbrain(user) || ispAI(user))) - to_chat(user, "This spell can only be cast by physical beings!") + to_chat(user, span_warning("This spell can only be cast by physical beings!")) return FALSE @@ -250,7 +250,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if("charges") if(!charge_counter) if(!silent) - to_chat(user, "[name] has no charges left!") + to_chat(user, span_warning("[name] has no charges left!")) return FALSE return TRUE @@ -276,7 +276,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th . = ..() START_PROCESSING(SSfastprocess, src) - still_recharging_msg = "[name] is still recharging!" + still_recharging_msg = span_warning("[name] is still recharging!") charge_counter = charge_max /obj/effect/proc_holder/spell/Destroy() @@ -318,7 +318,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th before_cast(targets) invocation(user) if(user?.ckey) - user.log_message("cast the spell [name].", LOG_ATTACK) + user.log_message(span_danger("cast the spell [name]."), LOG_ATTACK) if(recharge) recharging = TRUE if(sound) @@ -572,7 +572,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th /obj/effect/proc_holder/spell/self/basic_heal/cast(list/targets, mob/living/carbon/human/user) //Note the lack of "list/targets" here. Instead, use a "user" var depending on mob requirements. //Also, notice the lack of a "for()" statement that looks through the targets. This is, again, because the spell can only have a single target. - user.visible_message("A wreath of gentle light passes over [user]!", "You wreath yourself in healing light!") + user.visible_message(span_warning("A wreath of gentle light passes over [user]!"), span_notice("You wreath yourself in healing light!")) user.adjustBruteLoss(-10) user.adjustFireLoss(-10) diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm index ecdaab5a34c..fae440b77e7 100644 --- a/code/modules/spells/spell_types/aimed.dm +++ b/code/modules/spells/spell_types/aimed.dm @@ -17,11 +17,11 @@ return var/msg if(!can_cast(user)) - msg = "You can no longer cast [name]!" + msg = span_warning("You can no longer cast [name]!") remove_ranged_ability(msg) return if(active) - msg = "[deactive_msg]" + msg = span_notice("[deactive_msg]") if(charge_type == "recharge") var/refund_percent = current_amount/projectile_amount charge_counter = charge_max * refund_percent @@ -29,7 +29,7 @@ remove_ranged_ability(msg) on_deactivation(user) else - msg = "[active_msg] Left-click to shoot it at a target!" + msg = span_notice("[active_msg] Left-click to shoot it at a target!") current_amount = projectile_amount add_ranged_ability(user, msg, TRUE) on_activation(user) diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm index 9b963b9aa47..ca5ca484b13 100644 --- a/code/modules/spells/spell_types/area_teleport.dm +++ b/code/modules/spells/spell_types/area_teleport.dm @@ -50,7 +50,7 @@ L+=T if(!L.len) - to_chat(usr, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.") + to_chat(usr, span_warning("The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")) return if(target?.buckled) diff --git a/code/modules/spells/spell_types/bloodcrawl.dm b/code/modules/spells/spell_types/bloodcrawl.dm index 95d75543aff..ec81d633c34 100644 --- a/code/modules/spells/spell_types/bloodcrawl.dm +++ b/code/modules/spells/spell_types/bloodcrawl.dm @@ -20,7 +20,7 @@ return FALSE var/area/noteleport_check = get_area(user) if(noteleport_check && noteleport_check.area_flags & NOTELEPORT) - to_chat(user, "Some dull, universal force is between you and your other existence, preventing you from blood crawling.") + to_chat(user, span_danger("Some dull, universal force is between you and your other existence, preventing you from blood crawling.")) return FALSE /obj/effect/proc_holder/spell/bloodcrawl/choose_targets(mob/user = usr) @@ -29,7 +29,7 @@ perform(target) return revert_cast() - to_chat(user, "There must be a nearby source of blood!") + to_chat(user, span_warning("There must be a nearby source of blood!")) /obj/effect/proc_holder/spell/bloodcrawl/perform(obj/effect/decal/cleanable/target, recharge = 1, mob/living/user = usr) if(istype(user)) @@ -47,4 +47,4 @@ start_recharge() return revert_cast() - to_chat(user, "You are unable to blood crawl!") + to_chat(user, span_warning("You are unable to blood crawl!")) diff --git a/code/modules/spells/spell_types/charge.dm b/code/modules/spells/spell_types/charge.dm index 06e803e2f9a..467af52aefb 100644 --- a/code/modules/spells/spell_types/charge.dm +++ b/code/modules/spells/spell_types/charge.dm @@ -26,26 +26,26 @@ if(M.mind) for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list) S.charge_counter = S.charge_max - to_chat(M, "You feel raw magic flowing through you. It feels good!") + to_chat(M, span_notice("You feel raw magic flowing through you. It feels good!")) else - to_chat(M, "You feel very strange for a moment, but then it passes.") + to_chat(M, span_notice("You feel very strange for a moment, but then it passes.")) burnt_out = TRUE charged_item = M break for(var/obj/item in hand_items) if(istype(item, /obj/item/spellbook)) - to_chat(L, "Glowing red letters appear on the front cover...") - to_chat(L, "[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE! VERY CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]") + to_chat(L, span_danger("Glowing red letters appear on the front cover...")) + to_chat(L, span_warning("[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE! VERY CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]")) burnt_out = TRUE else if(istype(item, /obj/item/book/granter/spell)) var/obj/item/book/granter/spell/I = item if(!I.oneuse) - to_chat(L, "This book is infinite use and can't be recharged, yet the magic has improved the book somehow...") + to_chat(L, span_notice("This book is infinite use and can't be recharged, yet the magic has improved the book somehow...")) burnt_out = TRUE I.pages_to_mastery-- break if(prob(80)) - L.visible_message("[I] catches fire!") + L.visible_message(span_warning("[I] catches fire!")) qdel(I) else I.used = FALSE @@ -93,9 +93,9 @@ charged_item = item break if(!charged_item) - to_chat(L, "You feel magical power surging through your hands, but the feeling rapidly fades...") + to_chat(L, span_notice("You feel magical power surging through your hands, but the feeling rapidly fades...")) else if(burnt_out) - to_chat(L, "[charged_item] doesn't seem to be reacting to the spell!") + to_chat(L, span_warning("[charged_item] doesn't seem to be reacting to the spell!")) else playsound(get_turf(L), 'sound/magic/charge.ogg', 50, TRUE) - to_chat(L, "[charged_item] suddenly feels very warm!") + to_chat(L, span_notice("[charged_item] suddenly feels very warm!")) diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm index 5dc71b05444..d326313a7b1 100644 --- a/code/modules/spells/spell_types/construct_spells.dm +++ b/code/modules/spells/spell_types/construct_spells.dm @@ -201,18 +201,18 @@ /obj/effect/proc_holder/spell/pointed/abyssal_gaze/cast(list/targets, mob/user) if(!LAZYLEN(targets)) - to_chat(user, "No target found in range!") + to_chat(user, span_warning("No target found in range!")) return FALSE if(!can_target(targets[1], user)) return FALSE var/mob/living/carbon/target = targets[1] if(target.anti_magic_check(TRUE, TRUE)) - to_chat(user, "The spell had no effect!") - to_chat(target, "You feel a freezing darkness closing in on you, but it rapidly dissipates.") + to_chat(user, span_warning("The spell had no effect!")) + to_chat(target, span_warning("You feel a freezing darkness closing in on you, but it rapidly dissipates.")) return FALSE - to_chat(target, "A freezing darkness surrounds you...") + to_chat(target, span_userdanger("A freezing darkness surrounds you...")) target.playsound_local(get_turf(target), 'sound/hallucinations/i_see_you1.ogg', 50, 1) user.playsound_local(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1) target.become_blind(ABYSSAL_GAZE_BLIND) @@ -239,7 +239,7 @@ return FALSE if(!iscarbon(target)) if(!silent) - to_chat(user, "You can only target carbon based lifeforms!") + to_chat(user, span_warning("You can only target carbon based lifeforms!")) return FALSE return TRUE @@ -261,7 +261,7 @@ /obj/effect/proc_holder/spell/pointed/dominate/cast(list/targets, mob/user) if(!LAZYLEN(targets)) - to_chat(user, "No target found in range.") + to_chat(user, span_notice("No target found in range.")) return FALSE if(!can_target(targets[1], user)) return FALSE @@ -278,25 +278,25 @@ return FALSE if(!isanimal(target)) if(!silent) - to_chat(user, "Target is not a lesser creature!") + to_chat(user, span_warning("Target is not a lesser creature!")) return FALSE var/mob/living/simple_animal/S = target if(S.mind) if(!silent) - to_chat(user, "[S] is too intelligent to dominate!") + to_chat(user, span_warning("[S] is too intelligent to dominate!")) return FALSE if(S.stat) if(!silent) - to_chat(user, "[S] is dead!") + to_chat(user, span_warning("[S] is dead!")) return FALSE if(S.sentience_type != SENTIENCE_ORGANIC) if(!silent) - to_chat(user, "[S] cannot be dominated!") + to_chat(user, span_warning("[S] cannot be dominated!")) return FALSE if("cult" in S.faction) if(!silent) - to_chat(user, "[S] is already serving Nar'Sie!") + to_chat(user, span_warning("[S] is already serving Nar'Sie!")) return FALSE return TRUE diff --git a/code/modules/spells/spell_types/curse.dm b/code/modules/spells/spell_types/curse.dm index 3217fe07a67..7d4a77f359b 100644 --- a/code/modules/spells/spell_types/curse.dm +++ b/code/modules/spells/spell_types/curse.dm @@ -2,13 +2,13 @@ GLOBAL_VAR_INIT(curse_of_madness_triggered, FALSE) /proc/curse_of_madness(mob/user, message) if(user) //in this case either someone holding a spellbook or a badmin - to_chat(user, "You sent a curse of madness with the message \"[message]\"!") + to_chat(user, span_warning("You sent a curse of madness with the message \"[message]\"!")) message_admins("[ADMIN_LOOKUPFLW(user)] sent a curse of madness with the message \"[message]\"!") log_game("[key_name(user)] sent a curse of madness with the message \"[message]\"!") GLOB.curse_of_madness_triggered = message // So latejoiners are also afflicted. - deadchat_broadcast("A Curse of Madness has stricken the station, shattering their minds with the awful secret: \"[message]\"", message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast("A [span_name("Curse of Madness")] has stricken the station, shattering their minds with the awful secret: \"[message]\"", message_type=DEADCHAT_ANNOUNCEMENT) for(var/mob/living/carbon/human/H in GLOB.player_list) if(H.stat == DEAD) @@ -17,14 +17,14 @@ GLOBAL_VAR_INIT(curse_of_madness_triggered, FALSE) if(T && !is_station_level(T.z)) continue if(H.anti_magic_check(TRUE, FALSE, TRUE)) - to_chat(H, "You have a strange feeling for a moment, but then it passes.") + to_chat(H, span_notice("You have a strange feeling for a moment, but then it passes.")) continue give_madness(H, message) /proc/give_madness(mob/living/carbon/human/H, message) H.playsound_local(H,'sound/magic/curse.ogg',40,1) to_chat(H, "[message]") - to_chat(H, "Your mind shatters!") + to_chat(H, span_warning("Your mind shatters!")) switch(rand(1,10)) if(1 to 3) H.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_LOBOTOMY) diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 93a022e6bae..e68b64a1a5d 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -29,7 +29,7 @@ return FALSE var/area/noteleport_check = get_area(user) if(noteleport_check && noteleport_check.area_flags & NOTELEPORT) - to_chat(user, "Some dull, universal force is stopping you from jaunting here.") + to_chat(user, span_danger("Some dull, universal force is stopping you from jaunting here.")) return FALSE /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets,mob/user = usr) //magnets, so mostly hardcoded @@ -98,5 +98,5 @@ if(!.) return if (locate(/obj/effect/blessing, .)) - to_chat(user, "Holy energies block your path!") + to_chat(user, span_warning("Holy energies block your path!")) return null diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm index 4039a91db51..887c4861053 100644 --- a/code/modules/spells/spell_types/godhand.dm +++ b/code/modules/spells/spell_types/godhand.dm @@ -25,7 +25,7 @@ if(!iscarbon(user)) //Look ma, no hands return if(!(user.mobility_flags & MOBILITY_USE)) - to_chat(user, "You can't reach out!") + to_chat(user, span_warning("You can't reach out!")) return ..() @@ -57,7 +57,7 @@ if(!proximity || target == user || !istype(target) || !iscarbon(user) || !(user.mobility_flags & MOBILITY_USE)) //exploding after touching yourself would be bad return if(!user.can_speak_vocal()) - to_chat(user, "You can't get the words out!") + to_chat(user, span_warning("You can't get the words out!")) return do_sparks(4, FALSE, target.loc) for(var/mob/living/L in view(src, 7)) @@ -66,8 +66,8 @@ var/atom/A = target.anti_magic_check() if(A) if(isitem(A)) - target.visible_message("[target]'s [A] glows brightly as it wards off the spell!") - user.visible_message("The feedback blows [user]'s arm off!","The spell bounces from [target]'s skin back into your arm!") + target.visible_message(span_warning("[target]'s [A] glows brightly as it wards off the spell!")) + user.visible_message(span_warning("The feedback blows [user]'s arm off!"),span_userdanger("The spell bounces from [target]'s skin back into your arm!")) user.flash_act() var/obj/item/bodypart/part = user.get_holding_bodypart_of_item(src) if(part) @@ -75,7 +75,7 @@ return ..() var/obj/item/clothing/suit/hooded/bloated_human/suit = target.get_item_by_slot(ITEM_SLOT_OCLOTHING) if(istype(suit)) - target.visible_message("[target]'s [suit] explodes off of them into a puddle of gore!") + target.visible_message(span_danger("[target]'s [suit] explodes off of them into a puddle of gore!")) target.dropItemToGround(suit) qdel(suit) new /obj/effect/gibspawner(target.loc) @@ -95,15 +95,15 @@ if(!proximity || target == user || !isliving(target) || !iscarbon(user)) //getting hard after touching yourself would also be bad return if(!(user.mobility_flags & MOBILITY_USE)) - to_chat(user, "You can't reach out!") + to_chat(user, span_warning("You can't reach out!")) return if(!user.can_speak_vocal()) - to_chat(user, "You can't get the words out!") + to_chat(user, span_warning("You can't get the words out!")) return var/mob/living/M = target if(M.anti_magic_check()) - to_chat(user, "The spell can't seem to affect [M]!") - to_chat(M, "You feel your flesh turn to stone for a moment, then revert back!") + to_chat(user, span_warning("The spell can't seem to affect [M]!")) + to_chat(M, span_warning("You feel your flesh turn to stone for a moment, then revert back!")) ..() return M.Stun(40) @@ -123,16 +123,16 @@ if(!proximity || target == user || !isliving(target) || !iscarbon(user)) //Roleplay involving touching is equally as bad return if(!(user.mobility_flags & MOBILITY_USE)) - to_chat(user, "You can't reach out!") + to_chat(user, span_warning("You can't reach out!")) return if(!user.can_speak_vocal()) - to_chat(user, "You can't get the words out!") + to_chat(user, span_warning("You can't get the words out!")) return var/mob/living/carbon/duffelvictim = target var/elaborate_backstory = pick("spacewar origin story", "military background", "corporate connections", "life in the colonies", "anti-government activities", "upbringing on the space farm", "fond memories with your buddy Keith") if(duffelvictim.anti_magic_check()) - to_chat(user, "The spell can't seem to affect [duffelvictim]!") - to_chat(duffelvictim, "You really don't feel like talking about your [elaborate_backstory] with complete strangers today.") + to_chat(user, span_warning("The spell can't seem to affect [duffelvictim]!")) + to_chat(duffelvictim, span_warning("You really don't feel like talking about your [elaborate_backstory] with complete strangers today.")) ..() return @@ -142,14 +142,14 @@ duffelvictim.Knockdown(5 SECONDS) if(HAS_TRAIT(target, TRAIT_DUFFEL_CURSE_PROOF)) - to_chat(user, "The burden of [duffelvictim]'s duffel bag becomes too much, shoving them to the floor!") - to_chat(duffelvictim, "The weight of this bag becomes overburdening!") + to_chat(user, span_warning("The burden of [duffelvictim]'s duffel bag becomes too much, shoving them to the floor!")) + to_chat(duffelvictim, span_warning("The weight of this bag becomes overburdening!")) return ..() var/obj/item/storage/backpack/duffelbag/cursed/conjuredduffel = new get_turf(target) - duffelvictim.visible_message("A growling duffel bag appears on [duffelvictim]!", \ - "You feel something attaching itself to you, and a strong desire to discuss your [elaborate_backstory] at length!") + duffelvictim.visible_message(span_danger("A growling duffel bag appears on [duffelvictim]!"), \ + span_danger("You feel something attaching itself to you, and a strong desire to discuss your [elaborate_backstory] at length!")) ADD_TRAIT(duffelvictim, TRAIT_DUFFEL_CURSE_PROOF, CURSED_ITEM_TRAIT(conjuredduffel.name)) if(duffelvictim.dropItemToGround(duffelvictim.back)) diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index 969072fe0af..156b43db7e6 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -26,7 +26,7 @@ if(iscarbon(M)) hand_items = list(M.get_active_held_item(),M.get_inactive_held_item()) if(!hand_items.len) - to_chat(M, "You must hold an item you wish to make your phylactery!") + to_chat(M, span_warning("You must hold an item you wish to make your phylactery!")) return var/obj/item/marked_item @@ -37,17 +37,17 @@ if((item.item_flags & ABSTRACT) || HAS_TRAIT(item, TRAIT_NODROP) || SEND_SIGNAL(item, COMSIG_ITEM_IMBUE_SOUL, user)) continue marked_item = item - to_chat(M, "You begin to focus your very being into [item]...") + to_chat(M, span_warning("You begin to focus your very being into [item]...")) break if(!marked_item) - to_chat(M, "None of the items you hold are suitable for emplacement of your fragile soul.") + to_chat(M, span_warning("None of the items you hold are suitable for emplacement of your fragile soul.")) return playsound(user, 'sound/effects/pope_entry.ogg', 100) if(!do_after(M, 5 SECONDS, target = marked_item, timed_action_flags = IGNORE_HELD_ITEM)) - to_chat(M, "Your soul snaps back to your body as you stop ensouling [marked_item]!") + to_chat(M, span_warning("Your soul snaps back to your body as you stop ensouling [marked_item]!")) return marked_item.name = "ensouled [marked_item.name]" @@ -57,7 +57,7 @@ new /obj/item/phylactery(marked_item, M.mind) - to_chat(M, "With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!") + to_chat(M, span_userdanger("With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!")) M.set_species(/datum/species/skeleton) if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -129,7 +129,7 @@ mind.transfer_to(lich) mind.grab_ghost(force=TRUE) lich.hardset_dna(null,null,null,lich.real_name,null, new /datum/species/skeleton) - to_chat(lich, "Your bones clatter and shudder as you are pulled back into this world!") + to_chat(lich, span_warning("Your bones clatter and shudder as you are pulled back into this world!")) var/turf/body_turf = get_turf(old_body) lich.Paralyze(200 + 200*resurrections) resurrections++ @@ -144,7 +144,7 @@ I.forceMove(body_turf) var/wheres_wizdo = dir2text(get_dir(body_turf, item_turf)) if(wheres_wizdo) - old_body.visible_message("Suddenly [old_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!") + old_body.visible_message(span_warning("Suddenly [old_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!")) body_turf.Beam(item_turf,icon_state="lichbeam", time = 10 + 10 * resurrections) old_body.dust() diff --git a/code/modules/spells/spell_types/lightning.dm b/code/modules/spells/spell_types/lightning.dm index bc031ad1e5b..9a7fb15fb76 100644 --- a/code/modules/spells/spell_types/lightning.dm +++ b/code/modules/spells/spell_types/lightning.dm @@ -24,7 +24,7 @@ /obj/effect/proc_holder/spell/targeted/tesla/proc/StartChargeup(mob/user = usr) ready = TRUE - to_chat(user, "You start gathering the power.") + to_chat(user, span_notice("You start gathering the power.")) Snd = new/sound('sound/magic/lightning_chargeup.ogg',channel = 7) halo = halo || mutable_appearance('icons/effects/effects.dmi', "electricity", EFFECTS_LAYER) user.add_overlay(halo) @@ -43,7 +43,7 @@ /obj/effect/proc_holder/spell/targeted/tesla/revert_cast(mob/user = usr, message = 1) if(message) - to_chat(user, "No target found in range.") + to_chat(user, span_notice("No target found in range.")) Reset(user) ..() @@ -53,7 +53,7 @@ Snd=sound(null, repeat = 0, wait = 1, channel = Snd.channel) //byond, why you suck? playsound(get_turf(user),Snd,50,FALSE)// Sorry MrPerson, but the other ways just didn't do it the way i needed to work, this is the only way. if(get_dist(user,target)>range) - to_chat(user, "[target.p_theyre(TRUE)] too far away!") + to_chat(user, span_warning("[target.p_theyre(TRUE)] too far away!")) Reset(user) return @@ -68,7 +68,7 @@ var/mob/living/carbon/current = target if(current.anti_magic_check()) playsound(get_turf(current), 'sound/magic/lightningshock.ogg', 50, TRUE, -1) - current.visible_message("[current] absorbs the spell, remaining unharmed!", "You absorb the spell, remaining unharmed!") + current.visible_message(span_warning("[current] absorbs the spell, remaining unharmed!"), span_userdanger("You absorb the spell, remaining unharmed!")) else if(bounces < 1) current.electrocute_act(bolt_energy,"Lightning Bolt",flags = SHOCK_NOGLOVES) playsound(get_turf(current), 'sound/magic/lightningshock.ogg', 50, TRUE, -1) diff --git a/code/modules/spells/spell_types/mime.dm b/code/modules/spells/spell_types/mime.dm index 61c7cef7a7a..594b94da0c3 100644 --- a/code/modules/spells/spell_types/mime.dm +++ b/code/modules/spells/spell_types/mime.dm @@ -21,7 +21,7 @@ /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall/Click() if(usr?.mind) if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first!") + to_chat(usr, span_warning("You must dedicate yourself to silence first!")) return invocation = "[usr.real_name] looks as if a wall is in front of [usr.p_them()]." else @@ -51,7 +51,7 @@ /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_chair/Click() if(usr?.mind) if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first!") + to_chat(usr, span_warning("You must dedicate yourself to silence first!")) return invocation = "[usr.real_name] pulls out an invisible chair and sits down." else @@ -97,7 +97,7 @@ /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_box/Click() if(usr?.mind) if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first!") + to_chat(usr, span_warning("You must dedicate yourself to silence first!")) return invocation = "[usr.real_name] moves [usr.p_their()] hands in the shape of a cube, pressing a box out of the air." else @@ -128,20 +128,20 @@ return var/mob/living/carbon/human/H = usr if(H.mind.miming) - still_recharging_msg = "You can't break your vow of silence that fast!" + still_recharging_msg = span_warning("You can't break your vow of silence that fast!") else - still_recharging_msg = "You'll have to wait before you can give your vow of silence again!" + still_recharging_msg = span_warning("You'll have to wait before you can give your vow of silence again!") ..() /obj/effect/proc_holder/spell/targeted/mime/speak/cast(list/targets,mob/user = usr) for(var/mob/living/carbon/human/H in targets) H.mind.miming=!H.mind.miming if(H.mind.miming) - to_chat(H, "You make a vow of silence.") + to_chat(H, span_notice("You make a vow of silence.")) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "vow") else SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "vow", /datum/mood_event/broken_vow) - to_chat(H, "You break your vow of silence.") + to_chat(H, span_notice("You break your vow of silence.")) // These spells can only be gotten from the "Guide for Advanced Mimery series" for Mime Traitors. @@ -167,7 +167,7 @@ /obj/effect/proc_holder/spell/targeted/forcewall/mime/Click() if(usr?.mind) if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first!") + to_chat(usr, span_warning("You must dedicate yourself to silence first!")) return invocation = "[usr.real_name] looks as if a blockade is in front of [usr.p_them()]." else @@ -201,11 +201,11 @@ /obj/effect/proc_holder/spell/aimed/finger_guns/Click() var/mob/living/carbon/human/owner = usr if(owner.incapacitated()) - to_chat(owner, "You can't properly point your fingers while incapacitated.") + to_chat(owner, span_warning("You can't properly point your fingers while incapacitated.")) return if(usr?.mind) if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first!") + to_chat(usr, span_warning("You must dedicate yourself to silence first!")) return invocation = "[usr.real_name] fires [usr.p_their()] finger gun!" else @@ -214,7 +214,7 @@ /obj/effect/proc_holder/spell/aimed/finger_guns/InterceptClickOn(mob/living/caller, params, atom/target) if(caller.incapacitated()) - to_chat(caller, "You can't properly point your fingers while incapacitated.") + to_chat(caller, span_warning("You can't properly point your fingers while incapacitated.")) if(charge_type == "recharge") var/refund_percent = current_amount/projectile_amount charge_counter = charge_max * refund_percent diff --git a/code/modules/spells/spell_types/personality_commune.dm b/code/modules/spells/spell_types/personality_commune.dm index 1b6389bf381..bd5655f1159 100644 --- a/code/modules/spells/spell_types/personality_commune.dm +++ b/code/modules/spells/spell_types/personality_commune.dm @@ -21,16 +21,16 @@ // Pillaged and adapted from telepathy code /obj/effect/proc_holder/spell/targeted/personality_commune/cast(list/targets, mob/user) if(!istype(trauma)) - to_chat(user, "Something is wrong; Either due a bug or admemes, you are trying to cast this spell without a split personality!") + to_chat(user, span_warning("Something is wrong; Either due a bug or admemes, you are trying to cast this spell without a split personality!")) return var/msg = stripped_input(usr, "What would you like to tell your other self?", null , "") if(!msg) charge_counter = charge_max return - to_chat(user, "You concentrate and send thoughts to your other self: [msg]") - to_chat(trauma.owner, "[flufftext] [msg]") + to_chat(user, span_boldnotice("You concentrate and send thoughts to your other self:
    [msg]")) + to_chat(trauma.owner, span_boldnotice("[flufftext] [msg]")) log_directed_talk(user, trauma.owner, msg, LOG_SAY ,"[name]") for(var/ded in GLOB.dead_mob_list) if(!isobserver(ded)) continue - to_chat(ded, "[FOLLOW_LINK(ded, user)] [user] [name]: \"[msg]\" to [trauma]") + to_chat(ded, "[FOLLOW_LINK(ded, user)] [span_boldnotice("[user] [name]:")] [span_notice("\"[msg]\" to")] [span_name("[trauma]")]") diff --git a/code/modules/spells/spell_types/pointed/barnyard.dm b/code/modules/spells/spell_types/pointed/barnyard.dm index bca67a880a4..d0324787310 100644 --- a/code/modules/spells/spell_types/pointed/barnyard.dm +++ b/code/modules/spells/spell_types/pointed/barnyard.dm @@ -20,23 +20,23 @@ /obj/effect/proc_holder/spell/pointed/barnyardcurse/cast(list/targets, mob/user) if(!targets.len) - to_chat(user, "No target found in range!") + to_chat(user, span_warning("No target found in range!")) return FALSE if(!can_target(targets[1], user)) return FALSE var/mob/living/carbon/target = targets[1] if(target.anti_magic_check()) - to_chat(user, "The spell had no effect!") - target.visible_message("[target]'s face bursts into flames, which instantly burst outward, leaving [target] unharmed!", \ - "Your face starts burning up, but the flames are repulsed by your anti-magic protection!") + to_chat(user, span_warning("The spell had no effect!")) + target.visible_message(span_danger("[target]'s face bursts into flames, which instantly burst outward, leaving [target] unharmed!"), \ + span_danger("Your face starts burning up, but the flames are repulsed by your anti-magic protection!")) return FALSE var/choice = pick(GLOB.cursed_animal_masks) var/obj/item/clothing/mask/magichead = new choice(get_turf(target)) - target.visible_message("[target]'s face bursts into flames, and a barnyard animal's head takes its place!", \ - "Your face burns up, and shortly after the fire you realise you have the face of a barnyard animal!") + target.visible_message(span_danger("[target]'s face bursts into flames, and a barnyard animal's head takes its place!"), \ + span_danger("Your face burns up, and shortly after the fire you realise you have the face of a barnyard animal!")) if(!target.dropItemToGround(target.wear_mask)) qdel(target.wear_mask) target.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, 1, 1) @@ -48,6 +48,6 @@ return FALSE if(!is_type_in_typecache(target, compatible_mobs_typecache)) if(!silent) - to_chat(user, "You are unable to curse [target]!") + to_chat(user, span_warning("You are unable to curse [target]!")) return FALSE return TRUE diff --git a/code/modules/spells/spell_types/pointed/blind.dm b/code/modules/spells/spell_types/pointed/blind.dm index 3d09bfc989b..d7a63c93e18 100644 --- a/code/modules/spells/spell_types/pointed/blind.dm +++ b/code/modules/spells/spell_types/pointed/blind.dm @@ -30,6 +30,6 @@ return FALSE if(!isliving(target)) if(!silent) - to_chat(user, "You can only blind living beings!") + to_chat(user, span_warning("You can only blind living beings!")) return FALSE return TRUE diff --git a/code/modules/spells/spell_types/pointed/mind_transfer.dm b/code/modules/spells/spell_types/pointed/mind_transfer.dm index b3f30ab97e9..6d82c816716 100644 --- a/code/modules/spells/spell_types/pointed/mind_transfer.dm +++ b/code/modules/spells/spell_types/pointed/mind_transfer.dm @@ -19,11 +19,11 @@ /obj/effect/proc_holder/spell/pointed/mind_transfer/cast(list/targets, mob/living/user, silent = FALSE) if(!targets.len) if(!silent) - to_chat(user, "No mind found!") + to_chat(user, span_warning("No mind found!")) return FALSE if(targets.len > 1) if(!silent) - to_chat(user, "Too many minds! You're not a hive damnit!") + to_chat(user, span_warning("Too many minds! You're not a hive damnit!")) return FALSE if(!can_target(targets[1], user, silent)) return FALSE @@ -32,7 +32,7 @@ var/datum/mind/VM = victim.mind if(victim.anti_magic_check(TRUE, FALSE) || VM.has_antag_datum(/datum/antagonist/wizard) || VM.has_antag_datum(/datum/antagonist/cult) || VM.has_antag_datum(/datum/antagonist/changeling) || VM.has_antag_datum(/datum/antagonist/rev) || victim.key[1] == "@") if(!silent) - to_chat(user, "[victim.p_their(TRUE)] mind is resisting your spell!") + to_chat(user, span_warning("[victim.p_their(TRUE)] mind is resisting your spell!")) return FALSE if(istype(victim, /mob/living/simple_animal/hostile/guardian)) var/mob/living/simple_animal/hostile/guardian/stand = victim @@ -41,7 +41,7 @@ //You should not be able to enter one of the most powerful side-antags as a fucking wizard. if(istype(victim,/mob/living/simple_animal/hostile/imp/slaughter)) - to_chat(user, "The devilish contract doesn't include the 'mind swappable' package, please try again another lifetime.") + to_chat(user, span_warning("The devilish contract doesn't include the 'mind swappable' package, please try again another lifetime.")) return //MIND TRANSFER BEGIN @@ -67,11 +67,11 @@ return FALSE if(!isliving(target)) if(!silent) - to_chat(user, "You can only swap minds with living beings!") + to_chat(user, span_warning("You can only swap minds with living beings!")) return FALSE if(user == target) if(!silent) - to_chat(user, "You can't swap minds with yourself!") + to_chat(user, span_warning("You can't swap minds with yourself!")) return FALSE var/mob/living/victim = target @@ -79,25 +79,25 @@ if(ismegafauna(victim)) if(!silent) - to_chat(user, "This creature is too powerful to control!") + to_chat(user, span_warning("This creature is too powerful to control!")) return FALSE if(victim.stat == DEAD) if(!silent) - to_chat(user, "You don't particularly want to be dead!") + to_chat(user, span_warning("You don't particularly want to be dead!")) return FALSE if(!victim.key || !victim.mind) if(!silent) - to_chat(user, "[t_He] appear[victim.p_s()] to be catatonic! Not even magic can affect [victim.p_their()] vacant mind.") + to_chat(user, span_warning("[t_He] appear[victim.p_s()] to be catatonic! Not even magic can affect [victim.p_their()] vacant mind.")) return FALSE if(user.suiciding) if(!silent) - to_chat(user, "You're killing yourself! You can't concentrate enough to do this!") + to_chat(user, span_warning("You're killing yourself! You can't concentrate enough to do this!")) return FALSE if(istype(victim, /mob/living/simple_animal/hostile/guardian)) var/mob/living/simple_animal/hostile/guardian/stand = victim if(stand.summoner) if(stand.summoner == user) if(!silent) - to_chat(user, "Swapping minds with your own guardian would just put you back into your own head!") + to_chat(user, span_warning("Swapping minds with your own guardian would just put you back into your own head!")) return FALSE return TRUE diff --git a/code/modules/spells/spell_types/pointed/pointed.dm b/code/modules/spells/spell_types/pointed/pointed.dm index 1002d34ccb5..bf5d818f2ce 100644 --- a/code/modules/spells/spell_types/pointed/pointed.dm +++ b/code/modules/spells/spell_types/pointed/pointed.dm @@ -17,14 +17,14 @@ return var/msg if(!can_cast(user)) - msg = "You can no longer cast [name]!" + msg = span_warning("You can no longer cast [name]!") remove_ranged_ability(msg) return if(active) - msg = "[deactive_msg]" + msg = span_notice("[deactive_msg]") remove_ranged_ability(msg) else - msg = "[active_msg] Left-click to activate spell on a target!" + msg = span_notice("[active_msg] Left-click to activate spell on a target!") add_ranged_ability(user, msg, TRUE) /obj/effect/proc_holder/spell/pointed/on_lose(mob/living/user) @@ -93,11 +93,11 @@ /obj/effect/proc_holder/spell/pointed/proc/intercept_check(mob/user, atom/target, silent = FALSE) if(!self_castable && target == user) if(!silent) - to_chat(user, "You cannot cast the spell on yourself!") + to_chat(user, span_warning("You cannot cast the spell on yourself!")) return FALSE if(!(target in view_or_range(range, user, selection_type))) if(!silent) - to_chat(user, "[target.p_theyre(TRUE)] too far away!") + to_chat(user, span_warning("[target.p_theyre(TRUE)] too far away!")) return FALSE if(!can_target(target, user, silent)) return FALSE diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm index f6d2dc854c2..01fed6eb2a2 100644 --- a/code/modules/spells/spell_types/rightandwrong.dm +++ b/code/modules/spells/spell_types/rightandwrong.dm @@ -118,7 +118,7 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list( var/in_hand = H.put_in_hands(G) // not always successful - to_chat(H, "\A [G] appears [in_hand ? "in your hand" : "at your feet"]!") + to_chat(H, span_warning("\A [G] appears [in_hand ? "in your hand" : "at your feet"]!")) /proc/give_magic(mob/living/carbon/human/H) if(H.stat == DEAD || !(H.client)) @@ -144,14 +144,14 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list( var/in_hand = H.put_in_hands(M) - to_chat(H, "\A [M] appears [in_hand ? "in your hand" : "at your feet"]!") + to_chat(H, span_warning("\A [M] appears [in_hand ? "in your hand" : "at your feet"]!")) if(lucky) - to_chat(H, "You feel incredibly lucky.") + to_chat(H, span_notice("You feel incredibly lucky.")) /proc/rightandwrong(summon_type, mob/user, survivor_probability) if(user) //in this case either someone holding a spellbook or a badmin - to_chat(user, "You summoned [summon_type]!") + to_chat(user, span_warning("You summoned [summon_type]!")) message_admins("[ADMIN_LOOKUPFLW(user)] summoned [summon_type]!") log_game("[key_name(user)] summoned [summon_type]!") diff --git a/code/modules/spells/spell_types/rod_form.dm b/code/modules/spells/spell_types/rod_form.dm index 9bd0b151117..9d739507785 100644 --- a/code/modules/spells/spell_types/rod_form.dm +++ b/code/modules/spells/spell_types/rod_form.dm @@ -15,7 +15,7 @@ /obj/effect/proc_holder/spell/targeted/rod_form/cast(list/targets,mob/user = usr) var/area/A = get_area(user) if(istype(A, /area/wizard_station)) - to_chat(user, "You know better than to trash Wizard Federation property. Best wait until you leave to use [src].") + to_chat(user, span_warning("You know better than to trash Wizard Federation property. Best wait until you leave to use [src].")) return for(var/mob/living/M in targets) var/turf/start = get_turf(M) @@ -51,8 +51,8 @@ /obj/effect/immovablerod/wizard/penetrate(mob/living/L) if(L.anti_magic_check()) - L.visible_message("[src] hits [L], but it bounces back, then vanishes!" , "[src] hits you... but it bounces back, then vanishes!" , "You hear a weak, sad, CLANG.") + L.visible_message(span_danger("[src] hits [L], but it bounces back, then vanishes!") , span_userdanger("[src] hits you... but it bounces back, then vanishes!") , span_danger("You hear a weak, sad, CLANG.")) qdel(src) return - L.visible_message("[L] is penetrated by an immovable rod!" , "The rod penetrates you!" , "You hear a CLANG!") + L.visible_message(span_danger("[L] is penetrated by an immovable rod!") , span_userdanger("The rod penetrates you!") , span_danger("You hear a CLANG!")) L.adjustBruteLoss(70 + damage_bonus) diff --git a/code/modules/spells/spell_types/shadow_walk.dm b/code/modules/spells/spell_types/shadow_walk.dm index a2dad3ae093..181dc23ff20 100644 --- a/code/modules/spells/spell_types/shadow_walk.dm +++ b/code/modules/spells/spell_types/shadow_walk.dm @@ -22,7 +22,7 @@ return FALSE var/area/noteleport_check = get_area(user) if(noteleport_check && noteleport_check.area_flags & NOTELEPORT) - to_chat(user, "Some dull, universal force is stopping you from melting into the shadows here.") + to_chat(user, span_danger("Some dull, universal force is stopping you from melting into the shadows here.")) return FALSE /obj/effect/proc_holder/spell/targeted/shadowwalk/cast(list/targets,mob/living/user = usr) @@ -36,14 +36,14 @@ var/light_amount = T.get_lumcount() if(light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) playsound(get_turf(user), 'sound/magic/ethereal_enter.ogg', 50, TRUE, -1) - visible_message("[user] melts into the shadows!") + visible_message(span_boldwarning("[user] melts into the shadows!")) user.SetAllImmobility(0) user.setStaminaLoss(0, 0) var/obj/effect/dummy/phased_mob/shadow/S2 = new(get_turf(user.loc)) user.forceMove(S2) S2.jaunter = user else - to_chat(user, "It isn't dark enough here!") + to_chat(user, span_warning("It isn't dark enough here!")) /obj/effect/dummy/phased_mob/shadow var/mob/living/jaunter @@ -76,7 +76,7 @@ /obj/effect/dummy/phased_mob/shadow/phased_check(mob/living/user, direction) . = ..() if(. && isspaceturf(.)) - to_chat(user, "It really would not be wise to go into space.") + to_chat(user, span_warning("It really would not be wise to go into space.")) return FALSE /obj/effect/dummy/phased_mob/shadow/proc/check_light_level() @@ -88,9 +88,9 @@ /obj/effect/dummy/phased_mob/shadow/proc/end_jaunt(forced = FALSE) if(jaunter) if(forced) - visible_message("[jaunter] is revealed by the light!") + visible_message(span_boldwarning("[jaunter] is revealed by the light!")) else - visible_message("[jaunter] emerges from the darkness!") + visible_message(span_boldwarning("[jaunter] emerges from the darkness!")) playsound(loc, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) qdel(src) diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm index d2d04b53f09..ac30b40a25a 100644 --- a/code/modules/spells/spell_types/shapeshift.dm +++ b/code/modules/spells/spell_types/shapeshift.dm @@ -73,7 +73,7 @@ else ourpipeline = pipenets - to_chat(M, "Casting [src] inside of [pipeyoudiein] quickly turns you into a bloody mush!") + to_chat(M, span_userdanger("Casting [src] inside of [pipeyoudiein] quickly turns you into a bloody mush!")) var/gibtype = /obj/effect/gibspawner/generic if(isalien(M)) gibtype = /obj/effect/gibspawner/xeno @@ -101,7 +101,7 @@ /obj/effect/proc_holder/spell/targeted/shapeshift/proc/Shapeshift(mob/living/caster) var/obj/shapeshift_holder/H = locate() in caster if(H) - to_chat(caster, "You're already shapeshifted!") + to_chat(caster, span_warning("You're already shapeshifted!")) return var/mob/living/shape = new shapeshift_type(caster.loc) diff --git a/code/modules/spells/spell_types/soultap.dm b/code/modules/spells/spell_types/soultap.dm index 548f1d5c434..fc7a9395a2f 100644 --- a/code/modules/spells/spell_types/soultap.dm +++ b/code/modules/spells/spell_types/soultap.dm @@ -18,11 +18,11 @@ action_icon_state = "soultap" /obj/effect/proc_holder/spell/self/tap/cast(list/targets, mob/living/user = usr) - to_chat(user, "Your body feels drained and there is a burning pain in your chest.") + to_chat(user, span_danger("Your body feels drained and there is a burning pain in your chest.")) user.maxHealth -= HEALTH_LOST_PER_SOUL_TAP user.health = min(user.health, user.maxHealth) if(user.maxHealth <= 0) - to_chat(user, "Your weakened soul is completely consumed by the tap!") + to_chat(user, span_userdanger("Your weakened soul is completely consumed by the tap!")) return for(var/obj/effect/proc_holder/spell/spell in user.mind.spell_list) spell.charge_counter = spell.charge_max diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm index 80752e3e5d1..ee67eef292d 100644 --- a/code/modules/spells/spell_types/summonitem.dm +++ b/code/modules/spells/spell_types/summonitem.dm @@ -36,17 +36,17 @@ if(!marked_item) if(hand_items) - message = "You aren't holding anything that can be marked for recall!" + message = span_warning("You aren't holding anything that can be marked for recall!") else - message = "You must hold the desired item in your hands to mark it for recall!" + message = span_warning("You must hold the desired item in your hands to mark it for recall!") else if(marked_item && (marked_item in hand_items)) //unlinking item to the spell - message = "You remove the mark on [marked_item] to use elsewhere." + message = span_notice("You remove the mark on [marked_item] to use elsewhere.") name = "Instant Summons" marked_item = null else if(marked_item && QDELETED(marked_item)) //the item was destroyed at some point - message = "You sense your marked item has been destroyed!" + message = span_warning("You sense your marked item has been destroyed!") name = "Instant Summons" marked_item = null @@ -71,9 +71,9 @@ var/mob/M = item_to_retrieve.loc if(issilicon(M)) //Items in silicons warp the whole silicon - M.loc.visible_message("[M] suddenly disappears!") + M.loc.visible_message(span_warning("[M] suddenly disappears!")) M.forceMove(L.loc) - M.loc.visible_message("[M] suddenly appears!") + M.loc.visible_message(span_warning("[M] suddenly appears!")) item_to_retrieve = null break M.dropItemToGround(item_to_retrieve) @@ -92,13 +92,13 @@ return if(item_to_retrieve.loc) - item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly disappears!") + item_to_retrieve.loc.visible_message(span_warning("The [item_to_retrieve.name] suddenly disappears!")) if(!L.put_in_hands(item_to_retrieve)) item_to_retrieve.forceMove(L.drop_location()) - item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly appears!") + item_to_retrieve.loc.visible_message(span_warning("The [item_to_retrieve.name] suddenly appears!")) playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, TRUE) else - item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly appears in [L]'s hand!") + item_to_retrieve.loc.visible_message(span_warning("The [item_to_retrieve.name] suddenly appears in [L]'s hand!")) playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, TRUE) diff --git a/code/modules/spells/spell_types/telepathy.dm b/code/modules/spells/spell_types/telepathy.dm index 1a03c7c1721..054d91f9f6a 100644 --- a/code/modules/spells/spell_types/telepathy.dm +++ b/code/modules/spells/spell_types/telepathy.dm @@ -29,4 +29,4 @@ continue var/follow_rev = FOLLOW_LINK(ded, user) var/follow_whispee = FOLLOW_LINK(ded, M) - to_chat(ded, "[follow_rev] [user] [name]: \"[msg]\" to [follow_whispee] [M]") + to_chat(ded, "[follow_rev] [user] [name]: \"[msg]\" to [follow_whispee] [span_name("[M]")]") diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm index c977fa61107..c5b7df62ada 100644 --- a/code/modules/spells/spell_types/touch_attacks.dm +++ b/code/modules/spells/spell_types/touch_attacks.dm @@ -11,7 +11,7 @@ remove_hand() if(action?.owner) var/mob/guy_who_needs_to_know = action.owner - to_chat(guy_who_needs_to_know, "The power of the spell dissipates from your hand.") + to_chat(guy_who_needs_to_know, span_notice("The power of the spell dissipates from your hand.")) ..() /obj/effect/proc_holder/spell/targeted/touch/proc/remove_hand(recharge = FALSE) @@ -30,7 +30,7 @@ /obj/effect/proc_holder/spell/targeted/touch/cast(list/targets,mob/user = usr) if(!QDELETED(attached_hand)) remove_hand(TRUE) - to_chat(user, "[dropmessage]") + to_chat(user, span_notice("[dropmessage]")) return for(var/mob/living/carbon/C in targets) @@ -51,11 +51,11 @@ if(!user.put_in_hands(attached_hand)) remove_hand(TRUE) if (user.usable_hands == 0) - to_chat(user, "You dont have any usable hands!") + to_chat(user, span_warning("You dont have any usable hands!")) else - to_chat(user, "Your hands are full!") + to_chat(user, span_warning("Your hands are full!")) return FALSE - to_chat(user, "[drawmessage]") + to_chat(user, span_notice("[drawmessage]")) return TRUE diff --git a/code/modules/spells/spell_types/voice_of_god.dm b/code/modules/spells/spell_types/voice_of_god.dm index 37bd94107a1..0fc89e3f3fc 100644 --- a/code/modules/spells/spell_types/voice_of_god.dm +++ b/code/modules/spells/spell_types/voice_of_god.dm @@ -16,7 +16,7 @@ /obj/effect/proc_holder/spell/voice_of_god/can_cast(mob/user = usr) if(!user.can_speak()) - to_chat(user, "You are unable to speak!") + to_chat(user, span_warning("You are unable to speak!")) return FALSE return TRUE diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index e8c50cc29d0..f7445a7749f 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -34,7 +34,7 @@ if(ismob(target)) var/mob/M = target if(M.anti_magic_check()) - M.visible_message("[src] vanishes on contact with [target]!") + M.visible_message(span_warning("[src] vanishes on contact with [target]!")) return BULLET_ACT_BLOCK /obj/effect/proc_holder/spell/targeted/genetic/mutate @@ -288,13 +288,13 @@ var/mob/living/M = AM M.Paralyze(100) M.adjustBruteLoss(5) - to_chat(M, "You're slammed into the floor by [user]!") + to_chat(M, span_userdanger("You're slammed into the floor by [user]!")) else new sparkle_path(get_turf(AM), get_dir(user, AM)) //created sparkles will disappear on their own if(isliving(AM)) var/mob/living/M = AM M.Paralyze(stun_amt) - to_chat(M, "You're thrown back by [user]!") + to_chat(M, span_userdanger("You're thrown back by [user]!")) AM.safe_throw_at(throwtarget, ((clamp((maxthrow - (clamp(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1,user, force = repulse_force)//So stuff gets tossed around at the same time. /obj/effect/proc_holder/spell/aoe_turf/repulse/xeno //i fixed conflicts only to find out that this is in the WIZARD file instead of the xeno file?! diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index 3d8bbb44a06..c0829b4aa40 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -45,7 +45,7 @@ return var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You store linkage information in [I]'s buffer.") + to_chat(user, span_notice("You store linkage information in [I]'s buffer.")) return TRUE /obj/machinery/bsa/front @@ -58,7 +58,7 @@ return var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You store linkage information in [I]'s buffer.") + to_chat(user, span_notice("You store linkage information in [I]'s buffer.")) return TRUE /obj/machinery/bsa/middle @@ -76,13 +76,13 @@ if(istype(M.buffer, /obj/machinery/bsa/back)) back = M.buffer M.buffer = null - to_chat(user, "You link [src] with [back].") + to_chat(user, span_notice("You link [src] with [back].")) else if(istype(M.buffer, /obj/machinery/bsa/front)) front = M.buffer M.buffer = null - to_chat(user, "You link [src] with [front].") + to_chat(user, span_notice("You link [src] with [front].")) else - to_chat(user, "[I]'s data buffer is empty!") + to_chat(user, span_warning("[I]'s data buffer is empty!")) return TRUE /obj/machinery/bsa/middle/proc/check_completion() diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 3b2ff848b33..f0f6251feff 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -87,13 +87,13 @@ if(!H.myseed) return if(!H.harvest)// So it's bit harder. - to_chat(user, "Plant needs to be ready to harvest to perform full data scan.") //Because space dna is actually magic + to_chat(user, span_alert("Plant needs to be ready to harvest to perform full data scan.")) //Because space dna is actually magic return if(plants[H.myseed.type]) - to_chat(user, "Plant data already present in local storage.") + to_chat(user, span_notice("Plant data already present in local storage.")) return plants[H.myseed.type] = 1 - to_chat(user, "Plant data added to local storage.") + to_chat(user, span_notice("Plant data added to local storage.")) //animals var/static/list/non_simple_animals = typecacheof(list(/mob/living/carbon/alien)) @@ -101,22 +101,22 @@ if(isanimal(target)) var/mob/living/simple_animal/A = target if(!A.healable)//simple approximation of being animal not a robot or similar - to_chat(user, "No compatible DNA detected.") + to_chat(user, span_alert("No compatible DNA detected.")) return if(animals[target.type]) - to_chat(user, "Animal data already present in local storage.") + to_chat(user, span_alert("Animal data already present in local storage.")) return animals[target.type] = 1 - to_chat(user, "Animal data added to local storage.") + to_chat(user, span_notice("Animal data added to local storage.")) //humans if(ishuman(target)) var/mob/living/carbon/human/H = target if(dna[H.dna.uni_identity]) - to_chat(user, "Humanoid data already present in local storage.") + to_chat(user, span_notice("Humanoid data already present in local storage.")) return dna[H.dna.uni_identity] = 1 - to_chat(user, "Humanoid data added to local storage.") + to_chat(user, span_notice("Humanoid data added to local storage.")) /obj/machinery/dna_vault name = "DNA Vault" @@ -241,7 +241,7 @@ uploaded++ dna[ui] = 1 check_goal() - to_chat(user, "[uploaded] new datapoints uploaded.") + to_chat(user, span_notice("[uploaded] new datapoints uploaded.")) else return ..() @@ -251,31 +251,31 @@ var/datum/species/S = H.dna.species switch(upgrade_type) if(VAULT_TOXIN) - to_chat(H, "You feel resistant to airborne toxins.") + to_chat(H, span_notice("You feel resistant to airborne toxins.")) if(locate(/obj/item/organ/lungs) in H.internal_organs) var/obj/item/organ/lungs/L = H.internal_organs_slot[ORGAN_SLOT_LUNGS] L.tox_breath_dam_min = 0 L.tox_breath_dam_max = 0 ADD_TRAIT(H, TRAIT_VIRUSIMMUNE, "dna_vault") if(VAULT_NOBREATH) - to_chat(H, "Your lungs feel great.") + to_chat(H, span_notice("Your lungs feel great.")) ADD_TRAIT(H, TRAIT_NOBREATH, "dna_vault") if(VAULT_FIREPROOF) - to_chat(H, "You feel fireproof.") + to_chat(H, span_notice("You feel fireproof.")) S.burnmod = 0.5 ADD_TRAIT(H, TRAIT_RESISTHEAT, "dna_vault") ADD_TRAIT(H, TRAIT_NOFIRE, "dna_vault") if(VAULT_STUNTIME) - to_chat(H, "Nothing can keep you down for long.") + to_chat(H, span_notice("Nothing can keep you down for long.")) S.stunmod = 0.5 if(VAULT_ARMOUR) - to_chat(H, "You feel tough.") + to_chat(H, span_notice("You feel tough.")) S.armor = 30 ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "dna_vault") if(VAULT_SPEED) - to_chat(H, "Your legs feel faster.") + to_chat(H, span_notice("Your legs feel faster.")) H.add_movespeed_modifier(/datum/movespeed_modifier/dna_vault_speedup) if(VAULT_QUICK) - to_chat(H, "Your arms move as fast as lightning.") + to_chat(H, span_notice("Your arms move as fast as lightning.")) H.next_move_modifier = 0.5 power_lottery[H] = list() diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 5d199824b5b..9e4e69eb7fa 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -121,10 +121,10 @@ /obj/machinery/satellite/proc/toggle(mob/user) if(!active && !isinspace()) if(user) - to_chat(user, "You can only activate [src] in space.") + to_chat(user, span_warning("You can only activate [src] in space.")) return FALSE if(user) - to_chat(user, "You [active ? "deactivate": "activate"] [src].") + to_chat(user, span_notice("You [active ? "deactivate": "activate"] [src].")) set_anchored(!anchored) return TRUE @@ -134,7 +134,7 @@ /obj/machinery/satellite/multitool_act(mob/living/user, obj/item/I) ..() - to_chat(user, "// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[(obj_flags & EMAGGED) ? "DEBUG_MODE //" : ""]") + to_chat(user, span_notice("// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[(obj_flags & EMAGGED) ? "DEBUG_MODE //" : ""]")) return TRUE /obj/machinery/satellite/meteor_shield @@ -186,6 +186,6 @@ if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - to_chat(user, "You access the satellite's debug mode, increasing the chance of meteor strikes.") + to_chat(user, span_notice("You access the satellite's debug mode, increasing the chance of meteor strikes.")) if(active) change_meteor_chance(2) diff --git a/code/modules/station_goals/station_goal.dm b/code/modules/station_goals/station_goal.dm index 6f123501371..49274165b46 100644 --- a/code/modules/station_goals/station_goal.dm +++ b/code/modules/station_goals/station_goal.dm @@ -25,9 +25,9 @@ GLOBAL_LIST_EMPTY_TYPED(station_goals, /datum/station_goal) /datum/station_goal/proc/get_result() if(check_completion()) - return "
  3. [name] : Completed!
  4. " + return "
  5. [name] : [span_greentext("Completed!")]
  6. " else - return "
  7. [name] : Failed!
  8. " + return "
  9. [name] : [span_redtext("Failed!")]
  10. " /datum/station_goal/Destroy() GLOB.station_goals -= src diff --git a/code/modules/surgery/advanced/bioware/cortex_folding.dm b/code/modules/surgery/advanced/bioware/cortex_folding.dm index f305d4f9bdf..76f0fadf229 100644 --- a/code/modules/surgery/advanced/bioware/cortex_folding.dm +++ b/code/modules/surgery/advanced/bioware/cortex_folding.dm @@ -25,26 +25,26 @@ time = 125 /datum/surgery_step/fold_cortex/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start folding [target]'s outer cerebral cortex into a fractal pattern.", - "[user] starts folding [target]'s outer cerebral cortex into a fractal pattern.", - "[user] begins to perform surgery on [target]'s brain.") + display_results(user, target, span_notice("You start folding [target]'s outer cerebral cortex into a fractal pattern."), + span_notice("[user] starts folding [target]'s outer cerebral cortex into a fractal pattern."), + span_notice("[user] begins to perform surgery on [target]'s brain.")) /datum/surgery_step/fold_cortex/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You fold [target]'s outer cerebral cortex into a fractal pattern!", - "[user] folds [target]'s outer cerebral cortex into a fractal pattern!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_notice("You fold [target]'s outer cerebral cortex into a fractal pattern!"), + span_notice("[user] folds [target]'s outer cerebral cortex into a fractal pattern!"), + span_notice("[user] completes the surgery on [target]'s brain.")) new /datum/bioware/cortex_fold(target) return ..() /datum/surgery_step/fold_cortex/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.getorganslot(ORGAN_SLOT_BRAIN)) - display_results(user, target, "You screw up, damaging the brain!", - "[user] screws up, damaging the brain!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_warning("You screw up, damaging the brain!"), + span_warning("[user] screws up, damaging the brain!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) else - user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.") + user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) return FALSE /datum/bioware/cortex_fold diff --git a/code/modules/surgery/advanced/bioware/cortex_imprint.dm b/code/modules/surgery/advanced/bioware/cortex_imprint.dm index 1a066ef7adb..e063ed13f23 100644 --- a/code/modules/surgery/advanced/bioware/cortex_imprint.dm +++ b/code/modules/surgery/advanced/bioware/cortex_imprint.dm @@ -25,26 +25,26 @@ time = 125 /datum/surgery_step/imprint_cortex/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start carving [target]'s outer cerebral cortex into a self-imprinting pattern.", - "[user] starts carving [target]'s outer cerebral cortex into a self-imprinting pattern.", - "[user] begins to perform surgery on [target]'s brain.") + display_results(user, target, span_notice("You start carving [target]'s outer cerebral cortex into a self-imprinting pattern."), + span_notice("[user] starts carving [target]'s outer cerebral cortex into a self-imprinting pattern."), + span_notice("[user] begins to perform surgery on [target]'s brain.")) /datum/surgery_step/imprint_cortex/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You reshape [target]'s outer cerebral cortex into a self-imprinting pattern!", - "[user] reshapes [target]'s outer cerebral cortex into a self-imprinting pattern!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_notice("You reshape [target]'s outer cerebral cortex into a self-imprinting pattern!"), + span_notice("[user] reshapes [target]'s outer cerebral cortex into a self-imprinting pattern!"), + span_notice("[user] completes the surgery on [target]'s brain.")) new /datum/bioware/cortex_imprint(target) return ..() /datum/surgery_step/imprint_cortex/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.getorganslot(ORGAN_SLOT_BRAIN)) - display_results(user, target, "You screw up, damaging the brain!", - "[user] screws up, damaging the brain!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_warning("You screw up, damaging the brain!"), + span_warning("[user] screws up, damaging the brain!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) else - user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.") + user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) return FALSE /datum/bioware/cortex_imprint diff --git a/code/modules/surgery/advanced/bioware/ligament_hook.dm b/code/modules/surgery/advanced/bioware/ligament_hook.dm index 30ce9a153ff..514725ab2cb 100644 --- a/code/modules/surgery/advanced/bioware/ligament_hook.dm +++ b/code/modules/surgery/advanced/bioware/ligament_hook.dm @@ -19,14 +19,14 @@ time = 125 /datum/surgery_step/reshape_ligaments/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start reshaping [target]'s ligaments into a hook-like shape.", - "[user] starts reshaping [target]'s ligaments into a hook-like shape.", - "[user] starts manipulating [target]'s ligaments.") + display_results(user, target, span_notice("You start reshaping [target]'s ligaments into a hook-like shape."), + span_notice("[user] starts reshaping [target]'s ligaments into a hook-like shape."), + span_notice("[user] starts manipulating [target]'s ligaments.")) /datum/surgery_step/reshape_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You reshape [target]'s ligaments into a connective hook!", - "[user] reshapes [target]'s ligaments into a connective hook!", - "[user] finishes manipulating [target]'s ligaments.") + display_results(user, target, span_notice("You reshape [target]'s ligaments into a connective hook!"), + span_notice("[user] reshapes [target]'s ligaments into a connective hook!"), + span_notice("[user] finishes manipulating [target]'s ligaments.")) new /datum/bioware/hooked_ligaments(target) return ..() diff --git a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm index 98296b340d1..7a6e3e8339c 100644 --- a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm +++ b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm @@ -19,14 +19,14 @@ time = 125 /datum/surgery_step/reinforce_ligaments/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start reinforcing [target]'s ligaments.", - "[user] starts reinforce [target]'s ligaments.", - "[user] starts manipulating [target]'s ligaments.") + display_results(user, target, span_notice("You start reinforcing [target]'s ligaments."), + span_notice("[user] starts reinforce [target]'s ligaments."), + span_notice("[user] starts manipulating [target]'s ligaments.")) /datum/surgery_step/reinforce_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You reinforce [target]'s ligaments!", - "[user] reinforces [target]'s ligaments!", - "[user] finishes manipulating [target]'s ligaments.") + display_results(user, target, span_notice("You reinforce [target]'s ligaments!"), + span_notice("[user] reinforces [target]'s ligaments!"), + span_notice("[user] finishes manipulating [target]'s ligaments.")) new /datum/bioware/reinforced_ligaments(target) return ..() diff --git a/code/modules/surgery/advanced/bioware/muscled_veins.dm b/code/modules/surgery/advanced/bioware/muscled_veins.dm index dbb4cd175b2..34b8494e32e 100644 --- a/code/modules/surgery/advanced/bioware/muscled_veins.dm +++ b/code/modules/surgery/advanced/bioware/muscled_veins.dm @@ -18,14 +18,14 @@ time = 125 /datum/surgery_step/muscled_veins/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start wrapping muscles around [target]'s circulatory system.", - "[user] starts wrapping muscles around [target]'s circulatory system.", - "[user] starts manipulating [target]'s circulatory system.") + display_results(user, target, span_notice("You start wrapping muscles around [target]'s circulatory system."), + span_notice("[user] starts wrapping muscles around [target]'s circulatory system."), + span_notice("[user] starts manipulating [target]'s circulatory system.")) /datum/surgery_step/muscled_veins/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You reshape [target]'s circulatory system, adding a muscled membrane!", - "[user] reshapes [target]'s circulatory system, adding a muscled membrane!", - "[user] finishes manipulating [target]'s circulatory system.") + display_results(user, target, span_notice("You reshape [target]'s circulatory system, adding a muscled membrane!"), + span_notice("[user] reshapes [target]'s circulatory system, adding a muscled membrane!"), + span_notice("[user] finishes manipulating [target]'s circulatory system.")) new /datum/bioware/muscled_veins(target) return ..() diff --git a/code/modules/surgery/advanced/bioware/nerve_grounding.dm b/code/modules/surgery/advanced/bioware/nerve_grounding.dm index 06331dc5b8b..1c6f5cd6ea0 100644 --- a/code/modules/surgery/advanced/bioware/nerve_grounding.dm +++ b/code/modules/surgery/advanced/bioware/nerve_grounding.dm @@ -18,14 +18,14 @@ time = 155 /datum/surgery_step/ground_nerves/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start rerouting [target]'s nerves.", - "[user] starts rerouting [target]'s nerves.", - "[user] starts manipulating [target]'s nervous system.") + display_results(user, target, span_notice("You start rerouting [target]'s nerves."), + span_notice("[user] starts rerouting [target]'s nerves."), + span_notice("[user] starts manipulating [target]'s nervous system.")) /datum/surgery_step/ground_nerves/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You successfully reroute [target]'s nervous system!", - "[user] successfully reroutes [target]'s nervous system!", - "[user] finishes manipulating [target]'s nervous system.") + display_results(user, target, span_notice("You successfully reroute [target]'s nervous system!"), + span_notice("[user] successfully reroutes [target]'s nervous system!"), + span_notice("[user] finishes manipulating [target]'s nervous system.")) new /datum/bioware/grounded_nerves(target) return ..() diff --git a/code/modules/surgery/advanced/bioware/nerve_splicing.dm b/code/modules/surgery/advanced/bioware/nerve_splicing.dm index 121456896ca..242b56e8b65 100644 --- a/code/modules/surgery/advanced/bioware/nerve_splicing.dm +++ b/code/modules/surgery/advanced/bioware/nerve_splicing.dm @@ -18,14 +18,14 @@ time = 155 /datum/surgery_step/splice_nerves/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start splicing together [target]'s nerves.", - "[user] starts splicing together [target]'s nerves.", - "[user] starts manipulating [target]'s nervous system.") + display_results(user, target, span_notice("You start splicing together [target]'s nerves."), + span_notice("[user] starts splicing together [target]'s nerves."), + span_notice("[user] starts manipulating [target]'s nervous system.")) /datum/surgery_step/splice_nerves/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You successfully splice [target]'s nervous system!", - "[user] successfully splices [target]'s nervous system!", - "[user] finishes manipulating [target]'s nervous system.") + display_results(user, target, span_notice("You successfully splice [target]'s nervous system!"), + span_notice("[user] successfully splices [target]'s nervous system!"), + span_notice("[user] finishes manipulating [target]'s nervous system.")) new /datum/bioware/spliced_nerves(target) return ..() diff --git a/code/modules/surgery/advanced/bioware/vein_threading.dm b/code/modules/surgery/advanced/bioware/vein_threading.dm index 19da70fd848..364c4fe63e9 100644 --- a/code/modules/surgery/advanced/bioware/vein_threading.dm +++ b/code/modules/surgery/advanced/bioware/vein_threading.dm @@ -18,14 +18,14 @@ time = 125 /datum/surgery_step/thread_veins/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start weaving [target]'s circulatory system.", - "[user] starts weaving [target]'s circulatory system.", - "[user] starts manipulating [target]'s circulatory system.") + display_results(user, target, span_notice("You start weaving [target]'s circulatory system."), + span_notice("[user] starts weaving [target]'s circulatory system."), + span_notice("[user] starts manipulating [target]'s circulatory system.")) /datum/surgery_step/thread_veins/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You weave [target]'s circulatory system into a resistant mesh!", - "[user] weaves [target]'s circulatory system into a resistant mesh!", - "[user] finishes manipulating [target]'s circulatory system.") + display_results(user, target, span_notice("You weave [target]'s circulatory system into a resistant mesh!"), + span_notice("[user] weaves [target]'s circulatory system into a resistant mesh!"), + span_notice("[user] finishes manipulating [target]'s circulatory system.")) new /datum/bioware/threaded_veins(target) return ..() diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm index 45e2539de3b..3d88d619031 100644 --- a/code/modules/surgery/advanced/brainwashing.dm +++ b/code/modules/surgery/advanced/brainwashing.dm @@ -39,21 +39,21 @@ objective = stripped_input(user, "Choose the objective to imprint on your victim's brain.", "Brainwashing", null, MAX_MESSAGE_LEN) if(!objective) return -1 - display_results(user, target, "You begin to brainwash [target]...", - "[user] begins to fix [target]'s brain.", - "[user] begins to perform surgery on [target]'s brain.") + display_results(user, target, span_notice("You begin to brainwash [target]..."), + span_notice("[user] begins to fix [target]'s brain."), + span_notice("[user] begins to perform surgery on [target]'s brain.")) /datum/surgery_step/brainwash/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(!target.mind) - to_chat(user, "[target] doesn't respond to the brainwashing, as if [target.p_they()] lacked a mind...") + to_chat(user, span_warning("[target] doesn't respond to the brainwashing, as if [target.p_they()] lacked a mind...")) return FALSE if(HAS_TRAIT(target, TRAIT_MINDSHIELD)) - to_chat(user, "You hear a faint buzzing from a device inside [target]'s brain, and the brainwashing is erased.") + to_chat(user, span_warning("You hear a faint buzzing from a device inside [target]'s brain, and the brainwashing is erased.")) return FALSE - display_results(user, target, "You succeed in brainwashing [target].", - "[user] successfully fixes [target]'s brain!", - "[user] completes the surgery on [target]'s brain.") - to_chat(target, "A new compulsion fills your mind... you feel forced to obey it!") + display_results(user, target, span_notice("You succeed in brainwashing [target]."), + span_notice("[user] successfully fixes [target]'s brain!"), + span_notice("[user] completes the surgery on [target]'s brain.")) + to_chat(target, span_userdanger("A new compulsion fills your mind... you feel forced to obey it!")) brainwash(target, objective) message_admins("[ADMIN_LOOKUPFLW(user)] surgically brainwashed [ADMIN_LOOKUPFLW(target)] with the objective '[objective]'.") target.log_message("has been brainwashed with the objective '[objective]' by [key_name(user)] using brainwashing surgery.", LOG_ATTACK) @@ -63,10 +63,10 @@ /datum/surgery_step/brainwash/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.getorganslot(ORGAN_SLOT_BRAIN)) - display_results(user, target, "You screw up, bruising the brain tissue!", - "[user] screws up, causing brain damage!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_warning("You screw up, bruising the brain tissue!"), + span_warning("[user] screws up, causing brain damage!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 40) else - user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.") + user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) return FALSE diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm index 2151dbbdf6e..0c0046dfe5d 100644 --- a/code/modules/surgery/advanced/lobotomy.dm +++ b/code/modules/surgery/advanced/lobotomy.dm @@ -37,14 +37,14 @@ return TRUE /datum/surgery_step/lobotomize/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to perform a lobotomy on [target]'s brain...", - "[user] begins to perform a lobotomy on [target]'s brain.", - "[user] begins to perform surgery on [target]'s brain.") + display_results(user, target, span_notice("You begin to perform a lobotomy on [target]'s brain..."), + span_notice("[user] begins to perform a lobotomy on [target]'s brain."), + span_notice("[user] begins to perform surgery on [target]'s brain.")) /datum/surgery_step/lobotomize/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You succeed in lobotomizing [target].", - "[user] successfully lobotomizes [target]!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_notice("You succeed in lobotomizing [target]."), + span_notice("[user] successfully lobotomizes [target]!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target.cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY) if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed)) target.mind.remove_antag_datum(/datum/antagonist/brainwashed) @@ -63,9 +63,9 @@ /datum/surgery_step/lobotomize/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/brain/target_brain = target.getorganslot(ORGAN_SLOT_BRAIN) if(target_brain) - display_results(user, target, "You remove the wrong part, causing more damage!", - "[user] successfully lobotomizes [target]!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_warning("You remove the wrong part, causing more damage!"), + span_notice("[user] successfully lobotomizes [target]!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target_brain.applyOrganDamage(80) switch(rand(1,3)) if(1) @@ -78,5 +78,5 @@ if(3) target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_MAGIC) else - user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.") + user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) return FALSE diff --git a/code/modules/surgery/advanced/necrotic_revival.dm b/code/modules/surgery/advanced/necrotic_revival.dm index dae5127f3a4..57906b044de 100644 --- a/code/modules/surgery/advanced/necrotic_revival.dm +++ b/code/modules/surgery/advanced/necrotic_revival.dm @@ -27,14 +27,14 @@ require_all_chems = FALSE /datum/surgery_step/bionecrosis/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to grow a romerol tumor on [target]'s brain...", - "[user] begins to tinker with [target]'s brain...", - "[user] begins to perform surgery on [target]'s brain.") + display_results(user, target, span_notice("You begin to grow a romerol tumor on [target]'s brain..."), + span_notice("[user] begins to tinker with [target]'s brain..."), + span_notice("[user] begins to perform surgery on [target]'s brain.")) /datum/surgery_step/bionecrosis/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You succeed in growing a romerol tumor on [target]'s brain.", - "[user] successfully grows a romerol tumor on [target]'s brain!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_notice("You succeed in growing a romerol tumor on [target]'s brain."), + span_notice("[user] successfully grows a romerol tumor on [target]'s brain!"), + span_notice("[user] completes the surgery on [target]'s brain.")) if(!target.getorganslot(ORGAN_SLOT_ZOMBIE)) var/obj/item/organ/zombie_infection/z_infection = new() z_infection.Insert(target) diff --git a/code/modules/surgery/advanced/pacification.dm b/code/modules/surgery/advanced/pacification.dm index 723701e9c34..9e023ffdd81 100644 --- a/code/modules/surgery/advanced/pacification.dm +++ b/code/modules/surgery/advanced/pacification.dm @@ -28,20 +28,20 @@ time = 40 /datum/surgery_step/pacify/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to pacify [target]...", - "[user] begins to fix [target]'s brain.", - "[user] begins to perform surgery on [target]'s brain.") + display_results(user, target, span_notice("You begin to pacify [target]..."), + span_notice("[user] begins to fix [target]'s brain."), + span_notice("[user] begins to perform surgery on [target]'s brain.")) /datum/surgery_step/pacify/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You succeed in neurologically pacifying [target].", - "[user] successfully fixes [target]'s brain!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_notice("You succeed in neurologically pacifying [target]."), + span_notice("[user] successfully fixes [target]'s brain!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target.gain_trauma(/datum/brain_trauma/severe/pacifism, TRAUMA_RESILIENCE_LOBOTOMY) return ..() /datum/surgery_step/pacify/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You screw up, rewiring [target]'s brain the wrong way around...", - "[user] screws up, causing brain damage!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_notice("You screw up, rewiring [target]'s brain the wrong way around..."), + span_warning("[user] screws up, causing brain damage!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) return FALSE diff --git a/code/modules/surgery/advanced/viral_bonding.dm b/code/modules/surgery/advanced/viral_bonding.dm index 20db02a2fe7..b32f81069f0 100644 --- a/code/modules/surgery/advanced/viral_bonding.dm +++ b/code/modules/surgery/advanced/viral_bonding.dm @@ -35,14 +35,14 @@ return TRUE /datum/surgery_step/viral_bond/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You start heating [target]'s bone marrow with [tool]...", - "[user] starts heating [target]'s bone marrow with [tool]...", - "[user] starts heating something in [target]'s chest with [tool]...") + display_results(user, target, span_notice("You start heating [target]'s bone marrow with [tool]..."), + span_notice("[user] starts heating [target]'s bone marrow with [tool]..."), + span_notice("[user] starts heating something in [target]'s chest with [tool]...")) /datum/surgery_step/viral_bond/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) - display_results(user, target, "[target]'s bone marrow begins pulsing slowly. The viral bonding is complete.", - "[target]'s bone marrow begins pulsing slowly.", - "[user] finishes the operation.") + display_results(user, target, span_notice("[target]'s bone marrow begins pulsing slowly. The viral bonding is complete."), + span_notice("[target]'s bone marrow begins pulsing slowly."), + span_notice("[user] finishes the operation.")) for(var/datum/disease/infected_disease as anything in target.diseases) infected_disease.carrier = TRUE return TRUE diff --git a/code/modules/surgery/advanced/wingreconstruction.dm b/code/modules/surgery/advanced/wingreconstruction.dm index 309946ef6cc..0d5517fb617 100644 --- a/code/modules/surgery/advanced/wingreconstruction.dm +++ b/code/modules/surgery/advanced/wingreconstruction.dm @@ -25,16 +25,16 @@ require_all_chems = FALSE /datum/surgery_step/wing_reconstruction/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to fix [target]'s charred wing membranes...", - "[user] begins to fix [target]'s charred wing membranes.", - "[user] begins to perform surgery on [target]'s charred wing membranes.") + display_results(user, target, span_notice("You begin to fix [target]'s charred wing membranes..."), + span_notice("[user] begins to fix [target]'s charred wing membranes."), + span_notice("[user] begins to perform surgery on [target]'s charred wing membranes.")) /datum/surgery_step/wing_reconstruction/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) var/mob/living/carbon/human/human_target = target - display_results(user, target, "You succeed in reconstructing [target]'s wings.", - "[user] successfully reconstructs [target]'s wings!", - "[user] completes the surgery on [target]'s wings.") + display_results(user, target, span_notice("You succeed in reconstructing [target]'s wings."), + span_notice("[user] successfully reconstructs [target]'s wings!"), + span_notice("[user] completes the surgery on [target]'s wings.")) if(human_target.dna.features["original_moth_wings"] != null) human_target.dna.features["moth_wings"] = human_target.dna.features["original_moth_wings"] else diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index 8b4b1b6ce09..1006b03308f 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -26,14 +26,14 @@ time = 64 /datum/surgery_step/sever_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to sever [target]'s [parse_zone(target_zone)]...", - "[user] begins to sever [target]'s [parse_zone(target_zone)]!", - "[user] begins to sever [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You begin to sever [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to sever [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] begins to sever [target]'s [parse_zone(target_zone)]!")) /datum/surgery_step/sever_limb/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You sever [target]'s [parse_zone(target_zone)].", - "[user] severs [target]'s [parse_zone(target_zone)]!", - "[user] severs [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You sever [target]'s [parse_zone(target_zone)]."), + span_notice("[user] severs [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] severs [target]'s [parse_zone(target_zone)]!")) if(surgery.operated_bodypart) var/obj/item/bodypart/target_limb = surgery.operated_bodypart target_limb.drop_limb() diff --git a/code/modules/surgery/blood_filter.dm b/code/modules/surgery/blood_filter.dm index a1bf8ab2b05..5fc11aba22f 100644 --- a/code/modules/surgery/blood_filter.dm +++ b/code/modules/surgery/blood_filter.dm @@ -23,21 +23,21 @@ time = 2.5 SECONDS /datum/surgery_step/filter_blood/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin filtering [target]'s blood...", - "[user] uses [tool] to filter [target]'s blood.", - "[user] uses [tool] on [target]'s chest.") + display_results(user, target, span_notice("You begin filtering [target]'s blood..."), + span_notice("[user] uses [tool] to filter [target]'s blood."), + span_notice("[user] uses [tool] on [target]'s chest.")) /datum/surgery_step/filter_blood/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(target.reagents?.total_volume) for(var/datum/reagent/chem as anything in target.reagents.reagent_list) target.reagents.remove_reagent(chem.type, min(chem.volume * 0.22, 10)) - display_results(user, target, "\The [tool] pings as it finishes filtering [target]'s blood.", - "\The [tool] pings as it stops pumping [target]'s blood.", + display_results(user, target, span_notice("\The [tool] pings as it finishes filtering [target]'s blood."), + span_notice("\The [tool] pings as it stops pumping [target]'s blood."), "\The [tool] pings as it stops pumping.") return ..() /datum/surgery_step/filter_blood/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You screw up, bruising [target]'s chest!", - "[user] screws up, brusing [target]'s chest!", - "[user] screws up!") + display_results(user, target, span_warning("You screw up, bruising [target]'s chest!"), + span_warning("[user] screws up, brusing [target]'s chest!"), + span_warning("[user] screws up!")) target.adjustBruteLoss(5) diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 6d78c45bf96..d592fbfcbda 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -129,18 +129,18 @@ /obj/item/bodypart/examine(mob/user) . = ..() if(brute_dam > DAMAGE_PRECISION) - . += "This limb has [brute_dam > 30 ? "severe" : "minor"] bruising." + . += span_warning("This limb has [brute_dam > 30 ? "severe" : "minor"] bruising.") if(burn_dam > DAMAGE_PRECISION) - . += "This limb has [burn_dam > 30 ? "severe" : "minor"] burns." + . += span_warning("This limb has [burn_dam > 30 ? "severe" : "minor"] burns.") if(locate(/datum/wound/blunt) in wounds) - . += "The bones in this limb appear badly cracked." + . += span_warning("The bones in this limb appear badly cracked.") if(locate(/datum/wound/slash) in wounds) - . += "The flesh on this limb appears badly lacerated." + . += span_warning("The flesh on this limb appears badly lacerated.") if(locate(/datum/wound/pierce) in wounds) - . += "The flesh on this limb appears badly perforated." + . += span_warning("The flesh on this limb appears badly perforated.") if(locate(/datum/wound/burn) in wounds) - . += "The flesh on this limb appears badly cooked." + . += span_warning("The flesh on this limb appears badly cooked.") /obj/item/bodypart/blob_act() take_damage(max_damage) @@ -153,14 +153,14 @@ if(!human_victim.get_bodypart(body_zone) && !animal_origin) user.temporarilyRemoveItemFromInventory(src, TRUE) if(!attach_limb(victim)) - to_chat(user, "[human_victim]'s body rejects [src]!") + to_chat(user, span_warning("[human_victim]'s body rejects [src]!")) forceMove(human_victim.loc) if(human_victim == user) - human_victim.visible_message("[human_victim] jams [src] into [human_victim.p_their()] empty socket!",\ - "You force [src] into your empty socket, and it locks into place!") + human_victim.visible_message(span_warning("[human_victim] jams [src] into [human_victim.p_their()] empty socket!"),\ + span_notice("You force [src] into your empty socket, and it locks into place!")) else - human_victim.visible_message("[user] jams [src] into [human_victim]'s empty socket!",\ - "[user] forces [src] into your empty socket, and it locks into place!") + human_victim.visible_message(span_warning("[user] jams [src] into [human_victim]'s empty socket!"),\ + span_notice("[user] forces [src] into your empty socket, and it locks into place!")) return ..() @@ -168,11 +168,11 @@ if(weapon.get_sharpness()) add_fingerprint(user) if(!contents.len) - to_chat(user, "There is nothing left inside [src]!") + to_chat(user, span_warning("There is nothing left inside [src]!")) return playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1) - user.visible_message("[user] begins to cut open [src].",\ - "You begin to cut open [src]...") + user.visible_message(span_warning("[user] begins to cut open [src]."),\ + span_notice("You begin to cut open [src]...")) if(do_after(user, 54, target = src)) drop_organs(user, TRUE) else @@ -937,7 +937,7 @@ dam_mul *= iter_wound.damage_mulitplier_penalty if(!LAZYLEN(wounds) && current_gauze && !replaced) // no more wounds = no need for the gauze anymore - owner.visible_message("\The [current_gauze] on [owner]'s [name] falls away.", "The [current_gauze] on your [name] falls away.") + owner.visible_message(span_notice("\The [current_gauze] on [owner]'s [name] falls away."), span_notice("The [current_gauze] on your [name] falls away.")) QDEL_NULL(current_gauze) wound_damage_multiplier = dam_mul @@ -1009,7 +1009,7 @@ return current_gauze.absorption_capacity -= seep_amt if(current_gauze.absorption_capacity <= 0) - owner.visible_message("\The [current_gauze] on [owner]'s [name] falls away in rags.", "\The [current_gauze] on your [name] falls away in rags.", vision_distance=COMBAT_MESSAGE_RANGE) + owner.visible_message(span_danger("\The [current_gauze] on [owner]'s [name] falls away in rags."), span_warning("\The [current_gauze] on your [name] falls away in rags."), vision_distance=COMBAT_MESSAGE_RANGE) QDEL_NULL(current_gauze) SEND_SIGNAL(src, COMSIG_BODYPART_GAUZE_DESTROYED) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 49b84c0c6fb..b9ec164b0f9 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -16,7 +16,7 @@ var/obj/item/bodypart/affecting = limb_owner.get_bodypart(BODY_ZONE_CHEST) affecting.receive_damage(clamp(brute_dam/2 * affecting.body_damage_coeff, 15, 50), clamp(burn_dam/2 * affecting.body_damage_coeff, 0, 50), wound_bonus=CANT_WOUND) //Damage the chest based on limb's existing damage if(!silent) - limb_owner.visible_message("[limb_owner]'s [name] is violently dismembered!") + limb_owner.visible_message(span_danger("[limb_owner]'s [name] is violently dismembered!")) INVOKE_ASYNC(limb_owner, /mob.proc/emote, "scream") playsound(get_turf(limb_owner), 'sound/effects/dismember.ogg', 80, TRUE) SEND_SIGNAL(limb_owner, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered) @@ -118,7 +118,7 @@ if(phantom_owner.dna) for(var/datum/mutation/human/mutation as anything in phantom_owner.dna.mutations) //some mutations require having specific limbs to be kept. if(mutation.limb_req && mutation.limb_req == body_zone) - to_chat(phantom_owner, "You feel your [mutation] deactivating from the loss of your [body_zone]!") + to_chat(phantom_owner, span_warning("You feel your [mutation] deactivating from the loss of your [body_zone]!")) phantom_owner.dna.force_lose(mutation) for(var/obj/item/organ/organ as anything in phantom_owner.internal_organs) //internal organs inside the dismembered limb are dropped. diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 866f6cfff46..ff764cd2428 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -71,29 +71,29 @@ . = ..() if(status == BODYPART_ORGANIC) if(!brain) - . += "The brain has been removed from [src]." + . += span_info("The brain has been removed from [src].") else if(brain.suicided || brainmob?.suiciding) - . += "There's a miserable expression on [real_name]'s face; they must have really hated life. There's no hope of recovery." + . += span_info("There's a miserable expression on [real_name]'s face; they must have really hated life. There's no hope of recovery.") else if(brainmob?.health <= HEALTH_THRESHOLD_DEAD) - . += "It's leaking some kind of... clear fluid? The brain inside must be in pretty bad shape." + . += span_info("It's leaking some kind of... clear fluid? The brain inside must be in pretty bad shape.") else if(brainmob) if(brainmob.key || brainmob.get_ghost(FALSE, TRUE)) - . += "Its muscles are twitching slightly... It seems to have some life still in it." + . += span_info("Its muscles are twitching slightly... It seems to have some life still in it.") else - . += "It's completely lifeless. Perhaps there'll be a chance for them later." + . += span_info("It's completely lifeless. Perhaps there'll be a chance for them later.") else if(brain?.decoy_override) - . += "It's completely lifeless. Perhaps there'll be a chance for them later." + . += span_info("It's completely lifeless. Perhaps there'll be a chance for them later.") else - . += "It's completely lifeless." + . += span_info("It's completely lifeless.") if(!eyes) - . += "[real_name]'s eyes have been removed." + . += span_info("[real_name]'s eyes have been removed.") if(!ears) - . += "[real_name]'s ears have been removed." + . += span_info("[real_name]'s ears have been removed.") if(!tongue) - . += "[real_name]'s tongue has been removed." + . += span_info("[real_name]'s tongue has been removed.") /obj/item/bodypart/head/can_dismember(obj/item/item) @@ -108,14 +108,14 @@ for(var/obj/item/head_item in src) if(head_item == brain) if(user) - user.visible_message("[user] saws [src] open and pulls out a brain!", "You saw [src] open and pull out a brain.") + user.visible_message(span_warning("[user] saws [src] open and pulls out a brain!"), span_notice("You saw [src] open and pull out a brain.")) if(brainmob) brainmob.container = null brainmob.forceMove(brain) brain.brainmob = brainmob brainmob = null if(violent_removal && prob(rand(80, 100))) //ghetto surgery can damage the brain. - to_chat(user, "[brain] was damaged in the process!") + to_chat(user, span_warning("[brain] was damaged in the process!")) brain.setOrganDamage(brain.maxHealth) brain.forceMove(head_turf) brain = null diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 7c806bb22a7..ebe8d64dd26 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -117,7 +117,7 @@ if(bodypart_disabled) owner.set_usable_hands(owner.usable_hands - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, "Your lose control of your [name]!") + to_chat(owner, span_userdanger("Your lose control of your [name]!")) if(held_index) owner.dropItemToGround(owner.get_item_for_held_index(held_index)) else if(!bodypart_disabled) @@ -212,7 +212,7 @@ if(bodypart_disabled) owner.set_usable_hands(owner.usable_hands - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, "Your lose control of your [name]!") + to_chat(owner, span_userdanger("Your lose control of your [name]!")) if(held_index) owner.dropItemToGround(owner.get_item_for_held_index(held_index)) else if(!bodypart_disabled) @@ -304,7 +304,7 @@ if(bodypart_disabled) owner.set_usable_legs(owner.usable_legs - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, "Your lose control of your [name]!") + to_chat(owner, span_userdanger("Your lose control of your [name]!")) else if(!bodypart_disabled) owner.set_usable_legs(owner.usable_legs + 1) @@ -395,7 +395,7 @@ if(bodypart_disabled) owner.set_usable_legs(owner.usable_legs - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, "Your lose control of your [name]!") + to_chat(owner, span_userdanger("Your lose control of your [name]!")) else if(!bodypart_disabled) owner.set_usable_legs(owner.usable_legs + 1) diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index 349f1eebdc3..21384097bd0 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -140,23 +140,23 @@ /obj/item/bodypart/chest/robot/attackby(obj/item/weapon, mob/user, params) if(istype(weapon, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, "You have already inserted a cell!") + to_chat(user, span_warning("You have already inserted a cell!")) return else if(!user.transferItemToLoc(weapon, src)) return cell = weapon - to_chat(user, "You insert the cell.") + to_chat(user, span_notice("You insert the cell.")) else if(istype(weapon, /obj/item/stack/cable_coil)) if(wired) - to_chat(user, "You have already inserted wire!") + to_chat(user, span_warning("You have already inserted wire!")) return var/obj/item/stack/cable_coil/coil = weapon if (coil.use(1)) wired = TRUE - to_chat(user, "You insert the wire.") + to_chat(user, span_notice("You insert the wire.")) else - to_chat(user, "You need one length of coil to wire it!") + to_chat(user, span_warning("You need one length of coil to wire it!")) else return ..() @@ -166,7 +166,7 @@ return . = TRUE cutter.play_tool_sound(src) - to_chat(user, "You cut the wires out of [src].") + to_chat(user, span_notice("You cut the wires out of [src].")) new /obj/item/stack/cable_coil(drop_location(), 1) wired = FALSE @@ -174,10 +174,10 @@ ..() . = TRUE if(!cell) - to_chat(user, "There's no power cell installed in [src]!") + to_chat(user, span_warning("There's no power cell installed in [src]!")) return screwtool.play_tool_sound(src) - to_chat(user, "Remove [cell] from [src].") + to_chat(user, span_notice("Remove [cell] from [src].")) cell.forceMove(drop_location()) cell = null @@ -186,14 +186,14 @@ . = ..() if(cell) . += {"It has a [cell] inserted.\n - You can use a screwdriver to remove [cell]."} + [span_info("You can use a screwdriver to remove [cell].")]"} else - . += "It has an empty port for a power cell." + . += span_info("It has an empty port for a power cell.") if(wired) . += "Its all wired up[cell ? " and ready for usage" : ""].\n"+\ - "You can use wirecutters to remove the wiring." + span_info("You can use wirecutters to remove the wiring.") else - . += "It has a couple spots that still need to be wired." + . += span_info("It has a couple spots that still need to be wired.") /obj/item/bodypart/chest/robot/drop_organs(mob/user, violent_removal) if(wired) @@ -244,25 +244,25 @@ /obj/item/bodypart/head/robot/examine(mob/user) . = ..() if(!flash1 && !flash2) - . += "It has two empty eye sockets for flashes." + . += span_info("It has two empty eye sockets for flashes.") else var/single_flash = FALSE if(!flash1 || !flash2) single_flash = TRUE . += {"One of its eye sockets is currently occupied by a flash.\n - It has an empty eye socket for another flash."} + [span_info("It has an empty eye socket for another flash.")]"} else . += "It has two eye sockets occupied by flashes." - . += "You can remove the seated flash[single_flash ? "":"es"] with a crowbar." + . += span_notice("You can remove the seated flash[single_flash ? "":"es"] with a crowbar.") /obj/item/bodypart/head/robot/attackby(obj/item/weapon, mob/user, params) if(istype(weapon, /obj/item/assembly/flash/handheld)) var/obj/item/assembly/flash/handheld/flash = weapon if(flash1 && flash2) - to_chat(user, "You have already inserted the eyes!") + to_chat(user, span_warning("You have already inserted the eyes!")) return else if(flash.burnt_out) - to_chat(user, "You can't use a broken flash!") + to_chat(user, span_warning("You can't use a broken flash!")) return else if(!user.transferItemToLoc(flash, src)) @@ -271,7 +271,7 @@ flash2 = flash else flash1 = flash - to_chat(user, "You insert the flash into the eye socket.") + to_chat(user, span_notice("You insert the flash into the eye socket.")) return return ..() @@ -279,7 +279,7 @@ ..() if(flash1 || flash2) prytool.play_tool_sound(src) - to_chat(user, "You remove the flash from [src].") + to_chat(user, span_notice("You remove the flash from [src].")) if(flash1) flash1.forceMove(drop_location()) flash1 = null @@ -287,7 +287,7 @@ flash2.forceMove(drop_location()) flash2 = null else - to_chat(user, "There is no flash to remove from [src].") + to_chat(user, span_warning("There is no flash to remove from [src].")) return TRUE diff --git a/code/modules/surgery/bone_mending.dm b/code/modules/surgery/bone_mending.dm index a0fa3fef6c3..5c44bf687c3 100644 --- a/code/modules/surgery/bone_mending.dm +++ b/code/modules/surgery/bone_mending.dm @@ -58,24 +58,24 @@ /datum/surgery_step/repair_bone_hairline/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(surgery.operated_wound) - display_results(user, target, "You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool].", - "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool]."), + span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)].")) else - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) /datum/surgery_step/repair_bone_hairline/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(surgery.operated_wound) if(istype(tool, /obj/item/stack)) var/obj/item/stack/used_stack = tool used_stack.use(1) - display_results(user, target, "You successfully repair the fracture in [target]'s [parse_zone(target_zone)].", - "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully repair the fracture in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "repaired a hairline fracture in", addition="COMBAT_MODE: [uppertext(user.combat_mode)]") qdel(surgery.operated_wound) else - to_chat(user, "[target] has no hairline fracture there!") + to_chat(user, span_warning("[target] has no hairline fracture there!")) return ..() /datum/surgery_step/repair_bone_hairline/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) @@ -98,23 +98,23 @@ /datum/surgery_step/reset_compound_fracture/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(surgery.operated_wound) - display_results(user, target, "You begin to reset the bone in [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)] with [tool].", - "[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to reset the bone in [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)] with [tool]."), + span_notice("[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)].")) else - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) /datum/surgery_step/reset_compound_fracture/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(surgery.operated_wound) if(istype(tool, /obj/item/stack)) var/obj/item/stack/used_stack = tool used_stack.use(1) - display_results(user, target, "You successfully reset the bone in [target]'s [parse_zone(target_zone)].", - "[user] successfully resets the bone in [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully resets the bone in [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully reset the bone in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] successfully resets the bone in [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully resets the bone in [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "reset a compound fracture in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") else - to_chat(user, "[target] has no compound fracture there!") + to_chat(user, span_warning("[target] has no compound fracture there!")) return ..() /datum/surgery_step/reset_compound_fracture/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) @@ -136,24 +136,24 @@ /datum/surgery_step/repair_bone_compound/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(surgery.operated_wound) - display_results(user, target, "You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool].", - "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool]."), + span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)].")) else - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) /datum/surgery_step/repair_bone_compound/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(surgery.operated_wound) if(istype(tool, /obj/item/stack)) var/obj/item/stack/used_stack = tool used_stack.use(1) - display_results(user, target, "You successfully repair the fracture in [target]'s [parse_zone(target_zone)].", - "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully repair the fracture in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "repaired a compound fracture in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") qdel(surgery.operated_wound) else - to_chat(user, "[target] has no compound fracture there!") + to_chat(user, span_warning("[target] has no compound fracture there!")) return ..() /datum/surgery_step/repair_bone_compound/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) diff --git a/code/modules/surgery/brain_surgery.dm b/code/modules/surgery/brain_surgery.dm index d2743e7e3ba..2552fcf3ebd 100644 --- a/code/modules/surgery/brain_surgery.dm +++ b/code/modules/surgery/brain_surgery.dm @@ -28,14 +28,14 @@ return TRUE /datum/surgery_step/fix_brain/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to fix [target]'s brain...", - "[user] begins to fix [target]'s brain.", - "[user] begins to perform surgery on [target]'s brain.") + display_results(user, target, span_notice("You begin to fix [target]'s brain..."), + span_notice("[user] begins to fix [target]'s brain."), + span_notice("[user] begins to perform surgery on [target]'s brain.")) /datum/surgery_step/fix_brain/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You succeed in fixing [target]'s brain.", - "[user] successfully fixes [target]'s brain!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_notice("You succeed in fixing [target]'s brain."), + span_notice("[user] successfully fixes [target]'s brain!"), + span_notice("[user] completes the surgery on [target]'s brain.")) if(target.mind?.has_antag_datum(/datum/antagonist/brainwashed)) target.mind.remove_antag_datum(/datum/antagonist/brainwashed) target.setOrganLoss(ORGAN_SLOT_BRAIN, target.getOrganLoss(ORGAN_SLOT_BRAIN) - 50) //we set damage in this case in order to clear the "failing" flag @@ -46,11 +46,11 @@ /datum/surgery_step/fix_brain/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.getorganslot(ORGAN_SLOT_BRAIN)) - display_results(user, target, "You screw up, causing more damage!", - "[user] screws up, causing brain damage!", - "[user] completes the surgery on [target]'s brain.") + display_results(user, target, span_warning("You screw up, causing more damage!"), + span_warning("[user] screws up, causing brain damage!"), + span_notice("[user] completes the surgery on [target]'s brain.")) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) else - user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.") + user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) return FALSE diff --git a/code/modules/surgery/burn_dressing.dm b/code/modules/surgery/burn_dressing.dm index e918df9d994..6c753e80f48 100644 --- a/code/modules/surgery/burn_dressing.dm +++ b/code/modules/surgery/burn_dressing.dm @@ -60,23 +60,23 @@ if(surgery.operated_wound) var/datum/wound/burn/burn_wound = surgery.operated_wound if(burn_wound.infestation <= 0) - to_chat(user, "[target]'s [parse_zone(user.zone_selected)] has no infected flesh to remove!") + to_chat(user, span_notice("[target]'s [parse_zone(user.zone_selected)] has no infected flesh to remove!")) surgery.status++ repeatable = FALSE return - display_results(user, target, "You begin to excise infected flesh from [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)] with [tool].", - "[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to excise infected flesh from [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)] with [tool]."), + span_notice("[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)].")) else - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) /datum/surgery_step/debride/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/datum/wound/burn/burn_wound = surgery.operated_wound if(burn_wound) var/progress_text = get_progress(user, target, burn_wound) - display_results(user, target, "You successfully excise some of the infected flesh from [target]'s [parse_zone(target_zone)][progress_text].", - "[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully excise some of the infected flesh from [target]'s [parse_zone(target_zone)][progress_text]."), + span_notice("[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "excised infected flesh in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") surgery.operated_bodypart.receive_damage(brute=3, wound_bonus=CANT_WOUND) burn_wound.infestation -= infestation_removed @@ -84,14 +84,14 @@ if(burn_wound.infestation <= 0) repeatable = FALSE else - to_chat(user, "[target] has no infected flesh there!") + to_chat(user, span_warning("[target] has no infected flesh there!")) return ..() /datum/surgery_step/debride/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) ..() - display_results(user, target, "You carve away some of the healthy flesh from [target]'s [parse_zone(target_zone)].", - "[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You carve away some of the healthy flesh from [target]'s [parse_zone(target_zone)]."), + span_notice("[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)]!")) surgery.operated_bodypart.receive_damage(brute=rand(4,8), sharpness=TRUE) /datum/surgery_step/debride/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE) @@ -118,25 +118,25 @@ /datum/surgery_step/dress/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/datum/wound/burn/burn_wound = surgery.operated_wound if(burn_wound) - display_results(user, target, "You begin to dress the burns on [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)] with [tool].", - "[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to dress the burns on [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)] with [tool]."), + span_notice("[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)].")) else - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) /datum/surgery_step/dress/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/datum/wound/burn/burn_wound = surgery.operated_wound if(burn_wound) - display_results(user, target, "You successfully wrap [target]'s [parse_zone(target_zone)] with [tool].", - "[user] successfully wraps [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully wraps [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully wrap [target]'s [parse_zone(target_zone)] with [tool]."), + span_notice("[user] successfully wraps [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully wraps [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "dressed burns in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") burn_wound.sanitization += sanitization_added burn_wound.flesh_healing += flesh_healing_added var/obj/item/bodypart/the_part = target.get_bodypart(target_zone) the_part.apply_gauze(tool) else - to_chat(user, "[target] has no burns there!") + to_chat(user, span_warning("[target] has no burns there!")) return ..() /datum/surgery_step/dress/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index 47985ec5019..e9794d15a99 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -29,35 +29,35 @@ var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST) item_for_cavity = target_chest.cavity_item if(tool) - display_results(user, target, "You begin to insert [tool] into [target]'s [target_zone]...", - "[user] begins to insert [tool] into [target]'s [target_zone].", - "[user] begins to insert [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone].") + display_results(user, target, span_notice("You begin to insert [tool] into [target]'s [target_zone]..."), + span_notice("[user] begins to insert [tool] into [target]'s [target_zone]."), + span_notice("[user] begins to insert [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone].")) else - display_results(user, target, "You check for items in [target]'s [target_zone]...", - "[user] checks for items in [target]'s [target_zone].", - "[user] looks for something in [target]'s [target_zone].") + display_results(user, target, span_notice("You check for items in [target]'s [target_zone]..."), + span_notice("[user] checks for items in [target]'s [target_zone]."), + span_notice("[user] looks for something in [target]'s [target_zone].")) /datum/surgery_step/handle_cavity/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery = FALSE) var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST) if(tool) if(item_for_cavity || tool.w_class > WEIGHT_CLASS_NORMAL || HAS_TRAIT(tool, TRAIT_NODROP) || istype(tool, /obj/item/organ)) - to_chat(user, "You can't seem to fit [tool] in [target]'s [target_zone]!") + to_chat(user, span_warning("You can't seem to fit [tool] in [target]'s [target_zone]!")) return FALSE else - display_results(user, target, "You stuff [tool] into [target]'s [target_zone].", - "[user] stuffs [tool] into [target]'s [target_zone]!", - "[user] stuffs [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone].") + display_results(user, target, span_notice("You stuff [tool] into [target]'s [target_zone]."), + span_notice("[user] stuffs [tool] into [target]'s [target_zone]!"), + span_notice("[user] stuffs [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone].")) user.transferItemToLoc(tool, target, TRUE) target_chest.cavity_item = tool return ..() else if(item_for_cavity) - display_results(user, target, "You pull [item_for_cavity] out of [target]'s [target_zone].", - "[user] pulls [item_for_cavity] out of [target]'s [target_zone]!", - "[user] pulls [item_for_cavity.w_class > WEIGHT_CLASS_SMALL ? item_for_cavity : "something"] out of [target]'s [target_zone].") + display_results(user, target, span_notice("You pull [item_for_cavity] out of [target]'s [target_zone]."), + span_notice("[user] pulls [item_for_cavity] out of [target]'s [target_zone]!"), + span_notice("[user] pulls [item_for_cavity.w_class > WEIGHT_CLASS_SMALL ? item_for_cavity : "something"] out of [target]'s [target_zone].")) user.put_in_hands(item_for_cavity) target_chest.cavity_item = null return ..() else - to_chat(user, "You don't find anything in [target]'s [target_zone].") + to_chat(user, span_warning("You don't find anything in [target]'s [target_zone].")) return FALSE diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index ebd5ff63a5a..328fa7a7b32 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -22,17 +22,17 @@ time = 16 /datum/surgery_step/extract_core/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to extract a core from [target]...", - "[user] begins to extract a core from [target].", - "[user] begins to extract a core from [target].") + display_results(user, target, span_notice("You begin to extract a core from [target]..."), + span_notice("[user] begins to extract a core from [target]."), + span_notice("[user] begins to extract a core from [target].")) /datum/surgery_step/extract_core/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/mob/living/simple_animal/slime/target_slime = target if(target_slime.cores > 0) target_slime.cores-- - display_results(user, target, "You successfully extract a core from [target]. [target_slime.cores] core\s remaining.", - "[user] successfully extracts a core from [target]!", - "[user] successfully extracts a core from [target]!") + display_results(user, target, span_notice("You successfully extract a core from [target]. [target_slime.cores] core\s remaining."), + span_notice("[user] successfully extracts a core from [target]!"), + span_notice("[user] successfully extracts a core from [target]!")) new target_slime.coretype(target_slime.loc) @@ -42,5 +42,5 @@ else return FALSE else - to_chat(user, "There aren't any cores left in [target]!") + to_chat(user, span_warning("There aren't any cores left in [target]!")) return ..() diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm index 825534c129d..a6630578d3b 100644 --- a/code/modules/surgery/coronary_bypass.dm +++ b/code/modules/surgery/coronary_bypass.dm @@ -29,16 +29,16 @@ time = 16 /datum/surgery_step/incise_heart/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to make an incision in [target]'s heart...", - "[user] begins to make an incision in [target]'s heart.", - "[user] begins to make an incision in [target]'s heart.") + display_results(user, target, span_notice("You begin to make an incision in [target]'s heart..."), + span_notice("[user] begins to make an incision in [target]'s heart."), + span_notice("[user] begins to make an incision in [target]'s heart.")) /datum/surgery_step/incise_heart/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) var/mob/living/carbon/human/target_human = target if (!(NOBLOOD in target_human.dna.species.species_traits)) - display_results(user, target, "Blood pools around the incision in [target_human]'s heart.", - "Blood pools around the incision in [target_human]'s heart.", + display_results(user, target, span_notice("Blood pools around the incision in [target_human]'s heart."), + span_notice("Blood pools around the incision in [target_human]'s heart."), "") var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone) target_bodypart.generic_bleedstacks += 10 @@ -48,9 +48,9 @@ /datum/surgery_step/incise_heart/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(ishuman(target)) var/mob/living/carbon/human/target_human = target - display_results(user, target, "You screw up, cutting too deeply into the heart!", - "[user] screws up, causing blood to spurt out of [target_human]'s chest!", - "[user] screws up, causing blood to spurt out of [target_human]'s chest!") + display_results(user, target, span_warning("You screw up, cutting too deeply into the heart!"), + span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest!"), + span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest!")) var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone) target_bodypart.generic_bleedstacks += 10 target_human.adjustOrganLoss(ORGAN_SLOT_HEART, 10) @@ -67,26 +67,26 @@ time = 90 /datum/surgery_step/coronary_bypass/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to graft a bypass onto [target]'s heart...", - "[user] begins to graft something onto [target]'s heart!", - "[user] begins to graft something onto [target]'s heart!") + display_results(user, target, span_notice("You begin to graft a bypass onto [target]'s heart..."), + span_notice("[user] begins to graft something onto [target]'s heart!"), + span_notice("[user] begins to graft something onto [target]'s heart!")) /datum/surgery_step/coronary_bypass/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) target.setOrganLoss(ORGAN_SLOT_HEART, 60) var/obj/item/organ/heart/target_heart = target.getorganslot(ORGAN_SLOT_HEART) if(target_heart) //slightly worrying if we lost our heart mid-operation, but that's life target_heart.operated = TRUE - display_results(user, target, "You successfully graft a bypass onto [target]'s heart.", - "[user] finishes grafting something onto [target]'s heart.", - "[user] finishes grafting something onto [target]'s heart.") + display_results(user, target, span_notice("You successfully graft a bypass onto [target]'s heart."), + span_notice("[user] finishes grafting something onto [target]'s heart."), + span_notice("[user] finishes grafting something onto [target]'s heart.")) return ..() /datum/surgery_step/coronary_bypass/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(ishuman(target)) var/mob/living/carbon/human/target_human = target - display_results(user, target, "You screw up in attaching the graft, and it tears off, tearing part of the heart!", - "[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!", - "[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!") + display_results(user, target, span_warning("You screw up in attaching the graft, and it tears off, tearing part of the heart!"), + span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!"), + span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!")) target_human.adjustOrganLoss(ORGAN_SLOT_HEART, 20) var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone) target_bodypart.generic_bleedstacks += 30 diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm index 786e3d58ab6..813f2d5b79c 100644 --- a/code/modules/surgery/dental_implant.dm +++ b/code/modules/surgery/dental_implant.dm @@ -11,9 +11,9 @@ time = 16 /datum/surgery_step/insert_pill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]...", - "[user] begins to wedge \the [tool] in [target]'s [parse_zone(target_zone)].", - "[user] begins to wedge something in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to wedge \the [tool] in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to wedge something in [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/insert_pill/success(mob/user, mob/living/carbon/target, target_zone, obj/item/reagent_containers/pill/tool, datum/surgery/surgery, default_display_results = FALSE) if(!istype(tool)) @@ -26,9 +26,9 @@ pill_action.target = tool pill_action.Grant(target) //The pill never actually goes in an inventory slot, so the owner doesn't inherit actions from it - display_results(user, target, "You wedge [tool] into [target]'s [parse_zone(target_zone)].", - "[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!", - "[user] wedges something into [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You wedge [tool] into [target]'s [parse_zone(target_zone)]."), + span_notice("[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] wedges something into [target]'s [parse_zone(target_zone)]!")) return ..() /datum/action/item_action/hands_free/activate_pill @@ -37,7 +37,7 @@ /datum/action/item_action/hands_free/activate_pill/Trigger() if(!..()) return FALSE - to_chat(owner, "You grit your teeth and burst the implanted [target.name]!") + to_chat(owner, span_notice("You grit your teeth and burst the implanted [target.name]!")) log_combat(owner, null, "swallowed an implanted pill", target) if(target.reagents.total_volume) target.reagents.trans_to(owner, target.reagents.total_volume, transfered_by = owner, methods = INGEST) diff --git a/code/modules/surgery/eye_surgery.dm b/code/modules/surgery/eye_surgery.dm index a60a25b9cfb..f156dd806d4 100644 --- a/code/modules/surgery/eye_surgery.dm +++ b/code/modules/surgery/eye_surgery.dm @@ -22,21 +22,21 @@ /datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/eyes/target_eyes = target.getorganslot(ORGAN_SLOT_EYES) if(!target_eyes) - to_chat(user, "It's hard to do surgery on someone's eyes when [target.p_they()] [target.p_do()]n't have any.") + to_chat(user, span_warning("It's hard to do surgery on someone's eyes when [target.p_they()] [target.p_do()]n't have any.")) return FALSE return TRUE /datum/surgery_step/fix_eyes/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to fix [target]'s eyes...", - "[user] begins to fix [target]'s eyes.", - "[user] begins to perform surgery on [target]'s eyes.") + display_results(user, target, span_notice("You begin to fix [target]'s eyes..."), + span_notice("[user] begins to fix [target]'s eyes."), + span_notice("[user] begins to perform surgery on [target]'s eyes.")) /datum/surgery_step/fix_eyes/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/obj/item/organ/eyes/target_eyes = target.getorganslot(ORGAN_SLOT_EYES) - user.visible_message("[user] successfully fixes [target]'s eyes!", "You succeed in fixing [target]'s eyes.") - display_results(user, target, "You succeed in fixing [target]'s eyes.", - "[user] successfully fixes [target]'s eyes!", - "[user] completes the surgery on [target]'s eyes.") + user.visible_message(span_notice("[user] successfully fixes [target]'s eyes!"), span_notice("You succeed in fixing [target]'s eyes.")) + display_results(user, target, span_notice("You succeed in fixing [target]'s eyes."), + span_notice("[user] successfully fixes [target]'s eyes!"), + span_notice("[user] completes the surgery on [target]'s eyes.")) target.cure_blind(list(EYE_DAMAGE)) target.set_blindness(0) target.cure_nearsighted(list(EYE_DAMAGE)) @@ -46,12 +46,12 @@ /datum/surgery_step/fix_eyes/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.getorgan(/obj/item/organ/brain)) - display_results(user, target, "You accidentally stab [target] right in the brain!", - "[user] accidentally stabs [target] right in the brain!", - "[user] accidentally stabs [target] right in the brain!") + display_results(user, target, span_warning("You accidentally stab [target] right in the brain!"), + span_warning("[user] accidentally stabs [target] right in the brain!"), + span_warning("[user] accidentally stabs [target] right in the brain!")) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 70) else - display_results(user, target, "You accidentally stab [target] right in the brain! Or would have, if [target] had a brain.", - "[user] accidentally stabs [target] right in the brain! Or would have, if [target] had a brain.", - "[user] accidentally stabs [target] right in the brain!") + display_results(user, target, span_warning("You accidentally stab [target] right in the brain! Or would have, if [target] had a brain."), + span_warning("[user] accidentally stabs [target] right in the brain! Or would have, if [target] had a brain."), + span_warning("[user] accidentally stabs [target] right in the brain!")) return FALSE diff --git a/code/modules/surgery/gastrectomy.dm b/code/modules/surgery/gastrectomy.dm index f07c66111e3..a7b4af48f6c 100644 --- a/code/modules/surgery/gastrectomy.dm +++ b/code/modules/surgery/gastrectomy.dm @@ -30,21 +30,21 @@ time = 52 /datum/surgery_step/gastrectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to cut out a damaged piece of [target]'s stomach...", - "[user] begins to make an incision in [target].", - "[user] begins to make an incision in [target].") + display_results(user, target, span_notice("You begin to cut out a damaged piece of [target]'s stomach..."), + span_notice("[user] begins to make an incision in [target]."), + span_notice("[user] begins to make an incision in [target].")) /datum/surgery_step/gastrectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/mob/living/carbon/human/target_human = target target_human.setOrganLoss(ORGAN_SLOT_STOMACH, 20) // Stomachs have a threshold for being able to even digest food, so I might tweak this number - display_results(user, target, "You successfully remove the damaged part of [target]'s stomach.", - "[user] successfully removes the damaged part of [target]'s stomach.", - "[user] successfully removes the damaged part of [target]'s stomach.") + display_results(user, target, span_notice("You successfully remove the damaged part of [target]'s stomach."), + span_notice("[user] successfully removes the damaged part of [target]'s stomach."), + span_notice("[user] successfully removes the damaged part of [target]'s stomach.")) return ..() /datum/surgery_step/gastrectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery) var/mob/living/carbon/human/target_human = target target_human.adjustOrganLoss(ORGAN_SLOT_STOMACH, 15) - display_results(user, target, "You cut the wrong part of [target]'s stomach!", - "[user] cuts the wrong part of [target]'s stomach!", - "[user] cuts the wrong part of [target]'s stomach!") + display_results(user, target, span_warning("You cut the wrong part of [target]'s stomach!"), + span_warning("[user] cuts the wrong part of [target]'s stomach!"), + span_warning("[user] cuts the wrong part of [target]'s stomach!")) diff --git a/code/modules/surgery/healing.dm b/code/modules/surgery/healing.dm index 6ecb890d66d..45e5cd270a4 100644 --- a/code/modules/surgery/healing.dm +++ b/code/modules/surgery/healing.dm @@ -60,9 +60,9 @@ if(istype(surgery,/datum/surgery/healing)) var/datum/surgery/healing/the_surgery = surgery if(!the_surgery.antispam) - display_results(user, target, "You attempt to patch some of [target]'s [woundtype].", - "[user] attempts to patch some of [target]'s [woundtype].", - "[user] attempts to patch some of [target]'s [woundtype].") + display_results(user, target, span_notice("You attempt to patch some of [target]'s [woundtype]."), + span_notice("[user] attempts to patch some of [target]'s [woundtype]."), + span_notice("[user] attempts to patch some of [target]'s [woundtype].")) /datum/surgery_step/heal/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE) if(!..()) @@ -91,7 +91,7 @@ user_msg += get_progress(user, target, brute_healed, burn_healed) - display_results(user, target, "[user_msg].", + display_results(user, target, span_notice("[user_msg]."), "[target_msg].", "[target_msg].") if(istype(surgery, /datum/surgery/healing)) @@ -100,9 +100,9 @@ return ..() /datum/surgery_step/heal/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You screwed up!", - "[user] screws up!", - "[user] fixes some of [target]'s wounds.", TRUE) + display_results(user, target, span_warning("You screwed up!"), + span_warning("[user] screws up!"), + span_notice("[user] fixes some of [target]'s wounds."), TRUE) var/brute_dealt = brutehealing * 0.8 var/burn_dealt = burnhealing * 0.8 brute_dealt += round((target.getBruteLoss() * (brute_multiplier * 0.5)),0.1) @@ -320,7 +320,7 @@ burn_multiplier = 0.4 /datum/surgery_step/heal/combo/upgraded/femto/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You screwed up!", - "[user] screws up!", - "[user] fixes some of [target]'s wounds.", TRUE) + display_results(user, target, span_warning("You screwed up!"), + span_warning("[user] screws up!"), + span_notice("[user] fixes some of [target]'s wounds."), TRUE) target.take_bodypart_damage(5,5) diff --git a/code/modules/surgery/hepatectomy.dm b/code/modules/surgery/hepatectomy.dm index bb8b19df464..1899f0deaf1 100644 --- a/code/modules/surgery/hepatectomy.dm +++ b/code/modules/surgery/hepatectomy.dm @@ -29,21 +29,21 @@ time = 52 /datum/surgery_step/hepatectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to cut out a damaged piece of [target]'s liver...", - "[user] begins to make an incision in [target].", - "[user] begins to make an incision in [target].") + display_results(user, target, span_notice("You begin to cut out a damaged piece of [target]'s liver..."), + span_notice("[user] begins to make an incision in [target]."), + span_notice("[user] begins to make an incision in [target].")) /datum/surgery_step/hepatectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/mob/living/carbon/human/human_target = target human_target.setOrganLoss(ORGAN_SLOT_LIVER, 10) //not bad, not great - display_results(user, target, "You successfully remove the damaged part of [target]'s liver.", - "[user] successfully removes the damaged part of [target]'s liver.", - "[user] successfully removes the damaged part of [target]'s liver.") + display_results(user, target, span_notice("You successfully remove the damaged part of [target]'s liver."), + span_notice("[user] successfully removes the damaged part of [target]'s liver."), + span_notice("[user] successfully removes the damaged part of [target]'s liver.")) return ..() /datum/surgery_step/hepatectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery) var/mob/living/carbon/human/human_target = target human_target.adjustOrganLoss(ORGAN_SLOT_LIVER, 15) - display_results(user, target, "You cut the wrong part of [target]'s liver!", - "[user] cuts the wrong part of [target]'s liver!", - "[user] cuts the wrong part of [target]'s liver!") + display_results(user, target, span_warning("You cut the wrong part of [target]'s liver!"), + span_warning("[user] cuts the wrong part of [target]'s liver!"), + span_warning("[user] cuts the wrong part of [target]'s liver!")) diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm index a1027b5a6ce..a807879869e 100644 --- a/code/modules/surgery/implant_removal.dm +++ b/code/modules/surgery/implant_removal.dm @@ -25,19 +25,19 @@ implant = object break if(implant) - display_results(user, target, "You begin to extract [implant] from [target]'s [target_zone]...", - "[user] begins to extract [implant] from [target]'s [target_zone].", - "[user] begins to extract something from [target]'s [target_zone].") + display_results(user, target, span_notice("You begin to extract [implant] from [target]'s [target_zone]..."), + span_notice("[user] begins to extract [implant] from [target]'s [target_zone]."), + span_notice("[user] begins to extract something from [target]'s [target_zone].")) else - display_results(user, target, "You look for an implant in [target]'s [target_zone]...", - "[user] looks for an implant in [target]'s [target_zone].", - "[user] looks for something in [target]'s [target_zone].") + display_results(user, target, span_notice("You look for an implant in [target]'s [target_zone]..."), + span_notice("[user] looks for an implant in [target]'s [target_zone]."), + span_notice("[user] looks for something in [target]'s [target_zone].")) /datum/surgery_step/extract_implant/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(implant) - display_results(user, target, "You successfully remove [implant] from [target]'s [target_zone].", - "[user] successfully removes [implant] from [target]'s [target_zone]!", - "[user] successfully removes something from [target]'s [target_zone]!") + display_results(user, target, span_notice("You successfully remove [implant] from [target]'s [target_zone]."), + span_notice("[user] successfully removes [implant] from [target]'s [target_zone]!"), + span_notice("[user] successfully removes something from [target]'s [target_zone]!")) implant.removed(target) var/obj/item/implantcase/case @@ -50,14 +50,14 @@ case.imp = implant implant.forceMove(case) case.update_appearance() - display_results(user, target, "You place [implant] into [case].", - "[user] places [implant] into [case]!", - "[user] places it into [case]!") + display_results(user, target, span_notice("You place [implant] into [case]."), + span_notice("[user] places [implant] into [case]!"), + span_notice("[user] places it into [case]!")) else qdel(implant) else - to_chat(user, "You can't find anything in [target]'s [target_zone]!") + to_chat(user, span_warning("You can't find anything in [target]'s [target_zone]!")) return ..() /datum/surgery/implant_removal/mechanic diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index 44ff7ab3a12..22fa36fed86 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -15,24 +15,24 @@ /datum/surgery_step/replace_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(NOAUGMENTS in target.dna.species.species_traits) - to_chat(user, "[target] cannot be augmented!") + to_chat(user, span_warning("[target] cannot be augmented!")) return -1 if(istype(tool, /obj/item/borg/apparatus/organ_storage) && istype(tool.contents[1], /obj/item/bodypart)) tool = tool.contents[1] var/obj/item/bodypart/aug = tool if(aug.status != BODYPART_ROBOTIC) - to_chat(user, "That's not an augment, silly!") + to_chat(user, span_warning("That's not an augment, silly!")) return -1 if(aug.body_zone != target_zone) - to_chat(user, "[tool] isn't the right type for [parse_zone(target_zone)].") + to_chat(user, span_warning("[tool] isn't the right type for [parse_zone(target_zone)].")) return -1 target_limb = surgery.operated_bodypart if(target_limb) - display_results(user, target, "You begin to augment [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to augment [target]'s [parse_zone(user.zone_selected)] with [aug].", - "[user] begins to augment [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to augment [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to augment [target]'s [parse_zone(user.zone_selected)] with [aug]."), + span_notice("[user] begins to augment [target]'s [parse_zone(user.zone_selected)].")) else - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) //ACTUAL SURGERIES @@ -59,10 +59,10 @@ tool = tool.contents[1] if(istype(tool) && user.temporarilyRemoveItemFromInventory(tool)) tool.replace_limb(target, TRUE) - display_results(user, target, "You successfully augment [target]'s [parse_zone(target_zone)].", - "[user] successfully augments [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully augments [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully augment [target]'s [parse_zone(target_zone)]."), + span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "augmented", addition="by giving him new [parse_zone(target_zone)] COMBAT MODE: [uppertext(user.combat_mode)]") else - to_chat(user, "[target] has no organic [parse_zone(target_zone)] there!") + to_chat(user, span_warning("[target] has no organic [parse_zone(target_zone)] there!")) return ..() diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index d30b2192154..20878e88ece 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -24,15 +24,15 @@ time = 64 /datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to cut away [target]'s excess fat.", "You begin to cut away [target]'s excess fat...") - display_results(user, target, "You begin to cut away [target]'s excess fat...", - "[user] begins to cut away [target]'s excess fat.", - "[user] begins to cut [target]'s [target_zone] with [tool].") + user.visible_message(span_notice("[user] begins to cut away [target]'s excess fat."), span_notice("You begin to cut away [target]'s excess fat...")) + display_results(user, target, span_notice("You begin to cut away [target]'s excess fat..."), + span_notice("[user] begins to cut away [target]'s excess fat."), + span_notice("[user] begins to cut [target]'s [target_zone] with [tool].")) /datum/surgery_step/cut_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) - display_results(user, target, "You cut [target]'s excess fat loose.", - "[user] cuts [target]'s excess fat loose!", - "[user] finishes the cut on [target]'s [target_zone].") + display_results(user, target, span_notice("You cut [target]'s excess fat loose."), + span_notice("[user] cuts [target]'s excess fat loose!"), + span_notice("[user] finishes the cut on [target]'s [target_zone].")) return TRUE //remove fat @@ -45,14 +45,14 @@ time = 32 /datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to extract [target]'s loose fat...", - "[user] begins to extract [target]'s loose fat!", - "[user] begins to extract something from [target]'s [target_zone].") + display_results(user, target, span_notice("You begin to extract [target]'s loose fat..."), + span_notice("[user] begins to extract [target]'s loose fat!"), + span_notice("[user] begins to extract something from [target]'s [target_zone].")) /datum/surgery_step/remove_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You extract [target]'s fat.", - "[user] extracts [target]'s fat!", - "[user] extracts [target]'s fat!") + display_results(user, target, span_notice("You extract [target]'s fat."), + span_notice("[user] extracts [target]'s fat!"), + span_notice("[user] extracts [target]'s fat!")) target.overeatduration = 0 //patient is unfatted var/removednutriment = target.nutrition target.set_nutrition(NUTRITION_LEVEL_WELL_FED) diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm index 8fa07539792..730741c3eef 100644 --- a/code/modules/surgery/lobectomy.dm +++ b/code/modules/surgery/lobectomy.dm @@ -28,9 +28,9 @@ time = 42 /datum/surgery_step/lobectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to make an incision in [target]'s lungs...", - "[user] begins to make an incision in [target].", - "[user] begins to make an incision in [target].") + display_results(user, target, span_notice("You begin to make an incision in [target]'s lungs..."), + span_notice("[user] begins to make an incision in [target]."), + span_notice("[user] begins to make an incision in [target].")) /datum/surgery_step/lobectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) @@ -38,17 +38,17 @@ var/obj/item/organ/lungs/target_lungs = human_target.getorganslot(ORGAN_SLOT_LUNGS) target_lungs.operated = TRUE human_target.setOrganLoss(ORGAN_SLOT_LUNGS, 60) - display_results(user, target, "You successfully excise [human_target]'s most damaged lobe.", - "Successfully removes a piece of [human_target]'s lungs.", + display_results(user, target, span_notice("You successfully excise [human_target]'s most damaged lobe."), + span_notice("Successfully removes a piece of [human_target]'s lungs."), "") return ..() /datum/surgery_step/lobectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(ishuman(target)) var/mob/living/carbon/human/human_target = target - display_results(user, target, "You screw up, failing to excise [human_target]'s damaged lobe!", - "[user] screws up!", - "[user] screws up!") + display_results(user, target, span_warning("You screw up, failing to excise [human_target]'s damaged lobe!"), + span_warning("[user] screws up!"), + span_warning("[user] screws up!")) human_target.losebreath += 4 human_target.adjustOrganLoss(ORGAN_SLOT_LUNGS, 10) return FALSE diff --git a/code/modules/surgery/mechanic_steps.dm b/code/modules/surgery/mechanic_steps.dm index 46745e6884e..c07d399d09e 100644 --- a/code/modules/surgery/mechanic_steps.dm +++ b/code/modules/surgery/mechanic_steps.dm @@ -9,9 +9,9 @@ time = 24 /datum/surgery_step/mechanic_open/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to unscrew the shell of [target]'s [parse_zone(target_zone)]...", - "[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].", - "[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to unscrew the shell of [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/mechanic_open/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) @@ -30,9 +30,9 @@ time = 24 /datum/surgery_step/mechanic_close/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to screw the shell of [target]'s [parse_zone(target_zone)]...", - "[user] begins to screw the shell of [target]'s [parse_zone(target_zone)].", - "[user] begins to screw the shell of [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to screw the shell of [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to screw the shell of [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to screw the shell of [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/mechanic_close/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) @@ -49,9 +49,9 @@ time = 24 /datum/surgery_step/prepare_electronics/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to prepare electronics in [target]'s [parse_zone(target_zone)]...", - "[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)].", - "[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to prepare electronics in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)].")) //unwrench /datum/surgery_step/mechanic_unwrench @@ -62,9 +62,9 @@ time = 24 /datum/surgery_step/mechanic_unwrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to unwrench some bolts in [target]'s [parse_zone(target_zone)]...", - "[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)].", - "[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to unwrench some bolts in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)].")) //wrench /datum/surgery_step/mechanic_wrench @@ -75,9 +75,9 @@ time = 24 /datum/surgery_step/mechanic_wrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to wrench some bolts in [target]'s [parse_zone(target_zone)]...", - "[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)].", - "[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to wrench some bolts in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)].")) //open hatch /datum/surgery_step/open_hatch @@ -86,6 +86,6 @@ time = 10 /datum/surgery_step/open_hatch/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to open the hatch holders in [target]'s [parse_zone(target_zone)]...", - "[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)].", - "[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to open the hatch holders in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)].")) diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm index 46aacce001a..59ade0360c1 100644 --- a/code/modules/surgery/organ_manipulation.dm +++ b/code/modules/surgery/organ_manipulation.dm @@ -77,30 +77,30 @@ target_organ = null if(istype(tool, /obj/item/borg/apparatus/organ_storage)) if(!tool.contents.len) - to_chat(user, "There is nothing inside [tool]!") + to_chat(user, span_warning("There is nothing inside [tool]!")) return -1 target_organ = tool.contents[1] if(!isorgan(target_organ)) if (target_zone == BODY_ZONE_PRECISE_EYES) target_zone = check_zone(target_zone) - to_chat(user, "You cannot put [target_organ] into [target]'s [parse_zone(target_zone)]!") + to_chat(user, span_warning("You cannot put [target_organ] into [target]'s [parse_zone(target_zone)]!")) return -1 tool = target_organ if(isorgan(tool)) current_type = "insert" target_organ = tool if(target_zone != target_organ.zone || target.getorganslot(target_organ.slot)) - to_chat(user, "There is no room for [target_organ] in [target]'s [parse_zone(target_zone)]!") + to_chat(user, span_warning("There is no room for [target_organ] in [target]'s [parse_zone(target_zone)]!")) return -1 var/obj/item/organ/meatslab = tool if(!meatslab.useable) - to_chat(user, "[target_organ] seems to have been chewed on, you can't use this!") + to_chat(user, span_warning("[target_organ] seems to have been chewed on, you can't use this!")) return -1 if (target_zone == BODY_ZONE_PRECISE_EYES) target_zone = check_zone(target_zone) - display_results(user, target, "You begin to insert [tool] into [target]'s [parse_zone(target_zone)]...", - "[user] begins to insert [tool] into [target]'s [parse_zone(target_zone)].", - "[user] begins to insert something into [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to insert [tool] into [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to insert [tool] into [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to insert something into [target]'s [parse_zone(target_zone)].")) else if(implement_type in implements_extract) current_type = "extract" @@ -108,7 +108,7 @@ if (target_zone == BODY_ZONE_PRECISE_EYES) target_zone = check_zone(target_zone) if(!organs.len) - to_chat(user, "There are no removable organs in [target]'s [parse_zone(target_zone)]!") + to_chat(user, span_warning("There are no removable organs in [target]'s [parse_zone(target_zone)]!")) return -1 else for(var/obj/item/organ/organ in organs) @@ -122,11 +122,11 @@ if(!target_organ) return -1 if(target_organ.organ_flags & ORGAN_UNREMOVABLE) - to_chat(user, "[target_organ] is too well connected to take out!") + to_chat(user, span_warning("[target_organ] is too well connected to take out!")) return -1 - display_results(user, target, "You begin to extract [target_organ] from [target]'s [parse_zone(target_zone)]...", - "[user] begins to extract [target_organ] from [target]'s [parse_zone(target_zone)].", - "[user] begins to extract something from [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to extract [target_organ] from [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to extract [target_organ] from [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to extract something from [target]'s [parse_zone(target_zone)].")) else return -1 @@ -145,20 +145,20 @@ target_organ = tool user.temporarilyRemoveItemFromInventory(target_organ, TRUE) target_organ.Insert(target) - display_results(user, target, "You insert [tool] into [target]'s [parse_zone(target_zone)].", - "[user] inserts [tool] into [target]'s [parse_zone(target_zone)]!", - "[user] inserts something into [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You insert [tool] into [target]'s [parse_zone(target_zone)]."), + span_notice("[user] inserts [tool] into [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] inserts something into [target]'s [parse_zone(target_zone)]!")) else if(current_type == "extract") if(target_organ && target_organ.owner == target) - display_results(user, target, "You successfully extract [target_organ] from [target]'s [parse_zone(target_zone)].", - "[user] successfully extracts [target_organ] from [target]'s [parse_zone(target_zone)]!", - "[user] successfully extracts something from [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully extract [target_organ] from [target]'s [parse_zone(target_zone)]."), + span_notice("[user] successfully extracts [target_organ] from [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] successfully extracts something from [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "surgically removed [target_organ.name] from", addition="COMBAT MODE: [uppertext(user.combat_mode)]") target_organ.Remove(target) target_organ.forceMove(get_turf(target)) else - display_results(user, target, "You can't extract anything from [target]'s [parse_zone(target_zone)]!", - "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!", - "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_warning("You can't extract anything from [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!")) return FALSE diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm index bee80c56729..5b8b9cad0c2 100644 --- a/code/modules/surgery/organic_steps.dm +++ b/code/modules/surgery/organic_steps.dm @@ -11,9 +11,9 @@ time = 16 /datum/surgery_step/incise/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to make an incision in [target]'s [parse_zone(target_zone)]...", - "[user] begins to make an incision in [target]'s [parse_zone(target_zone)].", - "[user] begins to make an incision in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to make an incision in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to make an incision in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to make an incision in [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/incise/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) @@ -25,8 +25,8 @@ if ishuman(target) var/mob/living/carbon/human/human_target = target if (!(NOBLOOD in human_target.dna.species.species_traits)) - display_results(user, target, "Blood pools around the incision in [human_target]'s [parse_zone(target_zone)].", - "Blood pools around the incision in [human_target]'s [parse_zone(target_zone)].", + display_results(user, target, span_notice("Blood pools around the incision in [human_target]'s [parse_zone(target_zone)]."), + span_notice("Blood pools around the incision in [human_target]'s [parse_zone(target_zone)]."), "") var/obj/item/bodypart/target_bodypart = target.get_bodypart(target_zone) if(target_bodypart) @@ -34,9 +34,9 @@ return ..() /datum/surgery_step/incise/nobleed/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to carefully make an incision in [target]'s [parse_zone(target_zone)]...", - "[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)].", - "[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to carefully make an incision in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)].")) //clamp bleeders /datum/surgery_step/clamp_bleeders @@ -49,9 +49,9 @@ time = 24 /datum/surgery_step/clamp_bleeders/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to clamp bleeders in [target]'s [parse_zone(target_zone)]...", - "[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)].", - "[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to clamp bleeders in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/clamp_bleeders/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) if(locate(/datum/surgery_step/saw) in surgery.steps) @@ -74,9 +74,9 @@ time = 24 /datum/surgery_step/retract_skin/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to retract the skin in [target]'s [parse_zone(target_zone)]...", - "[user] begins to retract the skin in [target]'s [parse_zone(target_zone)].", - "[user] begins to retract the skin in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to retract the skin in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)].")) @@ -91,9 +91,9 @@ time = 24 /datum/surgery_step/close/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to mend the incision in [target]'s [parse_zone(target_zone)]...", - "[user] begins to mend the incision in [target]'s [parse_zone(target_zone)].", - "[user] begins to mend the incision in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to mend the incision in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/close/tool_check(mob/user, obj/item/tool) if(implement_type == TOOL_WELDER || implement_type == /obj/item) @@ -126,9 +126,9 @@ time = 54 /datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to saw through the bone in [target]'s [parse_zone(target_zone)]...", - "[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)].", - "[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to saw through the bone in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/saw/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !(tool.get_sharpness() && (tool.force >= 10))) @@ -137,9 +137,9 @@ /datum/surgery_step/saw/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) target.apply_damage(50, BRUTE, "[target_zone]", wound_bonus=CANT_WOUND) - display_results(user, target, "You saw [target]'s [parse_zone(target_zone)] open.", - "[user] saws [target]'s [parse_zone(target_zone)] open!", - "[user] saws [target]'s [parse_zone(target_zone)] open!") + display_results(user, target, span_notice("You saw [target]'s [parse_zone(target_zone)] open."), + span_notice("[user] saws [target]'s [parse_zone(target_zone)] open!"), + span_notice("[user] saws [target]'s [parse_zone(target_zone)] open!")) return ..() //drill bone @@ -154,12 +154,12 @@ time = 30 /datum/surgery_step/drill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to drill into the bone in [target]'s [parse_zone(target_zone)]...", - "[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].", - "[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to drill into the bone in [target]'s [parse_zone(target_zone)]..."), + span_notice("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].")) /datum/surgery_step/drill/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results(user, target, "You drill into [target]'s [parse_zone(target_zone)].", - "[user] drills into [target]'s [parse_zone(target_zone)]!", - "[user] drills into [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You drill into [target]'s [parse_zone(target_zone)]."), + span_notice("[user] drills into [target]'s [parse_zone(target_zone)]!"), + span_notice("[user] drills into [target]'s [parse_zone(target_zone)]!")) return ..() diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 6cb761f77ff..2e70b4b4954 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -53,7 +53,7 @@ /obj/item/organ/cyberimp/arm/examine(mob/user) . = ..() - . += "[src] is assembled in the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it." + . += span_info("[src] is assembled in the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it.") /obj/item/organ/cyberimp/arm/screwdriver_act(mob/living/user, obj/item/screwtool) . = ..() @@ -65,7 +65,7 @@ else 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.") + to_chat(user, span_notice("You modify [src] to be installed on the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.")) update_appearance() /obj/item/organ/cyberimp/arm/Insert(mob/living/carbon/arm_owner, special = FALSE, drop_if_replaced = TRUE) @@ -92,7 +92,7 @@ if(. & EMP_PROTECT_SELF) return if(prob(15/severity) && owner) - to_chat(owner, "The electromagnetic pulse causes [src] to malfunction!") + to_chat(owner, span_warning("The electromagnetic pulse causes [src] to malfunction!")) // give the owner an idea about why his implant is glitching Retract() @@ -115,9 +115,9 @@ if(!active_item || (active_item in src)) return - owner.visible_message("[owner] retracts [active_item] back into [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.", - "[active_item] snaps back into your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.", - "You hear a short mechanical noise.") + owner.visible_message(span_notice("[owner] retracts [active_item] back into [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), + span_notice("[active_item] snaps back into your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), + span_hear("You hear a short mechanical noise.")) owner.transferItemToLoc(active_item, src, TRUE) active_item = null @@ -145,23 +145,23 @@ for(var/i in 1 to hand_items.len) //Can't just use *in* here. var/hand_item = hand_items[i] if(!owner.dropItemToGround(hand_item)) - failure_message += "Your [hand_item] interferes with [src]!" + failure_message += span_warning("Your [hand_item] interferes with [src]!") continue - to_chat(owner, "You drop [hand_item] to activate [src]!") + to_chat(owner, span_notice("You drop [hand_item] to activate [src]!")) success = owner.put_in_hand(active_item, owner.get_empty_held_index_for_side(side)) break if(!success) for(var/i in failure_message) to_chat(owner, i) return - owner.visible_message("[owner] extends [active_item] from [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.", - "You extend [active_item] from your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.", - "You hear a short mechanical noise.") + owner.visible_message(span_notice("[owner] extends [active_item] from [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), + span_notice("You extend [active_item] from your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), + span_hear("You hear a short mechanical noise.")) playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, TRUE) /obj/item/organ/cyberimp/arm/ui_action_click() if((organ_flags & ORGAN_FAILING) || (!active_item && !contents.len)) - to_chat(owner, "The implant doesn't respond. It seems to be broken...") + to_chat(owner, span_warning("The implant doesn't respond. It seems to be broken...")) return if(!active_item || (active_item in src)) @@ -190,9 +190,9 @@ return if(prob(30/severity) && owner && !(organ_flags & ORGAN_FAILING)) Retract() - owner.visible_message("A loud bang comes from [owner]\'s [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm!") + owner.visible_message(span_danger("A loud bang comes from [owner]\'s [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm!")) playsound(get_turf(owner), 'sound/weapons/flashbang.ogg', 100, TRUE) - to_chat(owner, "You feel an explosion erupt inside your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm as your implant breaks!") + to_chat(owner, span_userdanger("You feel an explosion erupt inside your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm as your implant breaks!")) owner.adjust_fire_stacks(20) owner.IgniteMob() owner.adjustFireLoss(25) @@ -238,7 +238,7 @@ if(istype(/obj/item/kitchen/knife/combat/cyborg, potential_knife)) return FALSE - to_chat(user, "You unlock [src]'s integrated knife!") + to_chat(user, span_notice("You unlock [src]'s integrated knife!")) items_list += WEAKREF(new /obj/item/kitchen/knife/combat/cyborg(src)) return TRUE diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index d9719ca2675..a75a11e77a2 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -21,7 +21,7 @@ if(owner.nutrition <= hunger_threshold) synthesizing = TRUE - to_chat(owner, "You feel less hungry...") + to_chat(owner, span_notice("You feel less hungry...")) owner.adjust_nutrition(25 * delta_time) addtimer(CALLBACK(src, .proc/synth_cool), 50) @@ -33,7 +33,7 @@ if(!owner || . & EMP_PROTECT_SELF) return owner.reagents.add_reagent(/datum/reagent/toxin/bad_food, poison_amount / severity) - to_chat(owner, "You feel like your insides are burning.") + to_chat(owner, span_warning("You feel like your insides are burning.")) /obj/item/organ/cyberimp/chest/nutriment/plus @@ -63,7 +63,7 @@ else COOLDOWN_START(src, reviver_cooldown, revive_cost) reviving = FALSE - to_chat(owner, "Your reviver implant shuts down and starts recharging. It will be ready again in [DisplayTimeText(revive_cost)].") + to_chat(owner, span_notice("Your reviver implant shuts down and starts recharging. It will be ready again in [DisplayTimeText(revive_cost)].")) return if(!COOLDOWN_FINISHED(src, reviver_cooldown) || owner.suiciding) @@ -73,7 +73,7 @@ if(UNCONSCIOUS, HARD_CRIT) revive_cost = 0 reviving = TRUE - to_chat(owner, "You feel a faint buzzing as your reviver implant starts patching your wounds...") + to_chat(owner, span_notice("You feel a faint buzzing as your reviver implant starts patching your wounds...")) /obj/item/organ/cyberimp/chest/reviver/proc/heal() @@ -104,7 +104,7 @@ var/mob/living/carbon/human/human_owner = owner if(human_owner.stat != DEAD && prob(50 / severity) && human_owner.can_heartattack()) human_owner.set_heartattack(TRUE) - to_chat(human_owner, "You feel a horrible agony in your chest!") + to_chat(human_owner, span_userdanger("You feel a horrible agony in your chest!")) addtimer(CALLBACK(src, .proc/undo_heart_attack), 600 / severity) /obj/item/organ/cyberimp/chest/reviver/proc/undo_heart_attack() @@ -113,7 +113,7 @@ return human_owner.set_heartattack(FALSE) if(human_owner.stat == CONSCIOUS) - to_chat(human_owner, "You feel your heart beating again!") + to_chat(human_owner, span_notice("You feel your heart beating again!")) /obj/item/organ/cyberimp/chest/thrusters @@ -149,7 +149,7 @@ if(!on) if((organ_flags & ORGAN_FAILING)) if(!silent) - to_chat(owner, "Your thrusters set seems to be broken!") + to_chat(owner, span_warning("Your thrusters set seems to be broken!")) return FALSE if(allow_thrust(0.01)) on = TRUE @@ -158,14 +158,14 @@ owner.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic) RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/pre_move_react) if(!silent) - to_chat(owner, "You turn your thrusters set on.") + to_chat(owner, span_notice("You turn your thrusters set on.")) else ion_trail.stop() UnregisterSignal(owner, COMSIG_MOVABLE_MOVED) owner.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic) UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE) if(!silent) - to_chat(owner, "You turn your thrusters set off.") + to_chat(owner, span_notice("You turn your thrusters set off.")) on = FALSE update_appearance() diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 156f3bac3db..7bfe76b9d63 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -35,7 +35,7 @@ return var/stun_amount = 200/severity owner.Stun(stun_amount) - to_chat(owner, "Your body seizes up!") + to_chat(owner, span_warning("Your body seizes up!")) /obj/item/organ/cyberimp/brain/anti_drop @@ -55,17 +55,17 @@ var/list/hold_list = owner.get_empty_held_indexes() if(LAZYLEN(hold_list) == owner.held_items.len) - to_chat(owner, "You are not holding any items, your hands relax...") + to_chat(owner, span_notice("You are not holding any items, your hands relax...")) active = FALSE stored_items = list() else for(var/obj/item/stored_item in stored_items) - to_chat(owner, "Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))]'s grip tightens.") + to_chat(owner, span_notice("Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))]'s grip tightens.")) ADD_TRAIT(stored_item, TRAIT_NODROP, IMPLANT_TRAIT) else release_items() - to_chat(owner, "Your hands relax...") + to_chat(owner, span_notice("Your hands relax...")) /obj/item/organ/cyberimp/brain/anti_drop/emp_act(severity) @@ -79,7 +79,7 @@ for(var/obj/item/stored_item in stored_items) throw_target = pick(oview(range)) stored_item.throw_at(throw_target, range, 2) - to_chat(owner, "Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))] spasms and throws the [stored_item.name]!") + to_chat(owner, span_warning("Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))] spasms and throws the [stored_item.name]!")) stored_items = list() @@ -155,7 +155,7 @@ if(!owner || . & EMP_PROTECT_SELF) return if(prob(60/severity)) - to_chat(owner, "Your breathing tube suddenly closes!") + to_chat(owner, span_warning("Your breathing tube suddenly closes!")) owner.losebreath += 2 //BOX O' IMPLANTS diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm index d187aed1f7e..e5fd8afff3f 100644 --- a/code/modules/surgery/organs/autosurgeon.dm +++ b/code/modules/surgery/organs/autosurgeon.dm @@ -39,13 +39,13 @@ /obj/item/autosurgeon/organ/attack_self(mob/user)//when the object it used... if(!uses) - to_chat(user, "[src] has already been used. The tools are dull and won't reactivate.") + to_chat(user, span_alert("[src] has already been used. The tools are dull and won't reactivate.")) return else if(!storedorgan) - to_chat(user, "[src] currently has no implant stored.") + to_chat(user, span_alert("[src] currently has no implant stored.")) return storedorgan.Insert(user)//insert stored organ into the user - user.visible_message("[user] presses a button on [src], and you hear a short mechanical noise.", "You feel a sharp sting as [src] plunges into your body.") + user.visible_message(span_notice("[user] presses a button on [src], and you hear a short mechanical noise."), span_notice("You feel a sharp sting as [src] plunges into your body.")) playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 50, TRUE) storedorgan = null name = initial(name) @@ -57,15 +57,15 @@ /obj/item/autosurgeon/organ/attackby(obj/item/weapon, mob/user, params) if(istype(weapon, organ_type)) if(storedorgan) - to_chat(user, "[src] already has an implant stored.") + to_chat(user, span_alert("[src] already has an implant stored.")) return else if(!uses) - to_chat(user, "[src] has already been used up.") + to_chat(user, span_alert("[src] has already been used up.")) return if(!user.transferItemToLoc(weapon, src)) return storedorgan = weapon - to_chat(user, "You insert the [weapon] into [src].") + to_chat(user, span_notice("You insert the [weapon] into [src].")) else return ..() @@ -73,13 +73,13 @@ if(..()) return TRUE if(!storedorgan) - to_chat(user, "There's no implant in [src] for you to remove!") + to_chat(user, span_warning("There's no implant in [src] for you to remove!")) else var/atom/drop_loc = user.drop_location() for(var/atom/movable/stored_implant as anything in src) stored_implant.forceMove(drop_loc) - to_chat(user, "You remove the [storedorgan] from [src].") + to_chat(user, span_notice("You remove the [storedorgan] from [src].")) screwtool.play_tool_sound(src) storedorgan = null if(uses != INFINITE) diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm index 3c88789c890..123c978a7e4 100644 --- a/code/modules/surgery/organs/ears.dm +++ b/code/modules/surgery/organs/ears.dm @@ -30,7 +30,7 @@ /obj/item/organ/ears/on_life(delta_time, times_fired) // only inform when things got worse, needs to happen before we heal if((damage > low_threshold && prev_damage < low_threshold) || (damage > high_threshold && prev_damage < high_threshold)) - to_chat(owner, "The ringing in your ears grows louder, blocking out any external noises for a moment.") + to_chat(owner, span_warning("The ringing in your ears grows louder, blocking out any external noises for a moment.")) . = ..() // if we have non-damage related deafness like mutations, quirks or clothing (earmuffs), don't bother processing here. Ear healing from earmuffs or chems happen elsewhere @@ -88,13 +88,13 @@ /obj/item/organ/ears/penguin/Insert(mob/living/carbon/human/ear_owner, special = 0, drop_if_replaced = TRUE) . = ..() if(istype(ear_owner)) - to_chat(ear_owner, "You suddenly feel like you've lost your balance.") + to_chat(ear_owner, span_notice("You suddenly feel like you've lost your balance.")) ear_owner.AddElement(/datum/element/waddling) /obj/item/organ/ears/penguin/Remove(mob/living/carbon/human/ear_owner, special = 0) . = ..() if(istype(ear_owner)) - to_chat(ear_owner, "Your sense of balance comes back to you.") + to_chat(ear_owner, span_notice("Your sense of balance comes back to you.")) ear_owner.RemoveElement(/datum/element/waddling) /obj/item/organ/ears/bronze diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index f79b4ed8129..63b400ac3a8 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -159,7 +159,7 @@ return if(prob(10 * severity)) return - to_chat(owner, "Static obfuscates your vision!") + to_chat(owner, span_warning("Static obfuscates your vision!")) owner.flash_act(visual = 1) /obj/item/organ/eyes/robotic/basic @@ -174,7 +174,7 @@ return if(prob(10 * severity)) damage += 20 * severity - to_chat(owner, "Your eyes start to fizzle in their sockets!") + to_chat(owner, span_warning("Your eyes start to fizzle in their sockets!")) do_sparks(2, TRUE, owner) owner.emote("scream") @@ -334,13 +334,13 @@ /obj/item/organ/eyes/robotic/glow/proc/activate(silent = FALSE) start_visuals() if(!silent) - to_chat(owner, "Your [src] clicks and makes a whining noise, before shooting out a beam of light!") + to_chat(owner, span_warning("Your [src] clicks and makes a whining noise, before shooting out a beam of light!")) cycle_mob_overlay() /obj/item/organ/eyes/robotic/glow/proc/deactivate(silent = FALSE) clear_visuals() if(!silent) - to_chat(owner, "Your [src] shuts off!") + to_chat(owner, span_warning("Your [src] shuts off!")) remove_mob_overlay() /obj/item/organ/eyes/robotic/glow/proc/update_visuals(datum/source, olddir, newdir) @@ -482,7 +482,7 @@ var/turf/owner_turf = get_turf(owner) var/lums = owner_turf.get_lumcount() if(lums > 0.5) //we allow a little more than usual so we can produce light from the adapted eyes - to_chat(owner, "Your eyes! They burn in the light!") + to_chat(owner, span_danger("Your eyes! They burn in the light!")) applyOrganDamage(10) //blind quickly playsound(owner, 'sound/machines/grill/grillsizzle.ogg', 50) else diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index cb44005a4fe..f63d5d2a706 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -39,7 +39,7 @@ ..() if(!beating) user.visible_message("[user] squeezes [src] to \ - make it beat again!","You squeeze [src] to make it beat again!") + make it beat again!
    ",span_notice("You squeeze [src] to make it beat again!")) Restart() addtimer(CALLBACK(src, .proc/stop_if_unowned), 80) @@ -75,7 +75,7 @@ if(heart_owner.health <= heart_owner.crit_threshold && beat != BEAT_SLOW) beat = BEAT_SLOW heart_owner.playsound_local(get_turf(heart_owner), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) - to_chat(owner, "You feel your heart slow down...") + to_chat(owner, span_notice("You feel your heart slow down...")) if(beat == BEAT_SLOW && heart_owner.health > heart_owner.crit_threshold) heart_owner.stop_sound_channel(CHANNEL_HEARTBEAT) beat = BEAT_NONE @@ -90,8 +90,8 @@ if(organ_flags & ORGAN_FAILING && !(HAS_TRAIT(src, TRAIT_STABLEHEART))) //heart broke, stopped beating, death imminent... unless you have veins that pump blood without a heart if(owner.stat == CONSCIOUS) - owner.visible_message("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!", \ - "You feel a terrible pain in your chest, as if your heart has stopped!") + owner.visible_message(span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), \ + span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!")) owner.set_heartattack(TRUE) failed = TRUE @@ -130,7 +130,7 @@ var/mob/living/carbon/human/accursed_human = owner if(accursed_human.dna && !(NOBLOOD in accursed_human.dna.species.species_traits)) accursed_human.blood_volume = max(accursed_human.blood_volume - blood_loss, 0) - to_chat(accursed_human, "You have to keep pumping your blood!") + to_chat(accursed_human, span_userdanger("You have to keep pumping your blood!")) if(add_colour) accursed_human.add_client_colour(/datum/client_colour/cursed_heart_blood) //bloody screen so real add_colour = FALSE @@ -140,7 +140,7 @@ /obj/item/organ/heart/cursed/Insert(mob/living/carbon/accursed, special = 0) ..() if(owner) - to_chat(owner, "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!") + to_chat(owner, span_userdanger("Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!")) /obj/item/organ/heart/cursed/Remove(mob/living/carbon/accursed, special = 0) ..() @@ -156,12 +156,12 @@ var/obj/item/organ/heart/cursed/cursed_heart = target if(world.time < (cursed_heart.last_pump + (cursed_heart.pump_delay-10))) //no spam - to_chat(owner, "Too soon!") + to_chat(owner, span_userdanger("Too soon!")) return cursed_heart.last_pump = world.time playsound(owner,'sound/effects/singlebeat.ogg',40,TRUE) - to_chat(owner, "Your heart beats.") + to_chat(owner, span_notice("Your heart beats.")) var/mob/living/carbon/human/accursed = owner if(istype(accursed)) @@ -222,8 +222,8 @@ if(prob(emp_vulnerability/severity)) //Chance of permanent effects organ_flags |= ORGAN_SYNTHETIC_EMP //Starts organ faliure - gonna need replacing soon. Stop() - owner.visible_message("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!", \ - "You feel a terrible pain in your chest, as if your heart has stopped!") + owner.visible_message(span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), \ + span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!")) addtimer(CALLBACK(src, .proc/Restart), 10 SECONDS) /obj/item/organ/heart/cybernetic/on_life(delta_time, times_fired) @@ -250,7 +250,7 @@ . = ..() if(owner.health < 5 && COOLDOWN_FINISHED(src, adrenaline_cooldown)) COOLDOWN_START(src, adrenaline_cooldown, rand(25 SECONDS, 1 MINUTES)) - to_chat(owner, "You feel yourself dying, but you refuse to give up!") + to_chat(owner, span_userdanger("You feel yourself dying, but you refuse to give up!")) owner.heal_overall_damage(15, 15, 0, BODYPART_ORGANIC) if(owner.reagents.get_reagent_amount(/datum/reagent/medicine/ephedrine) < 20) owner.reagents.add_reagent(/datum/reagent/medicine/ephedrine, 10) @@ -313,11 +313,11 @@ switch(timeleft(crystalize_timer_id)) if(0 to CRYSTALIZE_STAGE_ENGULFING) - examine_list += "Crystals are almost engulfing [examined_human]! " + examine_list += span_warning("Crystals are almost engulfing [examined_human]! ") if(CRYSTALIZE_STAGE_ENGULFING to CRYSTALIZE_STAGE_ENCROACHING) - examine_list += "Crystals are starting to cover [examined_human]. " + examine_list += span_notice("Crystals are starting to cover [examined_human]. ") if(CRYSTALIZE_STAGE_SMALL to INFINITY) - examine_list += "Some crystals are coming out of [examined_human]. " + examine_list += span_notice("Some crystals are coming out of [examined_human]. ") ///On stat changes, if the victim is no longer dead but they're crystalizing, cancel it, if they become dead, start the crystalizing process if possible /obj/item/organ/heart/ethereal/proc/on_stat_change(mob/living/victim, new_stat) @@ -335,8 +335,8 @@ if(!COOLDOWN_FINISHED(src, crystalize_cooldown)) return //lol double rip - to_chat(victim, "Crystals start forming around your dead body.") - victim.visible_message("Crystals start forming around [victim].") + to_chat(victim, span_nicegreen("Crystals start forming around your dead body.")) + victim.visible_message(span_notice("Crystals start forming around [victim].")) ADD_TRAIT(victim, TRAIT_CORPSELOCKED, SPECIES_TRAIT) crystalize_timer_id = addtimer(CALLBACK(src, .proc/crystalize, victim), CRYSTALIZE_PRE_WAIT_TIME, TIMER_STOPPABLE) @@ -348,8 +348,8 @@ ///Ran when disarmed, prevents the ethereal from reviving /obj/item/organ/heart/ethereal/proc/reset_crystalizing(mob/living/defender, mob/living/attacker, zone) SIGNAL_HANDLER - to_chat(defender, "The crystals on your corpse are gently broken off, and will need some time to recover.") - defender.visible_message("The crystals on [defender] are gently broken off.") + to_chat(defender, span_notice("The crystals on your corpse are gently broken off, and will need some time to recover.")) + defender.visible_message(span_notice("The crystals on [defender] are gently broken off.")) deltimer(crystalize_timer_id) crystalize_timer_id = addtimer(CALLBACK(src, .proc/crystalize, defender), CRYSTALIZE_DISARM_WAIT_TIME, TIMER_STOPPABLE) //Lets us restart the timer on disarm @@ -363,7 +363,7 @@ return //Should probably not happen, but lets be safe. if(ismob(location) || isitem(location)) //Stops crystallization if they are eaten by a dragon, turned into a legion, consumed by his grace, etc. - to_chat(ethereal, "You were unable to finish your crystallization, for obvious reasons.") + to_chat(ethereal, span_warning("You were unable to finish your crystallization, for obvious reasons.")) stop_crystalization_process(ethereal, FALSE) return COOLDOWN_START(src, crystalize_cooldown, INFINITY) //Prevent cheeky double-healing until we get out, this is against stupid admemery @@ -405,8 +405,8 @@ var/mob/living/carbon/human/ethereal = source - to_chat(ethereal, "The crystals on your body have completely broken") - ethereal.visible_message("The crystals on [ethereal] are completely shattered and stopped growing") + to_chat(ethereal, span_warning("The crystals on your body have completely broken")) + ethereal.visible_message(span_notice("The crystals on [ethereal] are completely shattered and stopped growing")) stop_crystalization_process(ethereal) @@ -430,8 +430,8 @@ /obj/structure/ethereal_crystal/Initialize(mapload, obj/item/organ/heart/ethereal/ethereal_heart) . = ..() src.ethereal_heart = ethereal_heart - ethereal_heart.owner.visible_message("The crystals fully encase [ethereal_heart.owner]!") - to_chat(ethereal_heart.owner, "You are encased in a huge crystal!") + ethereal_heart.owner.visible_message(span_notice("The crystals fully encase [ethereal_heart.owner]!")) + to_chat(ethereal_heart.owner, span_notice("You are encased in a huge crystal!")) playsound(get_turf(src), 'sound/effects/ethereal_crystalization.ogg', 50) ethereal_heart.owner.forceMove(src) //put that ethereal in add_atom_colour(ethereal_heart.ethereal_color, FIXED_COLOUR_PRIORITY) @@ -459,7 +459,7 @@ ethereal_heart.owner.forceMove(get_turf(src)) REMOVE_TRAIT(ethereal_heart.owner, TRAIT_CORPSELOCKED, SPECIES_TRAIT) deltimer(crystal_heal_timer) - visible_message("The crystals shatters, causing [ethereal_heart.owner] to fall out") + visible_message(span_notice("The crystals shatters, causing [ethereal_heart.owner] to fall out")) return ..() /obj/structure/ethereal_crystal/update_overlays() @@ -471,7 +471,7 @@ /obj/structure/ethereal_crystal/proc/heal_ethereal() ethereal_heart.owner.revive(TRUE, FALSE) - to_chat(ethereal_heart.owner, "You burst out of the crystal with vigour... But at a cost.") + to_chat(ethereal_heart.owner, span_notice("You burst out of the crystal with vigour...
    But at a cost.")) var/datum/brain_trauma/picked_trauma if(prob(10)) //10% chance for a severe trauma picked_trauma = pick(subtypesof(/datum/brain_trauma/severe)) diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index 42cd584654a..d0ffc87ba1c 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -54,7 +54,7 @@ if(HAS_TRAIT(src, TRAIT_CULINARY_METABOLISM)) . += "The high iron content and slight smell of garlic, implies that this is the liver of a cook." if(HAS_TRAIT(src, TRAIT_COMEDY_METABOLISM)) - . += "A smell of bananas, a slippery sheen and honking when depressed, implies that this is the liver of a clown." + . += "A smell of bananas, a slippery sheen and [span_clown("honking")] when depressed, implies that this is the liver of a clown." if(HAS_TRAIT(src, TRAIT_MEDICAL_METABOLISM)) . += "Marks of stress and a faint whiff of medicinal alcohol, imply that this is the liver of a medical worker." if(HAS_TRAIT(src, TRAIT_GREYTIDE_METABOLISM)) @@ -99,7 +99,7 @@ liver_owner.reagents.metabolize(liver_owner, delta_time, times_fired, can_overdose=TRUE) if(provide_pain_message && damage > 10 && DT_PROB(damage/6, delta_time)) //the higher the damage the higher the probability - to_chat(liver_owner, "You feel a dull pain in your abdomen.") + to_chat(liver_owner, span_warning("You feel a dull pain in your abdomen.")) if(damage > maxHealth)//cap liver damage @@ -170,11 +170,11 @@ return switch(failure_time) if(0 to 3 * LIVER_FAILURE_STAGE_SECONDS - 1) - examine_list += "[owner]'s eyes are slightly yellow." + examine_list += span_notice("[owner]'s eyes are slightly yellow.") if(3 * LIVER_FAILURE_STAGE_SECONDS to 4 * LIVER_FAILURE_STAGE_SECONDS - 1) - examine_list += "[owner]'s eyes are completely yellow, and he is visibly suffering." + examine_list += span_notice("[owner]'s eyes are completely yellow, and he is visibly suffering.") if(4 * LIVER_FAILURE_STAGE_SECONDS to INFINITY) - examine_list += "[owner]'s eyes are completely yellow and swelling with pus. [owner.p_they()] don't look like they will be alive for much longer." + examine_list += span_danger("[owner]'s eyes are completely yellow and swelling with pus. [owner.p_they()] don't look like they will be alive for much longer.") /obj/item/organ/liver/on_death(delta_time, times_fired) . = ..() diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index a90fc581750..322063de0aa 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -300,7 +300,7 @@ breather.emote("burp") if (prob(nitryl_pp) && nitryl_pp>10) breather.adjustOrganLoss(ORGAN_SLOT_LUNGS, nitryl_pp/2) - to_chat(breather, "You feel a burning sensation in your chest") + to_chat(breather, span_notice("You feel a burning sensation in your chest")) gas_breathed = breath_gases[/datum/gas/nitryl][MOLES] if (gas_breathed > gas_stimulation_min) breather.reagents.add_reagent(/datum/reagent/nitryl,1) @@ -310,12 +310,12 @@ // Freon var/freon_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/freon][MOLES]) if (prob(freon_pp)) - to_chat(breather, "Your mouth feels like it's burning!") + to_chat(breather, span_alert("Your mouth feels like it's burning!")) if (freon_pp >40) breather.emote("gasp") breather.adjustFireLoss(15) if (prob(freon_pp/2)) - to_chat(breather, "Your throat closes up!") + to_chat(breather, span_alert("Your throat closes up!")) breather.silent = max(breather.silent, 3) else breather.adjustFireLoss(freon_pp/4) @@ -329,7 +329,7 @@ var/healium_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/healium][MOLES]) if(healium_pp > gas_stimulation_min) if(prob(15)) - to_chat(breather, "Your head starts spinning and your lungs burn!") + to_chat(breather, span_alert("Your head starts spinning and your lungs burn!")) healium_euphoria = EUPHORIA_ACTIVE breather.emote("gasp") else @@ -395,22 +395,22 @@ // At lower pp, give out a little warning SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "smell") if(prob(5)) - to_chat(owner, "There is an unpleasant smell in the air.") + to_chat(owner, span_notice("There is an unpleasant smell in the air.")) if(5 to 15) //At somewhat higher pp, warning becomes more obvious if(prob(15)) - to_chat(owner, "You smell something horribly decayed inside this room.") + to_chat(owner, span_warning("You smell something horribly decayed inside this room.")) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/bad_smell) if(15 to 30) //Small chance to vomit. By now, people have internals on anyway if(prob(5)) - to_chat(owner, "The stench of rotting carcasses is unbearable!") + to_chat(owner, span_warning("The stench of rotting carcasses is unbearable!")) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench) owner.vomit() if(30 to INFINITY) //Higher chance to vomit. Let the horror start if(prob(15)) - to_chat(owner, "The stench of rotting carcasses is unbearable!") + to_chat(owner, span_warning("The stench of rotting carcasses is unbearable!")) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench) owner.vomit() else @@ -468,7 +468,7 @@ breather.apply_damage_type(cold_level_1_damage*cold_modifier, cold_damage_type) if(breath_temperature < cold_level_1_threshold) if(prob(20)) - to_chat(breather, "You feel [cold_message] in your [name]!") + to_chat(breather, span_warning("You feel [cold_message] in your [name]!")) if(!HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE var/heat_modifier = breather.dna.species.heatmod @@ -480,7 +480,7 @@ breather.apply_damage_type(heat_level_3_damage*heat_modifier, heat_damage_type) if(breath_temperature > heat_level_1_threshold) if(prob(20)) - to_chat(breather, "You feel [hot_message] in your [name]!") + to_chat(breather, span_warning("You feel [hot_message] in your [name]!")) // The air you breathe out should match your body temperature breath.temperature = breather.bodytemperature @@ -495,7 +495,7 @@ if(do_i_cough) owner.emote("cough") if(organ_flags & ORGAN_FAILING && owner.stat == CONSCIOUS) - owner.visible_message("[owner] grabs [owner.p_their()] throat, struggling for breath!", "You suddenly feel like you can't breathe!") + owner.visible_message(span_danger("[owner] grabs [owner.p_their()] throat, struggling for breath!"), span_userdanger("You suddenly feel like you can't breathe!")) failed = TRUE /obj/item/organ/lungs/get_availability(datum/species/owner_species) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 442d72a3963..395f1badda5 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -132,17 +132,17 @@ /obj/item/organ/examine(mob/user) . = ..() - . += "It should be inserted in the [parse_zone(zone)]." + . += span_notice("It should be inserted in the [parse_zone(zone)].") if(organ_flags & ORGAN_FAILING) if(status == ORGAN_ROBOTIC) - . += "[src] seems to be broken." + . += span_warning("[src] seems to be broken.") return - . += "[src] has decayed for too long, and has turned a sickly color. It probably won't work without repairs." + . += span_warning("[src] has decayed for too long, and has turned a sickly color. It probably won't work without repairs.") return if(damage > high_threshold) - . += "[src] is starting to look discolored." + . += span_warning("[src] is starting to look discolored.") /obj/item/organ/Initialize() . = ..() diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index cc25b90f91e..4d076482e43 100755 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -106,13 +106,13 @@ //The stomach is damage has nutriment but low on theshhold, lo prob of vomit if(DT_PROB(0.0125 * damage * nutri_vol * nutri_vol, delta_time)) body.vomit(damage) - to_chat(body, "Your stomach reels in pain as you're incapable of holding down all that food!") + to_chat(body, span_warning("Your stomach reels in pain as you're incapable of holding down all that food!")) return // the change of vomit is now high if(damage > high_threshold && DT_PROB(0.05 * damage * nutri_vol * nutri_vol, delta_time)) body.vomit(damage) - to_chat(body, "Your stomach reels in pain as you're incapable of holding down all that food!") + to_chat(body, span_warning("Your stomach reels in pain as you're incapable of holding down all that food!")) /obj/item/organ/stomach/get_availability(datum/species/owner_species) return !(NOSTOMACH in owner_species.inherent_traits) @@ -125,7 +125,7 @@ disgusted.stuttering += 1 disgusted.add_confusion(2) if(DT_PROB(5, delta_time) && !disgusted.stat) - to_chat(disgusted, "You feel kind of iffy...") + to_chat(disgusted, span_warning("You feel kind of iffy...")) disgusted.jitteriness = max(disgusted.jitteriness - 3, 0) if(disgusted.disgust >= DISGUST_LEVEL_VERYGROSS) if(DT_PROB(pukeprob, delta_time)) //iT hAndLeS mOrE ThaN PukInG @@ -174,7 +174,7 @@ var/mob/living/carbon/body = owner if(milk.volume > 50) reagents.remove_reagent(milk.type, milk.volume - 5) - to_chat(owner, "The excess milk is dripping off your bones!") + to_chat(owner, span_warning("The excess milk is dripping off your bones!")) body.heal_bodypart_damage(milk_brute_healing * REAGENTS_EFFECT_MULTIPLIER * delta_time, milk_burn_healing * REAGENTS_EFFECT_MULTIPLIER * delta_time) for(var/datum/wound/iter_wound as anything in body.all_wounds) @@ -218,7 +218,7 @@ if(flags & SHOCK_ILLUSION) return adjust_charge(shock_damage * siemens_coeff * 2) - to_chat(owner, "You absorb some of the shock into your body!") + to_chat(owner, span_notice("You absorb some of the shock into your body!")) /obj/item/organ/stomach/ethereal/proc/adjust_charge(amount) crystal_charge = clamp(crystal_charge + amount, ETHEREAL_CHARGE_NONE, ETHEREAL_CHARGE_DANGEROUS) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index ef22605ac3d..6148849a944 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -119,19 +119,19 @@ /datum/action/item_action/organ_action/statue/Trigger() . = ..() if(!iscarbon(owner)) - to_chat(owner, "Your body rejects the powers of the tongue!") + to_chat(owner, span_warning("Your body rejects the powers of the tongue!")) return var/mob/living/carbon/becoming_statue = owner if(becoming_statue.health < 1) - to_chat(becoming_statue, "You are too weak to become a statue!") + to_chat(becoming_statue, span_danger("You are too weak to become a statue!")) return if(!COOLDOWN_FINISHED(src, ability_cooldown)) - to_chat(becoming_statue, "You just used the ability, wait a little bit!") + to_chat(becoming_statue, span_warning("You just used the ability, wait a little bit!")) return var/is_statue = becoming_statue.loc == statue - to_chat(becoming_statue, "You begin to [is_statue ? "break free from the statue" : "make a glorious pose as you become a statue"]!") + to_chat(becoming_statue, span_notice("You begin to [is_statue ? "break free from the statue" : "make a glorious pose as you become a statue"]!")) if(!do_after(becoming_statue, (is_statue ? 5 : 30), target = get_turf(becoming_statue))) - to_chat(becoming_statue, "Your transformation is interrupted!") + to_chat(becoming_statue, span_warning("Your transformation is interrupted!")) COOLDOWN_START(src, ability_cooldown, 3 SECONDS) return COOLDOWN_START(src, ability_cooldown, 10 SECONDS) @@ -142,12 +142,12 @@ statue.set_custom_materials(list(/datum/material/silver=MINERAL_MATERIAL_AMOUNT*5)) if(is_statue) - statue.visible_message("[statue] becomes animated!") + statue.visible_message(span_danger("[statue] becomes animated!")) becoming_statue.forceMove(get_turf(statue)) statue.moveToNullspace() UnregisterSignal(becoming_statue, COMSIG_MOVABLE_MOVED) else - becoming_statue.visible_message("[becoming_statue] hardens into a silver statue.", "You have become a silver statue!") + becoming_statue.visible_message(span_notice("[becoming_statue] hardens into a silver statue."), span_notice("You have become a silver statue!")) statue.set_visuals(becoming_statue.appearance) statue.forceMove(get_turf(becoming_statue)) becoming_statue.forceMove(statue) @@ -162,7 +162,7 @@ UnregisterSignal(mover, COMSIG_MOVABLE_MOVED) /datum/action/item_action/organ_action/statue/proc/statue_destroyed(datum/source) - to_chat(owner, "Your existence as a living creature snaps as your statue form crumbles!") + to_chat(owner, span_userdanger("Your existence as a living creature snaps as your statue form crumbles!")) if(iscarbon(owner)) //drop everything, just in case var/mob/living/carbon/dying_carbon = owner @@ -228,27 +228,27 @@ return if(tongue.mothership == mothership) - to_chat(tongue_holder, "[src] is already attuned to the same channel as your own.") + to_chat(tongue_holder, span_notice("[src] is already attuned to the same channel as your own.")) - tongue_holder.visible_message("[tongue_holder] holds [src] in their hands, and concentrates for a moment.", "You attempt to modify the attenuation of [src].") + tongue_holder.visible_message(span_notice("[tongue_holder] holds [src] in their hands, and concentrates for a moment."), span_notice("You attempt to modify the attenuation of [src].")) if(do_after(tongue_holder, delay=15, target=src)) - to_chat(tongue_holder, "You attune [src] to your own channel.") + to_chat(tongue_holder, span_notice("You attune [src] to your own channel.")) mothership = tongue.mothership /obj/item/organ/tongue/abductor/examine(mob/examining_mob) . = ..() if(HAS_TRAIT(examining_mob, TRAIT_ABDUCTOR_TRAINING) || (examining_mob.mind && HAS_TRAIT(examining_mob.mind, TRAIT_ABDUCTOR_TRAINING)) || isobserver(examining_mob)) - . += "It can be attuned to a different channel by using it inhand." + . += span_notice("It can be attuned to a different channel by using it inhand.") if(!mothership) - . += "It is not attuned to a specific mothership." + . += span_notice("It is not attuned to a specific mothership.") else - . += "It is attuned to [mothership]." + . += span_notice("It is attuned to [mothership].") /obj/item/organ/tongue/abductor/handle_speech(datum/source, list/speech_args) //Hacks var/message = speech_args[SPEECH_MESSAGE] var/mob/living/carbon/human/user = source - var/rendered = "[user.real_name]: [message]" + var/rendered = span_abductor("[user.real_name]: [message]") user.log_talk(message, LOG_SAY, tag="abductor") for(var/mob/living/carbon/human/living_mob in GLOB.alive_mob_list) var/obj/item/organ/tongue/abductor/tongue = living_mob.getorganslot(ORGAN_SLOT_TONGUE) @@ -463,8 +463,8 @@ speech_args[SPEECH_MESSAGE] = new_message if(exclamation_found && question_found) - signer.visible_message("[signer] lowers one of [signer.p_their()] eyebrows, raising the other.") + signer.visible_message(span_notice("[signer] lowers one of [signer.p_their()] eyebrows, raising the other.")) else if(exclamation_found) - signer.visible_message("[signer] raises [signer.p_their()] eyebrows.") + signer.visible_message(span_notice("[signer] raises [signer.p_their()] eyebrows.")) else if(question_found) - signer.visible_message("[signer] lowers [signer.p_their()] eyebrows.") + signer.visible_message(span_notice("[signer] lowers [signer.p_their()] eyebrows.")) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 10042a2a287..535615b789a 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -39,7 +39,7 @@ owner.say(".x[message]") /obj/item/organ/vocal_cords/adamantine/handle_speech(message) - var/msg = "[owner.real_name] resonates, \"[message]\"" + var/msg = span_resonate(span_name("[owner.real_name] resonates, \"[message]\"")) for(var/player in GLOB.player_list) if(iscarbon(player)) var/mob/living/carbon/speaker = player @@ -86,7 +86,7 @@ . = ..() if(!IsAvailable()) if(world.time < cords.next_command) - to_chat(owner, "You must wait [DisplayTimeText(cords.next_command - world.time)] before Speaking again.") + to_chat(owner, span_notice("You must wait [DisplayTimeText(cords.next_command - world.time)] before Speaking again.")) return var/command = input(owner, "Speak with the Voice of God", "Command") if(QDELETED(src) || QDELETED(owner)) @@ -97,12 +97,12 @@ /obj/item/organ/vocal_cords/colossus/can_speak_with() if(world.time < next_command) - to_chat(owner, "You must wait [DisplayTimeText(next_command - world.time)] before Speaking again.") + to_chat(owner, span_notice("You must wait [DisplayTimeText(next_command - world.time)] before Speaking again.")) return FALSE if(!owner) return FALSE if(!owner.can_speak_vocal()) - to_chat(owner, "You are unable to speak!") + to_chat(owner, span_warning("You are unable to speak!")) return FALSE return TRUE diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm index 6ed3df48f69..13542cd7180 100644 --- a/code/modules/surgery/plastic_surgery.dm +++ b/code/modules/surgery/plastic_surgery.dm @@ -17,17 +17,17 @@ time = 64 /datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to alter [target]'s appearance.", "You begin to alter [target]'s appearance...") - display_results(user, target, "You begin to alter [target]'s appearance...", - "[user] begins to alter [target]'s appearance.", - "[user] begins to make an incision in [target]'s face.") + user.visible_message(span_notice("[user] begins to alter [target]'s appearance."), span_notice("You begin to alter [target]'s appearance...")) + display_results(user, target, span_notice("You begin to alter [target]'s appearance..."), + span_notice("[user] begins to alter [target]'s appearance."), + span_notice("[user] begins to make an incision in [target]'s face.")) /datum/surgery_step/reshape_face/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(HAS_TRAIT_FROM(target, TRAIT_DISFIGURED, TRAIT_GENERIC)) REMOVE_TRAIT(target, TRAIT_DISFIGURED, TRAIT_GENERIC) - display_results(user, target, "You successfully restore [target]'s appearance.", - "[user] successfully restores [target]'s appearance!", - "[user] finishes the operation on [target]'s face.") + display_results(user, target, span_notice("You successfully restore [target]'s appearance."), + span_notice("[user] successfully restores [target]'s appearance!"), + span_notice("[user] finishes the operation on [target]'s face.")) else var/list/names = list() if(!isabductor(user)) @@ -43,17 +43,17 @@ var/oldname = target.real_name target.real_name = chosen_name var/newname = target.real_name //something about how the code handles names required that I use this instead of target.real_name - display_results(user, target, "You alter [oldname]'s appearance completely, [target.p_they()] is now [newname].", - "[user] alters [oldname]'s appearance completely, [target.p_they()] is now [newname]!", - "[user] finishes the operation on [target]'s face.") + display_results(user, target, span_notice("You alter [oldname]'s appearance completely, [target.p_they()] is now [newname]."), + span_notice("[user] alters [oldname]'s appearance completely, [target.p_they()] is now [newname]!"), + span_notice("[user] finishes the operation on [target]'s face.")) if(ishuman(target)) var/mob/living/carbon/human/human_target = target human_target.sec_hud_set_ID() return ..() /datum/surgery_step/reshape_face/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You screw up, leaving [target]'s appearance disfigured!", - "[user] screws up, disfiguring [target]'s appearance!", - "[user] finishes the operation on [target]'s face.") + display_results(user, target, span_warning("You screw up, leaving [target]'s appearance disfigured!"), + span_notice("[user] screws up, disfiguring [target]'s appearance!"), + span_notice("[user] finishes the operation on [target]'s face.")) ADD_TRAIT(target, TRAIT_DISFIGURED, TRAIT_GENERIC) return FALSE diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index 44082d6025d..8232e34ebe1 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -33,42 +33,42 @@ /datum/surgery_step/add_prosthetic/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(istype(tool, /obj/item/borg/apparatus/organ_storage)) if(!tool.contents.len) - to_chat(user, "There is nothing inside [tool]!") + to_chat(user, span_warning("There is nothing inside [tool]!")) return -1 var/obj/item/organ_storage_contents = tool.contents[1] if(!isbodypart(organ_storage_contents)) - to_chat(user, "[organ_storage_contents] cannot be attached!") + to_chat(user, span_warning("[organ_storage_contents] cannot be attached!")) return -1 tool = organ_storage_contents if(istype(tool, /obj/item/bodypart)) var/obj/item/bodypart/bodypart_to_attach = tool if(ismonkey(target))// monkey patient only accept organic monkey limbs if(bodypart_to_attach.status == BODYPART_ROBOTIC || bodypart_to_attach.animal_origin != MONKEY_BODYPART) - to_chat(user, "[bodypart_to_attach] doesn't match the patient's morphology.") + to_chat(user, span_warning("[bodypart_to_attach] doesn't match the patient's morphology.")) return -1 if(bodypart_to_attach.status != BODYPART_ROBOTIC) organ_rejection_dam = 10 if(ishuman(target)) if(bodypart_to_attach.animal_origin) - to_chat(user, "[bodypart_to_attach] doesn't match the patient's morphology.") + to_chat(user, span_warning("[bodypart_to_attach] doesn't match the patient's morphology.")) return -1 var/mob/living/carbon/human/human_target = target if(human_target.dna.species.id != bodypart_to_attach.species_id) organ_rejection_dam = 30 if(target_zone == bodypart_to_attach.body_zone) //so we can't replace a leg with an arm, or a human arm with a monkey arm. - display_results(user, target, "You begin to replace [target]'s [parse_zone(target_zone)] with [tool]...", - "[user] begins to replace [target]'s [parse_zone(target_zone)] with [tool].", - "[user] begins to replace [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to replace [target]'s [parse_zone(target_zone)] with [tool]..."), + span_notice("[user] begins to replace [target]'s [parse_zone(target_zone)] with [tool]."), + span_notice("[user] begins to replace [target]'s [parse_zone(target_zone)].")) else - to_chat(user, "[tool] isn't the right type for [parse_zone(target_zone)].") + to_chat(user, span_warning("[tool] isn't the right type for [parse_zone(target_zone)].")) return -1 else if(target_zone == BODY_ZONE_L_ARM || target_zone == BODY_ZONE_R_ARM) - display_results(user, target, "You begin to attach [tool] onto [target]...", - "[user] begins to attach [tool] onto [target]'s [parse_zone(target_zone)].", - "[user] begins to attach something onto [target]'s [parse_zone(target_zone)].") + display_results(user, target, span_notice("You begin to attach [tool] onto [target]..."), + span_notice("[user] begins to attach [tool] onto [target]'s [parse_zone(target_zone)]."), + span_notice("[user] begins to attach something onto [target]'s [parse_zone(target_zone)].")) else - to_chat(user, "[tool] must be installed onto an arm.") + to_chat(user, span_warning("[tool] must be installed onto an arm.")) return -1 /datum/surgery_step/add_prosthetic/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) @@ -81,29 +81,29 @@ if(istype(tool, /obj/item/bodypart) && user.temporarilyRemoveItemFromInventory(tool)) var/obj/item/bodypart/limb_to_attach = tool if(!limb_to_attach.attach_limb(target)) - display_results(user, target, "You fail in replacing [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!", - "[user] fails to replace [target]'s [parse_zone(target_zone)]!", - "[user] fails to replaces [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_warning("You fail in replacing [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!"), + span_warning("[user] fails to replace [target]'s [parse_zone(target_zone)]!"), + span_warning("[user] fails to replaces [target]'s [parse_zone(target_zone)]!")) return if(organ_rejection_dam) target.adjustToxLoss(organ_rejection_dam) - display_results(user, target, "You succeed in replacing [target]'s [parse_zone(target_zone)].", - "[user] successfully replaces [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully replaces [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You succeed in replacing [target]'s [parse_zone(target_zone)]."), + span_notice("[user] successfully replaces [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully replaces [target]'s [parse_zone(target_zone)]!")) return else var/obj/item/bodypart/limb_to_attach = target.newBodyPart(target_zone, FALSE, FALSE) limb_to_attach.is_pseudopart = TRUE if(!limb_to_attach.attach_limb(target)) - display_results(user, target, "You fail in attaching [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!", - "[user] fails to attach [target]'s [parse_zone(target_zone)]!", - "[user] fails to attach [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_warning("You fail in attaching [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!"), + span_warning("[user] fails to attach [target]'s [parse_zone(target_zone)]!"), + span_warning("[user] fails to attach [target]'s [parse_zone(target_zone)]!")) limb_to_attach.forceMove(target.loc) return - user.visible_message("[user] finishes attaching [tool]!", "You attach [tool].") - display_results(user, target, "You attach [tool].", - "[user] finishes attaching [tool]!", - "[user] finishes the attachment procedure!") + user.visible_message(span_notice("[user] finishes attaching [tool]!"), span_notice("You attach [tool].")) + display_results(user, target, span_notice("You attach [tool]."), + span_notice("[user] finishes attaching [tool]!"), + span_notice("[user] finishes the attachment procedure!")) qdel(tool) if(istype(tool, /obj/item/chainsaw)) var/obj/item/mounted_chainsaw/new_arm = new(target) diff --git a/code/modules/surgery/repair_puncture.dm b/code/modules/surgery/repair_puncture.dm index 5d55c8ef431..9cd3602b7c4 100644 --- a/code/modules/surgery/repair_puncture.dm +++ b/code/modules/surgery/repair_puncture.dm @@ -41,27 +41,27 @@ /datum/surgery_step/repair_innards/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/datum/wound/pierce/pierce_wound = surgery.operated_wound if(!pierce_wound) - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) return if(pierce_wound.blood_flow <= 0) - to_chat(user, "[target]'s [parse_zone(user.zone_selected)] has no puncture to repair!") + to_chat(user, span_notice("[target]'s [parse_zone(user.zone_selected)] has no puncture to repair!")) surgery.status++ return - display_results(user, target, "You begin to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool].", - "[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool]."), + span_notice("[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)].")) /datum/surgery_step/repair_innards/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/datum/wound/pierce/pierce_wound = surgery.operated_wound if(!pierce_wound) - to_chat(user, "[target] has no puncture wound there!") + to_chat(user, span_warning("[target] has no puncture wound there!")) return ..() - display_results(user, target, "You successfully realign some of the blood vessels in [target]'s [parse_zone(target_zone)].", - "[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully realign some of the blood vessels in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "excised infected flesh in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") surgery.operated_bodypart.receive_damage(brute=3, wound_bonus=CANT_WOUND) pierce_wound.blood_flow -= 0.25 @@ -69,9 +69,9 @@ /datum/surgery_step/repair_innards/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) . = ..() - display_results(user, target, "You jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)].", - "[user] jerks apart some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)]."), + span_notice("[user] jerks apart some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)]!")) surgery.operated_bodypart.receive_damage(brute=rand(4,8), sharpness=SHARP_EDGED, wound_bonus = 10) ///// Sealing the vessels back together @@ -93,28 +93,28 @@ /datum/surgery_step/seal_veins/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/datum/wound/pierce/pierce_wound = surgery.operated_wound if(!pierce_wound) - user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) return - display_results(user, target, "You begin to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)]...", - "[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool].", - "[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)].") + display_results(user, target, span_notice("You begin to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)]..."), + span_notice("[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool]."), + span_notice("[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)].")) /datum/surgery_step/seal_veins/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/datum/wound/pierce/pierce_wound = surgery.operated_wound if(!pierce_wound) - to_chat(user, "[target] has no puncture there!") + to_chat(user, span_warning("[target] has no puncture there!")) return ..() - display_results(user, target, "You successfully meld some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool].", - "[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!", - "[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)]!") + display_results(user, target, span_notice("You successfully meld some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool]."), + span_notice("[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!"), + span_notice("[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)]!")) log_combat(user, target, "dressed burns in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") pierce_wound.blood_flow -= 0.5 if(pierce_wound.blood_flow > 0) surgery.status = REALIGN_INNARDS - to_chat(user, "There still seems to be misaligned blood vessels to finish...") + to_chat(user, span_notice("There still seems to be misaligned blood vessels to finish...")) else - to_chat(user, "You've repaired all the internal damage in [target]'s [parse_zone(target_zone)]!") + to_chat(user, span_green("You've repaired all the internal damage in [target]'s [parse_zone(target_zone)]!")) return ..() #undef REALIGN_INNARDS diff --git a/code/modules/surgery/revival.dm b/code/modules/surgery/revival.dm index 941e064bb03..b8d620a98db 100644 --- a/code/modules/surgery/revival.dm +++ b/code/modules/surgery/revival.dm @@ -40,48 +40,48 @@ if(istype(tool, /obj/item/shockpaddles)) var/obj/item/shockpaddles/paddles = tool if((paddles.req_defib && !paddles.defib.powered) || !paddles.wielded || paddles.cooldown || paddles.busy) - to_chat(user, "You need to wield both paddles, and [paddles.defib] must be powered!") + to_chat(user, span_warning("You need to wield both paddles, and [paddles.defib] must be powered!")) return FALSE if(istype(tool, /obj/item/melee/baton)) var/obj/item/melee/baton/baton = tool if(!baton.turned_on) - to_chat(user, "[baton] needs to be active!") + to_chat(user, span_warning("[baton] needs to be active!")) return FALSE if(istype(tool, /obj/item/gun/energy)) var/obj/item/gun/energy/egun = tool if(egun.chambered && istype(egun.chambered, /obj/item/ammo_casing/energy/electrode)) return TRUE else - to_chat(user, "You need an electrode for this!") + to_chat(user, span_warning("You need an electrode for this!")) return FALSE /datum/surgery_step/revive/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You prepare to give [target]'s brain the spark of life with [tool].", - "[user] prepares to shock [target]'s brain with [tool].", - "[user] prepares to shock [target]'s brain with [tool].") + display_results(user, target, span_notice("You prepare to give [target]'s brain the spark of life with [tool]."), + span_notice("[user] prepares to shock [target]'s brain with [tool]."), + span_notice("[user] prepares to shock [target]'s brain with [tool].")) target.notify_ghost_cloning("Someone is trying to zap your brain.", source = target) /datum/surgery_step/revive/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) - display_results(user, target, "You successfully shock [target]'s brain with [tool]...", - "[user] send a powerful shock to [target]'s brain with [tool]...", - "[user] send a powerful shock to [target]'s brain with [tool]...") + display_results(user, target, span_notice("You successfully shock [target]'s brain with [tool]..."), + span_notice("[user] send a powerful shock to [target]'s brain with [tool]..."), + span_notice("[user] send a powerful shock to [target]'s brain with [tool]...")) playsound(get_turf(target), 'sound/magic/lightningbolt.ogg', 50, TRUE) target.grab_ghost() target.adjustOxyLoss(-50, 0) target.updatehealth() if(target.revive(full_heal = FALSE, admin_revive = FALSE)) - target.visible_message("...[target] wakes up, alive and aware!") + target.visible_message(span_notice("...[target] wakes up, alive and aware!")) target.emote("gasp") target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 50, 199) //MAD SCIENCE return TRUE else - target.visible_message("...[target.p_they()] convulses, then lies still.") + target.visible_message(span_warning("...[target.p_they()] convulses, then lies still.")) return FALSE /datum/surgery_step/revive/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You shock [target]'s brain with [tool], but [target.p_they()] doesn't react.", - "[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react.", - "[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react.") + display_results(user, target, span_notice("You shock [target]'s brain with [tool], but [target.p_they()] doesn't react."), + span_notice("[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react."), + span_notice("[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react.")) playsound(get_turf(target), 'sound/magic/lightningbolt.ogg', 50, TRUE) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 180) return FALSE diff --git a/code/modules/surgery/stomachpump.dm b/code/modules/surgery/stomachpump.dm index 1a8c2701c61..3fc9185a4b5 100644 --- a/code/modules/surgery/stomachpump.dm +++ b/code/modules/surgery/stomachpump.dm @@ -30,15 +30,15 @@ time = 20 /datum/surgery_step/stomach_pump/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin pumping [target]'s stomach...", - "[user] begins to pump [target]'s stomach.", - "[user] begins to press on [target]'s chest.") + display_results(user, target, span_notice("You begin pumping [target]'s stomach..."), + span_notice("[user] begins to pump [target]'s stomach."), + span_notice("[user] begins to press on [target]'s chest.")) /datum/surgery_step/stomach_pump/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) var/mob/living/carbon/human/target_human = target - display_results(user, target, "[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!", - "[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!", + display_results(user, target, span_notice("[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!"), + span_notice("[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!"), "[user] forces [target_human] to vomit!") target_human.vomit(20, FALSE, TRUE, 1, TRUE, FALSE, purge_ratio = 0.67) //higher purge ratio than regular vomiting return ..() @@ -46,8 +46,8 @@ /datum/surgery_step/stomach_pump/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(ishuman(target)) var/mob/living/carbon/human/target_human = target - display_results(user, target, "You screw up, brusing [target_human]'s chest!", - "[user] screws up, brusing [target_human]'s chest!", - "[user] screws up!") + display_results(user, target, span_warning("You screw up, brusing [target_human]'s chest!"), + span_warning("[user] screws up, brusing [target_human]'s chest!"), + span_warning("[user] screws up!")) target_human.adjustOrganLoss(ORGAN_SLOT_STOMACH, 5) target_human.adjustBruteLoss(5) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 59cac38e13e..163926f63e9 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -104,7 +104,7 @@ if(step.try_op(user, target, user.zone_selected, tool, src, try_to_fail)) return TRUE if(tool && tool.item_flags & SURGICAL_TOOL) //Just because you used the wrong tool it doesn't mean you meant to whack the patient with it - to_chat(user, "This step requires a different tool!") + to_chat(user, span_warning("This step requires a different tool!")) return TRUE return FALSE diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm index 95761695975..92da17b1905 100644 --- a/code/modules/surgery/surgery_step.dm +++ b/code/modules/surgery/surgery_step.dm @@ -42,7 +42,7 @@ if(get_location_accessible(target, target_zone) || surgery.ignore_clothes) initiate(user, target, target_zone, tool, surgery, try_to_fail) else - to_chat(user, "You need to expose [target]'s [parse_zone(target_zone)] to perform surgery on it!") + to_chat(user, span_warning("You need to expose [target]'s [parse_zone(target_zone)] to perform surgery on it!")) return TRUE //returns TRUE so we don't stab the guy in the dick or wherever. if(repeatable) @@ -114,15 +114,15 @@ return advance /datum/surgery_step/proc/preop(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to perform surgery on [target]...", - "[user] begins to perform surgery on [target].", - "[user] begins to perform surgery on [target].") + display_results(user, target, span_notice("You begin to perform surgery on [target]..."), + span_notice("[user] begins to perform surgery on [target]."), + span_notice("[user] begins to perform surgery on [target].")) /datum/surgery_step/proc/success(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = TRUE) if(default_display_results) - display_results(user, target, "You succeed.", - "[user] succeeds!", - "[user] finishes.") + display_results(user, target, span_notice("You succeed."), + span_notice("[user] succeeds!"), + span_notice("[user] finishes.")) return TRUE /datum/surgery_step/proc/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) @@ -135,9 +135,9 @@ if(75 to 99) screwedmessage = " This is practically impossible in these conditions..." - display_results(user, target, "You screw up![screwedmessage]", - "[user] screws up!", - "[user] finishes.", TRUE) //By default the patient will notice if the wrong thing has been cut + display_results(user, target, span_warning("You screw up![screwedmessage]"), + span_warning("[user] screws up!"), + span_notice("[user] finishes."), TRUE) //By default the patient will notice if the wrong thing has been cut return FALSE /datum/surgery_step/proc/tool_check(mob/user, obj/item/tool) @@ -174,4 +174,4 @@ user.visible_message(detailed_message, self_message, vision_distance = 1, ignored_mobs = target_detailed ? null : target) if(!target_detailed) var/you_feel = pick("a brief pain", "your body tense up", "an unnerving sensation") - target.show_message(vague_message, MSG_VISUAL, "You feel [you_feel] as you are operated on.") + target.show_message(vague_message, MSG_VISUAL, span_notice("You feel [you_feel] as you are operated on.")) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index ce3e3596dd8..618b6275a3d 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -58,7 +58,7 @@ toolspeed = 1 /obj/item/cautery/ignition_effect(atom/A, mob/user) - . = "[user] touches the end of [src] to \the [A], igniting it with a puff of smoke." + . = span_notice("[user] touches the end of [src] to \the [A], igniting it with a puff of smoke.") /obj/item/cautery/augment desc = "A heated element that cauterizes wounds." @@ -80,11 +80,11 @@ playsound(get_turf(user), 'sound/weapons/tap.ogg', 50, TRUE) if(tool_behaviour == TOOL_CAUTERY) tool_behaviour = TOOL_DRILL - to_chat(user, "You dilate the lenses of [src], it is now in drilling mode.") + to_chat(user, span_notice("You dilate the lenses of [src], it is now in drilling mode.")) icon_state = "surgicaldrill_a" else tool_behaviour = TOOL_CAUTERY - to_chat(user, "You focus the lenses of [src], it is now in mending mode.") + to_chat(user, span_notice("You focus the lenses of [src], it is now in mending mode.")) icon_state = "cautery_a" /obj/item/cautery/advanced/examine() @@ -117,7 +117,7 @@ AddElement(/datum/element/eyestab) /obj/item/surgicaldrill/suicide_act(mob/user) - user.visible_message("[user] rams [src] into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] rams [src] into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")) addtimer(CALLBACK(user, /mob/living/carbon.proc/gib, null, null, TRUE, TRUE), 25) user.SpinAnimation(3, 10) playsound(user, 'sound/machines/juicer.ogg', 20, TRUE) @@ -165,7 +165,7 @@ toolspeed = 0.5 /obj/item/scalpel/suicide_act(mob/user) - user.visible_message("[user] is slitting [user.p_their()] [pick("wrists", "throat", "stomach")] with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is slitting [user.p_their()] [pick("wrists", "throat", "stomach")] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return (BRUTELOSS) @@ -234,13 +234,13 @@ if(!proximity) return if(istype(O, /obj/item/disk/surgery)) - to_chat(user, "You load the surgery protocol from [O] into [src].") + to_chat(user, span_notice("You load the surgery protocol from [O] into [src].")) var/obj/item/disk/surgery/D = O if(do_after(user, 10, target = O)) advanced_surgeries |= D.surgeries return TRUE if(istype(O, /obj/machinery/computer/operating)) - to_chat(user, "You copy surgery protocols from [O] into [src].") + to_chat(user, span_notice("You copy surgery protocols from [O] into [src].")) var/obj/machinery/computer/operating/OC = O if(do_after(user, 10, target = O)) advanced_surgeries |= OC.advanced_surgeries @@ -265,13 +265,13 @@ playsound(get_turf(user), 'sound/machines/click.ogg', 50, TRUE) if(tool_behaviour == TOOL_SCALPEL) tool_behaviour = TOOL_SAW - to_chat(user, "You increase the power of [src], now it can cut bones.") + to_chat(user, span_notice("You increase the power of [src], now it can cut bones.")) set_light_range(2) force += 1 //we don't want to ruin sharpened stuff icon_state = "saw_a" else tool_behaviour = TOOL_SCALPEL - to_chat(user, "You lower the power of [src], it can no longer cut bones.") + to_chat(user, span_notice("You lower the power of [src], it can no longer cut bones.")) set_light_range(1) force -= 1 icon_state = "scalpel_a" @@ -291,11 +291,11 @@ playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, TRUE) if(tool_behaviour == TOOL_RETRACTOR) tool_behaviour = TOOL_HEMOSTAT - to_chat(user, "You configure the gears of [src], they are now in hemostat mode.") + to_chat(user, span_notice("You configure the gears of [src], they are now in hemostat mode.")) icon_state = "hemostat_a" else tool_behaviour = TOOL_RETRACTOR - to_chat(user, "You configure the gears of [src], they are now in retractor mode.") + to_chat(user, span_notice("You configure the gears of [src], they are now in retractor mode.")) icon_state = "retractor_a" /obj/item/retractor/advanced/examine() @@ -331,7 +331,7 @@ var/mob/living/carbon/patient = M if(HAS_TRAIT(patient, TRAIT_NODISMEMBER)) - to_chat(user, "The patient's limbs look too sturdy to amputate.") + to_chat(user, span_warning("The patient's limbs look too sturdy to amputate.")) return var/candidate_name @@ -341,20 +341,20 @@ if(user.zone_selected == BODY_ZONE_PRECISE_GROIN) tail_snip_candidate = patient.getorganslot(ORGAN_SLOT_TAIL) if(!tail_snip_candidate) - to_chat(user, "[patient] does not have a tail.") + to_chat(user, span_warning("[patient] does not have a tail.")) return candidate_name = tail_snip_candidate.name else limb_snip_candidate = patient.get_bodypart(check_zone(user.zone_selected)) if(!limb_snip_candidate) - to_chat(user, "[patient] is already missing that limb, what more do you want?") + to_chat(user, span_warning("[patient] is already missing that limb, what more do you want?")) return candidate_name = limb_snip_candidate.name var/amputation_speed_mod = 1 - patient.visible_message("[user] begins to secure [src] around [patient]'s [candidate_name].", "[user] begins to secure [src] around your [candidate_name]!") + patient.visible_message(span_danger("[user] begins to secure [src] around [patient]'s [candidate_name]."), span_userdanger("[user] begins to secure [src] around your [candidate_name]!")) playsound(get_turf(patient), 'sound/items/ratchet.ogg', 20, TRUE) if(patient.stat >= UNCONSCIOUS || HAS_TRAIT(patient, TRAIT_INCAPACITATED)) //if you're incapacitated (due to paralysis, a stun, being in staminacrit, etc.), critted, unconscious, or dead, it's much easier to properly line up a snip amputation_speed_mod *= 0.5 @@ -368,10 +368,10 @@ tail_snip_candidate.forceMove(get_turf(patient)) else limb_snip_candidate.dismember() - user.visible_message("[src] violently slams shut, amputating [patient]'s [candidate_name].", "You amputate [patient]'s [candidate_name] with [src].") + user.visible_message(span_danger("[src] violently slams shut, amputating [patient]'s [candidate_name]."), span_notice("You amputate [patient]'s [candidate_name] with [src].")) /obj/item/shears/suicide_act(mob/living/carbon/user) - user.visible_message("[user] is pinching [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is pinching [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) var/timer = 1 SECONDS for(var/obj/item/bodypart/thing in user.bodyparts) if(thing.body_part == CHEST) diff --git a/code/modules/swarmers/swarmer.dm b/code/modules/swarmers/swarmer.dm index b15c301830f..96a90123f27 100644 --- a/code/modules/swarmers/swarmer.dm +++ b/code/modules/swarmers/swarmer.dm @@ -154,10 +154,10 @@ */ /mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0) if(!isturf(loc)) - to_chat(src, "This is not a suitable location for fabrication. We need more space.") + to_chat(src, span_warning("This is not a suitable location for fabrication. We need more space.")) return if(resources < fabrication_cost) - to_chat(src, "You do not have the necessary resources to fabricate this object.") + to_chat(src, span_warning("You do not have the necessary resources to fabricate this object.")) return resources -= fabrication_cost return new fabrication_object(drop_location()) @@ -172,10 +172,10 @@ /mob/living/simple_animal/hostile/swarmer/proc/Integrate(obj/target) var/resource_gain = target.integrate_amount() if(resources + resource_gain > max_resources) - to_chat(src, "We cannot hold more materials!") + to_chat(src, span_warning("We cannot hold more materials!")) return TRUE if(!resource_gain) - to_chat(src, "[target] is incompatible with our internal matter recycler.") + to_chat(src, span_warning("[target] is incompatible with our internal matter recycler.")) return FALSE resources += resource_gain do_attack_animation(target) @@ -217,10 +217,10 @@ return if(!is_station_level(z) && !is_mining_level(z)) - to_chat(src, "Our bluespace transceiver cannot locate a viable bluespace link, our teleportation abilities are useless in this area.") + to_chat(src, span_warning("Our bluespace transceiver cannot locate a viable bluespace link, our teleportation abilities are useless in this area.")) return - to_chat(src, "Attempting to remove this being from our presence.") + to_chat(src, span_info("Attempting to remove this being from our presence.")) if(!do_mob(src, target, 30)) return @@ -262,13 +262,13 @@ */ /mob/living/simple_animal/hostile/swarmer/proc/dismantle_machine(obj/machinery/target) do_attack_animation(target) - to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.") + to_chat(src, span_info("We begin to dismantle this machine. We will need to be uninterrupted.")) var/obj/effect/temp_visual/swarmer/dismantle/dismantle_effect = new /obj/effect/temp_visual/swarmer/dismantle(get_turf(target)) dismantle_effect.pixel_x = target.pixel_x dismantle_effect.pixel_y = target.pixel_y dismantle_effect.pixel_z = target.pixel_z if(do_mob(src, target, 100)) - to_chat(src, "Dismantling complete.") + to_chat(src, span_info("Dismantling complete.")) var/atom/target_loc = target.drop_location() new /obj/item/stack/sheet/iron(target_loc, 5) for(var/p in target.component_parts) @@ -295,10 +295,10 @@ set category = "Swarmer" set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 4 resources." if(locate(/obj/structure/swarmer/trap) in loc) - to_chat(src, "There is already a trap here. Aborting.") + to_chat(src, span_warning("There is already a trap here. Aborting.")) return if(resources < 4) - to_chat(src, "We do not have the resources for this!") + to_chat(src, span_warning("We do not have the resources for this!")) return Fabricate(/obj/structure/swarmer/trap, 4) @@ -312,10 +312,10 @@ set category = "Swarmer" set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through. Costs 4 resources." if(locate(/obj/structure/swarmer/blockade) in loc) - to_chat(src, "There is already a blockade here. Aborting.") + to_chat(src, span_warning("There is already a blockade here. Aborting.")) return if(resources < 4) - to_chat(src, "We do not have the resources for this!") + to_chat(src, span_warning("We do not have the resources for this!")) return if(!do_mob(src, src, 1 SECONDS)) return @@ -330,12 +330,12 @@ set name = "Replicate" set category = "Swarmer" set desc = "Creates a duplicate of ourselves, capable of protecting us while we complete our objectives." - to_chat(src, "We are attempting to replicate ourselves. We will need to stand still until the process is complete.") + to_chat(src, span_info("We are attempting to replicate ourselves. We will need to stand still until the process is complete.")) if(resources < 20) - to_chat(src, "We do not have the resources for this!") + to_chat(src, span_warning("We do not have the resources for this!")) return if(!isturf(loc)) - to_chat(src, "This is not a suitable location for replicating ourselves. We need more room.") + to_chat(src, span_warning("This is not a suitable location for replicating ourselves. We need more room.")) return if(!do_mob(src, src, 5 SECONDS)) return @@ -362,11 +362,11 @@ /mob/living/simple_animal/hostile/swarmer/proc/repair_self() if(!isturf(loc)) return - to_chat(src, "Attempting to repair damage to our body, stand by...") + to_chat(src, span_info("Attempting to repair damage to our body, stand by...")) if(!do_mob(src, src, 10 SECONDS)) return adjustHealth(-maxHealth) - to_chat(src, "We successfully repaired ourselves.") + to_chat(src, span_info("We successfully repaired ourselves.")) /** * Called when a swarmer toggles its light diff --git a/code/modules/swarmers/swarmer_act.dm b/code/modules/swarmers/swarmer_act.dm index bac3ad9db3a..c10e91ba606 100644 --- a/code/modules/swarmers/swarmer_act.dm +++ b/code/modules/swarmers/swarmer_act.dm @@ -40,7 +40,7 @@ for(var/mob/living/living_content in contents) if(issilicon(living_content) || isbrain(living_content)) continue - to_chat(actor, "An organism has been detected inside this object. Aborting.") + to_chat(actor, span_warning("An organism has been detected inside this object. Aborting.")) return FALSE return ..() @@ -82,7 +82,7 @@ return TRUE /obj/structure/swarmer_beacon/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This machine is required for further reproduction of swarmers. Aborting.") + to_chat(actor, span_warning("This machine is required for further reproduction of swarmers. Aborting.")) return FALSE /obj/structure/flora/swarmer_act() @@ -113,17 +113,17 @@ var/area/turf_area = get_area(turf_in_range) //Check for dangerous pressure differences if (turf_in_range.return_turf_delta_p() > DANGEROUS_DELTA_P) - to_chat(actor, "Destroying this object has the potential to cause an explosive pressure release. Aborting.") + to_chat(actor, span_warning("Destroying this object has the potential to cause an explosive pressure release. Aborting.")) actor.LoseTarget() return TRUE //Check if breaking this door will expose the station to space/planetary atmos else if(turf_in_range.is_nearby_planetary_atmos() || isspaceturf(turf_in_range) || (!isonshuttle && (istype(turf_area, /area/shuttle) || istype(turf_area, /area/space))) || (isonshuttle && !istype(turf_area, /area/shuttle))) - to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.") + to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting.")) actor.LoseTarget() return FALSE //Check if this door is important in supermatter containment else if(istype(turf_area, /area/engineering/supermatter)) - to_chat(actor, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") + to_chat(actor, span_warning("Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.")) actor.LoseTarget() return FALSE actor.dis_integrate(src) @@ -152,47 +152,47 @@ return TRUE /obj/machinery/chem_dispenser/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "The volatile chemicals in this machine would destroy us. Aborting.") + to_chat(actor, span_warning("The volatile chemicals in this machine would destroy us. Aborting.")) return FALSE /obj/machinery/nuclearbomb/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This device's destruction would result in the extermination of everything in the area. Aborting.") + to_chat(actor, span_warning("This device's destruction would result in the extermination of everything in the area. Aborting.")) return FALSE /obj/effect/rune/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Searching... sensor malfunction! Target lost. Aborting.") + to_chat(actor, span_warning("Searching... sensor malfunction! Target lost. Aborting.")) return FALSE /obj/structure/reagent_dispensers/fueltank/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Destroying this object could cause a chain reaction. Aborting.") + to_chat(actor, span_warning("Destroying this object could cause a chain reaction. Aborting.")) return FALSE /obj/structure/cable/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Disrupting the power grid would bring no benefit to us. Aborting.") + to_chat(actor, span_warning("Disrupting the power grid would bring no benefit to us. Aborting.")) return FALSE /obj/machinery/portable_atmospherics/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "An inhospitable area may be created as a result of destroying this object. Aborting.") + to_chat(actor, span_warning("An inhospitable area may be created as a result of destroying this object. Aborting.")) return FALSE /obj/structure/shuttle/engine/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.") + to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting.")) return FALSE /obj/machinery/telecomms/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting.") + to_chat(actor, span_warning("This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting.")) return FALSE /obj/machinery/deepfryer/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting.") + to_chat(actor, span_warning("This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting.")) return FALSE /obj/machinery/power/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Disrupting the power grid would bring no benefit to us. Aborting.") + to_chat(actor, span_warning("Disrupting the power grid would bring no benefit to us. Aborting.")) return FALSE /obj/machinery/gateway/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This bluespace source will be important to us later. Aborting.") + to_chat(actor, span_warning("This bluespace source will be important to us later. Aborting.")) return FALSE /turf/closed/wall/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) @@ -200,15 +200,15 @@ for(var/turf/turf_in_range as anything in RANGE_TURFS(1, src)) var/area/turf_area = get_area(turf_in_range) if (turf_in_range.return_turf_delta_p() > DANGEROUS_DELTA_P) - to_chat(actor, "Destroying this object has the potential to cause an explosive pressure release. Aborting.") + to_chat(actor, span_warning("Destroying this object has the potential to cause an explosive pressure release. Aborting.")) actor.LoseTarget() return TRUE else if(turf_in_range.is_nearby_planetary_atmos() || isspaceturf(turf_area) || (!isonshuttle && (istype(turf_area, /area/shuttle) || istype(turf_area, /area/space))) || (isonshuttle && !istype(turf_area, /area/shuttle) )) - to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.") + to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting.")) actor.LoseTarget() return TRUE else if(istype(turf_area, /area/engineering/supermatter)) - to_chat(actor, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") + to_chat(actor, span_warning("Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.")) actor.LoseTarget() return TRUE return ..() @@ -219,57 +219,57 @@ var/turf/turf_in_range = t var/area/turf_area = get_area(turf_in_range) if (turf_in_range.return_turf_delta_p() > DANGEROUS_DELTA_P) - to_chat(actor, "Destroying this object has the potential to cause an explosive pressure release. Aborting.") + to_chat(actor, span_warning("Destroying this object has the potential to cause an explosive pressure release. Aborting.")) actor.LoseTarget() return TRUE else if(turf_in_range.is_nearby_planetary_atmos() || isspaceturf(turf_in_range) || (!is_on_shuttle && (istype(turf_area, /area/shuttle) || istype(turf_area, /area/space))) || (is_on_shuttle && !istype(turf_area, /area/shuttle))) - to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.") + to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting.")) actor.LoseTarget() return TRUE else if(istype(turf_area, /area/engineering/supermatter)) - to_chat(actor, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") + to_chat(actor, span_warning("Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.")) actor.LoseTarget() return TRUE return ..() /obj/item/stack/cable_coil/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)//Wiring would be too effective as a resource - to_chat(actor, "This object does not contain enough materials to work with.") + to_chat(actor, span_warning("This object does not contain enough materials to work with.")) return FALSE /obj/machinery/porta_turret/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.") + to_chat(actor, span_warning("Attempting to dismantle this machine would result in an immediate counterattack. Aborting.")) return FALSE /obj/machinery/porta_turret_cover/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.") + to_chat(actor, span_warning("Attempting to dismantle this machine would result in an immediate counterattack. Aborting.")) return FALSE /obj/structure/lattice/catwalk/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) var/turf/here = get_turf(src) for(var/a in here.contents) if(istype(a, /obj/structure/cable)) - to_chat(actor, "Disrupting the power grid would bring no benefit to us. Aborting.") + to_chat(actor, span_warning("Disrupting the power grid would bring no benefit to us. Aborting.")) return FALSE return ..() /obj/machinery/hydroponics/soil/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This object does not contain enough materials to work with.") + to_chat(actor, span_warning("This object does not contain enough materials to work with.")) return FALSE /obj/machinery/field/generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Destroying this object would cause a catastrophic chain reaction. Aborting.") + to_chat(actor, span_warning("Destroying this object would cause a catastrophic chain reaction. Aborting.")) return FALSE /obj/machinery/field/containment/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This object does not contain solid matter. Aborting.") + to_chat(actor, span_warning("This object does not contain solid matter. Aborting.")) return FALSE /obj/machinery/power/shieldwallgen/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "Destroying this object would have an unpredictable effect on structure integrity. Aborting.") + to_chat(actor, span_warning("Destroying this object would have an unpredictable effect on structure integrity. Aborting.")) return FALSE /obj/machinery/shieldwall/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor) - to_chat(actor, "This object does not contain solid matter. Aborting.") + to_chat(actor, span_warning("This object does not contain solid matter. Aborting.")) return FALSE #undef DANGEROUS_DELTA_P diff --git a/code/modules/swarmers/swarmer_objs.dm b/code/modules/swarmers/swarmer_objs.dm index 0f04c04c81e..68c97bc10a7 100644 --- a/code/modules/swarmers/swarmer_objs.dm +++ b/code/modules/swarmers/swarmer_objs.dm @@ -81,7 +81,7 @@ var/mob/living/simple_animal/hostile/swarmer/newswarmer = new /mob/living/simple_animal/hostile/swarmer(src) newswarmer.key = user.key addtimer(CALLBACK(src, .proc/release_swarmer, newswarmer), (LAZYLEN(swarmerlist) * 2 SECONDS) + 5 SECONDS) - to_chat(newswarmer, "SWARMER CONSTRUCTION INITIALIZED.") + to_chat(newswarmer, span_boldannounce("SWARMER CONSTRUCTION INITIALIZED.")) processing_swarmer = TRUE return TRUE diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 21bfd73ed2d..1090cec3144 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -119,9 +119,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) if(ishuman(user) && istype(A, /obj/item)) var/mob/living/carbon/human/H = user if(H.put_in_hands(A)) - to_chat(H, "[A] materializes into your hands!") + to_chat(H, span_boldnotice("[A] materializes into your hands!")) return A - to_chat(user, "[A] materializes onto the floor!") + to_chat(user, span_boldnotice("[A] materializes onto the floor!")) return A //Discounts (dynamically filled above) @@ -1430,7 +1430,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) return U.failsafe_code = U.generate_code() var/code = "[islist(U.failsafe_code) ? english_list(U.failsafe_code) : U.failsafe_code]" - to_chat(user, "The new failsafe code for this uplink is now : [code].") + to_chat(user, span_warning("The new failsafe code for this uplink is now : [code].")) if(user.mind) user.mind.store_memory("Failsafe code for [U.parent] : [code]") return U.parent //For log icon diff --git a/code/modules/vehicles/_vehicle.dm b/code/modules/vehicles/_vehicle.dm index 544446dc66d..39be39c2edf 100644 --- a/code/modules/vehicles/_vehicle.dm +++ b/code/modules/vehicles/_vehicle.dm @@ -44,7 +44,7 @@ /obj/vehicle/examine(mob/user) . = ..() if(resistance_flags & ON_FIRE) - . += "It's on fire!" + . += span_warning("It's on fire!") var/healthpercent = obj_integrity/max_integrity * 100 switch(healthpercent) if(50 to 99) @@ -52,7 +52,7 @@ if(25 to 50) . += "It appears heavily damaged." if(0 to 25) - . += "It's falling apart!" + . += span_warning("It's falling apart!") /obj/vehicle/proc/is_key(obj/item/I) return istype(I, key_type) diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm index 63aec5b1d55..05429d3776e 100644 --- a/code/modules/vehicles/atv.dm +++ b/code/modules/vehicles/atv.dm @@ -64,10 +64,10 @@ return TRUE if(!I.use_tool(src, user, 0, volume=50, amount=1)) return TRUE - user.visible_message("[user] repairs some damage to [name].", "You repair some damage to \the [src].") + user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to \the [src].")) obj_integrity += min(10, max_integrity-obj_integrity) if(obj_integrity == max_integrity) - to_chat(user, "It looks to be fully repaired now.") + to_chat(user, span_notice("It looks to be fully repaired now.")) return TRUE /obj/vehicle/ridden/atv/obj_break() diff --git a/code/modules/vehicles/cars/car.dm b/code/modules/vehicles/cars/car.dm index 7cd57e4b463..76795496569 100644 --- a/code/modules/vehicles/cars/car.dm +++ b/code/modules/vehicles/cars/car.dm @@ -25,7 +25,7 @@ return FALSE if((car_traits & CAN_KIDNAP) && isliving(dropping) && M != dropping) var/mob/living/kidnapped = dropping - kidnapped.visible_message("[M] starts forcing [kidnapped] into [src]!") + kidnapped.visible_message(span_warning("[M] starts forcing [kidnapped] into [src]!")) mob_try_forced_enter(M, kidnapped) return ..() @@ -33,10 +33,10 @@ if(M != user || !(LAZYACCESS(occupants, M) & VEHICLE_CONTROL_KIDNAPPED)) mob_exit(M, silent) return TRUE - to_chat(user, "You push against the back of \the [src]'s trunk to try and get out.") + to_chat(user, span_notice("You push against the back of \the [src]'s trunk to try and get out.")) if(!do_after(user, escape_time, target = src)) return FALSE - to_chat(user,"[user] gets out of [src].") + to_chat(user,span_danger("[user] gets out of [src].")) mob_exit(M, silent) return TRUE @@ -44,14 +44,14 @@ . = ..() if(!(car_traits & CAN_KIDNAP)) return - to_chat(user, "You start opening [src]'s trunk.") + to_chat(user, span_notice("You start opening [src]'s trunk.")) if(!do_after(user, 30)) return if(return_amount_of_controllers_with_flag(VEHICLE_CONTROL_KIDNAPPED)) - to_chat(user, "The people stuck in [src]'s trunk all come tumbling out.") + to_chat(user, span_notice("The people stuck in [src]'s trunk all come tumbling out.")) dump_specific_mobs(VEHICLE_CONTROL_KIDNAPPED) return - to_chat(user, "It seems [src]'s trunk was empty.") + to_chat(user, span_notice("It seems [src]'s trunk was empty.")) ///attempts to force a mob into the car /obj/vehicle/sealed/car/proc/mob_try_forced_enter(mob/forcer, mob/kidnapped, silent = FALSE) @@ -70,7 +70,7 @@ ///Proc called when someone is forcefully stuffedd into a car /obj/vehicle/sealed/car/proc/mob_forced_enter(mob/kidnapped, silent = FALSE) if(!silent) - kidnapped.visible_message("[kidnapped] is forced into \the [src]!") + kidnapped.visible_message(span_warning("[kidnapped] is forced into \the [src]!")) kidnapped.forceMove(src) add_occupant(kidnapped, VEHICLE_CONTROL_KIDNAPPED) diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index f9f637d7ba3..8aed6dc52b3 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -67,7 +67,7 @@ /obj/vehicle/sealed/car/clowncar/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() if(prob(33)) - visible_message("[src] spews out a ton of space lube!") + visible_message(span_danger("[src] spews out a ton of space lube!")) new /obj/effect/particle_effect/foam(loc) //YEET /obj/vehicle/sealed/car/clowncar/attacked_by(obj/item/I, mob/living/user) @@ -76,7 +76,7 @@ return var/obj/item/food/grown/banana/banana = I obj_integrity += min(banana.seed.potency, max_integrity-obj_integrity) - to_chat(user, "You use the [banana] to repair the [src]!") + to_chat(user, span_danger("You use the [banana] to repair the [src]!")) qdel(banana) /obj/vehicle/sealed/car/clowncar/Bump(atom/bumped) @@ -88,14 +88,14 @@ if(iscarbon(hittarget_living)) var/mob/living/carbon/carb = hittarget_living carb.Paralyze(40) //I play to make sprites go horizontal - hittarget_living.visible_message("[src] rams into [hittarget_living] and sucks [hittarget_living.p_them()] up!") //fuck off shezza this isn't ERP. + hittarget_living.visible_message(span_warning("[src] rams into [hittarget_living] and sucks [hittarget_living.p_them()] up!")) //fuck off shezza this isn't ERP. mob_forced_enter(hittarget_living) playsound(src, pick('sound/vehicles/clowncar_ram1.ogg', 'sound/vehicles/clowncar_ram2.ogg', 'sound/vehicles/clowncar_ram3.ogg'), 75) log_combat(src, hittarget_living, "sucked up") return if(!istype(bumped, /turf/closed)) return - visible_message("[src] rams into [bumped] and crashes!") + visible_message(span_warning("[src] rams into [bumped] and crashes!")) playsound(src, pick('sound/vehicles/clowncar_crash1.ogg', 'sound/vehicles/clowncar_crash2.ogg'), 75) playsound(src, 'sound/vehicles/clowncar_crashpins.ogg', 75) dump_mobs(TRUE) @@ -105,7 +105,7 @@ if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - to_chat(user, "You scramble \the [src]'s child safety lock, and a panel with six colorful buttons appears!") + to_chat(user, span_danger("You scramble \the [src]'s child safety lock, and a panel with six colorful buttons appears!")) initialize_controller_action_type(/datum/action/vehicle/sealed/roll_the_dice, VEHICLE_CONTROL_DRIVE) initialize_controller_action_type(/datum/action/vehicle/sealed/cannon, VEHICLE_CONTROL_DRIVE) AddElement(/datum/element/waddling) @@ -128,15 +128,15 @@ */ /obj/vehicle/sealed/car/clowncar/proc/roll_the_dice(mob/user) if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_CLOWNCAR_RANDOMNESS)) - to_chat(user, "The button panel is currently recharging.") + to_chat(user, span_notice("The button panel is currently recharging.")) return TIMER_COOLDOWN_START(src, COOLDOWN_CLOWNCAR_RANDOMNESS, dice_cooldown_time) switch(rand(1,6)) if(1) - visible_message("[user] presses one of the colorful buttons on [src], and a special banana peel drops out of it.") + visible_message(span_danger("[user] presses one of the colorful buttons on [src], and a special banana peel drops out of it.")) new /obj/item/grown/bananapeel/specialpeel(loc) if(2) - visible_message("[user] presses one of the colorful buttons on [src], and unknown chemicals flood out of it.") + visible_message(span_danger("[user] presses one of the colorful buttons on [src], and unknown chemicals flood out of it.")) var/datum/reagents/randomchems = new/datum/reagents(300) randomchems.my_atom = src randomchems.add_reagent(get_random_reagent_id(), 100) @@ -144,12 +144,12 @@ foam.set_up(200, loc, randomchems) foam.start() if(3) - visible_message("[user] presses one of the colorful buttons on [src], and the clown car turns on its singularity disguise system.") + visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car turns on its singularity disguise system.")) icon = 'icons/obj/singularity.dmi' icon_state = "singularity_s1" addtimer(CALLBACK(src, .proc/reset_icon), 10 SECONDS) if(4) - visible_message("[user] presses one of the colorful buttons on [src], and the clown car spews out a cloud of laughing gas.") + visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car spews out a cloud of laughing gas.")) var/datum/reagents/funnychems = new/datum/reagents(300) funnychems.my_atom = src funnychems.add_reagent(/datum/reagent/consumable/superlaughter, 50) @@ -158,11 +158,11 @@ smoke.attach(src) smoke.start() if(5) - visible_message("[user] presses one of the colorful buttons on [src], and the clown car starts dropping an oil trail.") + visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car starts dropping an oil trail.")) RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/cover_in_oil) addtimer(CALLBACK(src, .proc/stop_dropping_oil), 3 SECONDS) if(6) - visible_message("[user] presses one of the colorful buttons on [src], and the clown car lets out a comedic toot.") + visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car lets out a comedic toot.")) playsound(src, 'sound/vehicles/clowncar_fart.ogg', 100) for(var/mob/living/L in orange(loc, 6)) L.emote("laughs") @@ -186,19 +186,19 @@ ///Toggles the on and off state of the clown cannon that shoots random kidnapped people /obj/vehicle/sealed/car/clowncar/proc/toggle_cannon(mob/user) if(cannonmode == CLOWN_CANNON_BUSY) - to_chat(user, "Please wait for the vehicle to finish its current action first.") + to_chat(user, span_notice("Please wait for the vehicle to finish its current action first.")) return if(cannonmode) //canon active, deactivate flick("clowncar_fromfire", src) icon_state = "clowncar" addtimer(CALLBACK(src, .proc/deactivate_cannon), 2 SECONDS) playsound(src, 'sound/vehicles/clowncar_cannonmode2.ogg', 75) - visible_message("The [src] starts going back into mobile mode.") + visible_message(span_danger("The [src] starts going back into mobile mode.")) else canmove = FALSE //anchor and activate canon flick("clowncar_tofire", src) icon_state = "clowncar_fire" - visible_message("The [src] opens up and reveals a large cannon.") + visible_message(span_danger("The [src] opens up and reveals a large cannon.")) addtimer(CALLBACK(src, .proc/activate_cannon), 2 SECONDS) playsound(src, 'sound/vehicles/clowncar_cannonmode1.ogg', 75) cannonmode = CLOWN_CANNON_BUSY diff --git a/code/modules/vehicles/lavaboat.dm b/code/modules/vehicles/lavaboat.dm index b676f895775..52fb14c853f 100644 --- a/code/modules/vehicles/lavaboat.dm +++ b/code/modules/vehicles/lavaboat.dm @@ -64,7 +64,7 @@ icon_state = "ship_bottle" /obj/item/ship_in_a_bottle/attack_self(mob/user) - to_chat(user, "You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out.") + to_chat(user, span_notice("You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out.")) playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE) new /obj/vehicle/ridden/lavaboat/dragon(get_turf(src)) qdel(src) diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index b351be06f37..b2bf49f4ca9 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -377,7 +377,7 @@ for(var/held_item in H.held_items) if(!isgun(held_item)) continue - . += "It looks like you can hit the pilot directly if you target the center or above." + . += span_warning("It looks like you can hit the pilot directly if you target the center or above.") break //in case user is holding two guns //processing internal damage, temperature, air regulation, alert updates, lights power use. @@ -445,7 +445,7 @@ for(var/mob/living/occupant as anything in occupants) if(!enclosed && occupant?.incapacitated()) //no sides mean it's easy to just sorta fall out if you're incapacitated. - visible_message("[occupant] tumbles out of the cockpit!") + visible_message(span_warning("[occupant] tumbles out of the cockpit!")) mob_exit(occupant) //bye bye continue if(cell) @@ -550,7 +550,7 @@ return if(!Adjacent(target) && (selected.range & MECHA_RANGED)) if(HAS_TRAIT(livinguser, TRAIT_PACIFISM) && selected.harmful) - to_chat(livinguser, "You don't want to harm other living beings!") + to_chat(livinguser, span_warning("You don't want to harm other living beings!")) return if(SEND_SIGNAL(src, COMSIG_MECHA_EQUIPMENT_CLICK, livinguser, target) & COMPONENT_CANCEL_EQUIPMENT_CLICK) return @@ -558,14 +558,14 @@ return if((selected.range & MECHA_MELEE) && Adjacent(target)) if(isliving(target) && selected.harmful && HAS_TRAIT(livinguser, TRAIT_PACIFISM)) - to_chat(livinguser, "You don't want to harm other living beings!") + to_chat(livinguser, span_warning("You don't want to harm other living beings!")) return if(SEND_SIGNAL(src, COMSIG_MECHA_EQUIPMENT_CLICK, livinguser, target) & COMPONENT_CANCEL_EQUIPMENT_CLICK) return INVOKE_ASYNC(selected, /obj/item/mecha_parts/mecha_equipment.proc/action, user, target, params) return if(!(livinguser in return_controllers_with_flag(VEHICLE_CONTROL_MELEE))) - to_chat(livinguser, "You're in the wrong seat to interact with your hands.") + to_chat(livinguser, span_warning("You're in the wrong seat to interact with your hands.")) return var/on_cooldown = TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MELEE_ATTACK) var/adjacent = Adjacent(target) @@ -599,7 +599,7 @@ /obj/vehicle/sealed/mecha/proc/disconnect_air() SIGNAL_HANDLER if(internal_tank.disconnect()) // Something moved us and broke connection - to_chat(occupants, "[icon2html(src, occupants)]Air port connection has been severed!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Air port connection has been severed!")]") log_message("Lost connection to gas port.", LOG_MECHA) /obj/vehicle/sealed/mecha/Process_Spacemove(movement_dir = 0) @@ -616,7 +616,7 @@ if((!movable_backup.anchored) && (movable_backup.newtonian_move(turn(movement_dir, 180)))) step_silent = TRUE if(return_drivers()) - to_chat(occupants, "[icon2html(src, occupants)]The [src] push off [movable_backup] to propel yourself.") + to_chat(occupants, "[icon2html(src, occupants)][span_info("The [src] push off [movable_backup] to propel yourself.")]") return TRUE if(active_thrusters?.thrust(movement_dir)) @@ -640,12 +640,12 @@ return FALSE if(internal_tank?.connected_port) if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE)) - to_chat(occupants, "[icon2html(src, occupants)]Unable to move while connected to the air system port!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to move while connected to the air system port!")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE if(construction_state) if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE)) - to_chat(occupants, "[icon2html(src, occupants)]Maintenance protocols in effect.") + to_chat(occupants, "[icon2html(src, occupants)][span_danger("Maintenance protocols in effect.")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE @@ -653,27 +653,27 @@ return FALSE if(zoom_mode) if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE)) - to_chat(occupants, "[icon2html(src, occupants)]Unable to move while in zoom mode!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to move while in zoom mode!")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE if(!cell) if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE)) - to_chat(occupants, "[icon2html(src, occupants)]Missing power cell.") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Missing power cell.")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE if(!scanmod || !capacitor) if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE)) - to_chat(occupants, "[icon2html(src, occupants)]Missing [scanmod? "capacitor" : "scanning module"].") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Missing [scanmod? "capacitor" : "scanning module"].")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE if(!use_power(step_energy_drain)) if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE)) - to_chat(occupants, "[icon2html(src, occupants)]Insufficient power to move!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Insufficient power to move!")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE if(lavaland_only && is_mining_level(z)) if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE)) - to_chat(occupants, "[icon2html(src, occupants)]Invalid Environment.") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Invalid Environment.")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE @@ -713,7 +713,7 @@ . = ..() if(phasing) //Theres only one cause for phasing canpass fails addtimer(VARSET_CALLBACK(src, movedelay, TRUE), movedelay*3) - to_chat(occupants, "[icon2html(src, occupants)]A dull, universal force is preventing you from [phasing] here!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("A dull, universal force is preventing you from [phasing] here!")]") spark_system.start() return if(.) //mech was thrown/door/whatever @@ -769,11 +769,11 @@ if(internal_damage & int_dam_flag) switch(int_dam_flag) if(MECHA_INT_TEMP_CONTROL) - to_chat(occupants, "[icon2html(src, occupants)]Life support system reactivated.") + to_chat(occupants, "[icon2html(src, occupants)][span_boldnotice("Life support system reactivated.")]") if(MECHA_INT_FIRE) - to_chat(occupants, "[icon2html(src, occupants)]Internal fire extinguished.") + to_chat(occupants, "[icon2html(src, occupants)][span_boldnotice("Internal fire extinguished.")]") if(MECHA_INT_TANK_BREACH) - to_chat(occupants, "[icon2html(src, occupants)]Damaged internal tank has been sealed.") + to_chat(occupants, "[icon2html(src, occupants)][span_boldnotice("Damaged internal tank has been sealed.")]") internal_damage &= ~int_dam_flag diag_hud_set_mechstat() @@ -788,25 +788,25 @@ if(user.can_dominate_mechs) examine(user) //Get diagnostic information! for(var/obj/item/mecha_parts/mecha_tracking/B in trackers) - to_chat(user, "Warning: Tracking Beacon detected. Enter at your own risk. Beacon Data:") + to_chat(user, span_danger("Warning: Tracking Beacon detected. Enter at your own risk. Beacon Data:")) to_chat(user, "[B.get_mecha_info()]") break //Nothing like a big, red link to make the player feel powerful! - to_chat(user, "ASSUME DIRECT CONTROL?
    ") + to_chat(user, "[span_userdanger("ASSUME DIRECT CONTROL?")]
    ") return examine(user) if(length(return_drivers()) > 0) - to_chat(user, "This exosuit has a pilot and cannot be controlled.") + to_chat(user, span_warning("This exosuit has a pilot and cannot be controlled.")) return var/can_control_mech = FALSE for(var/obj/item/mecha_parts/mecha_tracking/ai_control/A in trackers) can_control_mech = TRUE - to_chat(user, "[icon2html(src, user)] Status of [name]:\n[A.get_mecha_info()]") + to_chat(user, "[span_notice("[icon2html(src, user)] Status of [name]:")]\n[A.get_mecha_info()]") break if(!can_control_mech) - to_chat(user, "You cannot control exosuits without AI control beacons installed.") + to_chat(user, span_warning("You cannot control exosuits without AI control beacons installed.")) return - to_chat(user, "Take control of exosuit?
    ") + to_chat(user, "[span_boldnotice("Take control of exosuit?")]
    ") /obj/vehicle/sealed/mecha/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) . = ..() @@ -817,13 +817,13 @@ switch(interaction) if(AI_TRANS_TO_CARD) //Upload AI from mech to AI card. if(!construction_state) //Mech must be in maint mode to allow carding. - to_chat(user, "[name] must have maintenance protocols active in order to allow a transfer.") + to_chat(user, span_warning("[name] must have maintenance protocols active in order to allow a transfer.")) return var/list/ai_pilots = list() for(var/mob/living/silicon/ai/aipilot in occupants) ai_pilots += aipilot if(!ai_pilots.len) //Mech does not have an AI for a pilot - to_chat(user, "No AI detected in the [name] onboard computer.") + to_chat(user, span_warning("No AI detected in the [name] onboard computer.")) return if(ai_pilots.len > 1) //Input box for multiple AIs, but if there's only one we'll default to them. AI = input(user,"Which AI do you wish to card?", "AI Selection") as null|anything in sortList(ai_pilots) @@ -844,15 +844,15 @@ card.AI = AI AI.controlled_mech = null AI.remote_control = null - to_chat(AI, "You have been downloaded to a mobile storage device. Wireless connection offline.") - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.") + to_chat(AI, span_notice("You have been downloaded to a mobile storage device. Wireless connection offline.")) + to_chat(user, "[span_boldnotice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.") return if(AI_MECH_HACK) //Called by AIs on the mech AI.linked_core = new /obj/structure/ai_core/deactivated(AI.loc) if(AI.can_dominate_mechs && LAZYLEN(occupants)) //Oh, I am sorry, were you using that? - to_chat(AI, "Occupants detected! Forced ejection initiated!") - to_chat(occupants, "You have been forcibly ejected!") + to_chat(AI, span_warning("Occupants detected! Forced ejection initiated!")) + to_chat(occupants, span_danger("You have been forcibly ejected!")) for(var/ejectee in occupants) mob_exit(ejectee, TRUE, TRUE) //IT IS MINE, NOW. SUCK IT, RD! AI.can_shunt = FALSE //ONE AI ENTERS. NO AI LEAVES. @@ -860,19 +860,19 @@ if(AI_TRANS_FROM_CARD) //Using an AI card to upload to a mech. AI = card.AI if(!AI) - to_chat(user, "There is no AI currently installed on this device.") + to_chat(user, span_warning("There is no AI currently installed on this device.")) return if(AI.deployed_shell) //Recall AI if shelled so it can be checked for a client AI.disconnect_shell() if(AI.stat || !AI.client) - to_chat(user, "[AI.name] is currently unresponsive, and cannot be uploaded.") + to_chat(user, span_warning("[AI.name] is currently unresponsive, and cannot be uploaded.")) return if((LAZYLEN(occupants) >= max_occupants) || dna_lock) //Normal AIs cannot steal mechs! - to_chat(user, "Access denied. [name] is [LAZYLEN(occupants) >= max_occupants ? "currently fully occupied" : "secured with a DNA lock"].") + to_chat(user, span_warning("Access denied. [name] is [LAZYLEN(occupants) >= max_occupants ? "currently fully occupied" : "secured with a DNA lock"].")) return AI.control_disabled = FALSE AI.radio_enabled = TRUE - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") + to_chat(user, "[span_boldnotice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") card.AI = null ai_enter_mech(AI) @@ -884,8 +884,8 @@ AI.cancel_camera() AI.controlled_mech = src AI.remote_control = src - to_chat(AI, AI.can_dominate_mechs ? "Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!" :\ - "You have been uploaded to a mech's onboard computer.") + to_chat(AI, AI.can_dominate_mechs ? span_greenannounce("Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!") :\ + span_notice("You have been uploaded to a mech's onboard computer.")) to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.") @@ -914,44 +914,44 @@ if(!ishuman(M)) // no silicons or drones in mechas. return if(HAS_TRAIT(M, TRAIT_PRIMITIVE)) //no lavalizards either. - to_chat(M, "The knowledge to use this device eludes you!") + to_chat(M, span_warning("The knowledge to use this device eludes you!")) return log_message("[M] tries to move into [src].", LOG_MECHA) if(dna_lock && M.has_dna()) var/mob/living/carbon/entering_carbon = M if(entering_carbon.dna.unique_enzymes != dna_lock) - to_chat(M, "Access denied. [name] is secured with a DNA lock.") + to_chat(M, span_warning("Access denied. [name] is secured with a DNA lock.")) log_message("Permission denied (DNA LOCK).", LOG_MECHA) return if(!operation_allowed(M)) - to_chat(M, "Access denied. Insufficient operation keycodes.") + to_chat(M, span_warning("Access denied. Insufficient operation keycodes.")) log_message("Permission denied (No keycode).", LOG_MECHA) return if(M.buckled) - to_chat(M, "You are currently buckled and cannot move.") + to_chat(M, span_warning("You are currently buckled and cannot move.")) log_message("Permission denied (Buckled).", LOG_MECHA) return if(M.has_buckled_mobs()) //mob attached to us - to_chat(M, "You can't enter the exosuit with other creatures attached to you!") + to_chat(M, span_warning("You can't enter the exosuit with other creatures attached to you!")) log_message("Permission denied (Attached mobs).", LOG_MECHA) return - visible_message("[M] starts to climb into [name].") + visible_message(span_notice("[M] starts to climb into [name].")) if(do_after(M, enter_delay, target = src)) if(obj_integrity <= 0) - to_chat(M, "You cannot get in the [name], it has been destroyed!") + to_chat(M, span_warning("You cannot get in the [name], it has been destroyed!")) else if(LAZYLEN(occupants) >= max_occupants) - to_chat(M, "[occupants[occupants.len]] was faster! Try better next time, loser.")//get the last one that hopped in + to_chat(M, span_danger("[occupants[occupants.len]] was faster! Try better next time, loser."))//get the last one that hopped in else if(M.buckled) - to_chat(M, "You can't enter the exosuit while buckled.") + to_chat(M, span_warning("You can't enter the exosuit while buckled.")) else if(M.has_buckled_mobs()) - to_chat(M, "You can't enter the exosuit with other creatures attached to you!") + to_chat(M, span_warning("You can't enter the exosuit with other creatures attached to you!")) else moved_inside(M) return ..() else - to_chat(M, "You stop entering the exosuit!") + to_chat(M, span_warning("You stop entering the exosuit!")) /obj/vehicle/sealed/mecha/generate_actions() @@ -984,20 +984,20 @@ var/mob/living/brain/B = M.brainmob if(LAZYLEN(occupants) >= max_occupants) - to_chat(user, "It's full!") + to_chat(user, span_warning("It's full!")) return FALSE if(dna_lock && (!B.stored_dna || (dna_lock != B.stored_dna.unique_enzymes))) - to_chat(user, "Access denied. [name] is secured with a DNA lock.") + to_chat(user, span_warning("Access denied. [name] is secured with a DNA lock.")) return FALSE - visible_message("[user] starts to insert an MMI into [name].") + visible_message(span_notice("[user] starts to insert an MMI into [name].")) if(!do_after(user, 4 SECONDS, target = src)) - to_chat(user, "You stop inserting the MMI.") + to_chat(user, span_notice("You stop inserting the MMI.")) return FALSE if(LAZYLEN(occupants) < max_occupants) return mmi_moved_inside(M, user) - to_chat(user, "Maximum occupants exceeded!") + to_chat(user, span_warning("Maximum occupants exceeded!")) return FALSE /obj/vehicle/sealed/mecha/proc/mmi_moved_inside(obj/item/mmi/M, mob/user) @@ -1008,7 +1008,7 @@ var/mob/living/brain/B = M.brainmob if(!user.transferItemToLoc(M, src)) - to_chat(user, "\the [M] is stuck to your hand, you cannot put it in \the [src]!") + to_chat(user, span_warning("\the [M] is stuck to your hand, you cannot put it in \the [src]!")) return FALSE M.set_mecha(src) @@ -1028,15 +1028,15 @@ if(isAI(user)) var/mob/living/silicon/ai/AI = user if(!AI.can_shunt) - to_chat(AI, "You can't leave a mech after dominating it!.") + to_chat(AI, span_notice("You can't leave a mech after dominating it!.")) return FALSE - to_chat(user, "You begin the ejection procedure. Equipment is disabled during this process. Hold still to finish ejecting.") + to_chat(user, span_notice("You begin the ejection procedure. Equipment is disabled during this process. Hold still to finish ejecting.")) is_currently_ejecting = TRUE if(do_after(user, has_gravity() ? exit_delay : 0 , target = src)) - to_chat(user, "You exit the mech.") + to_chat(user, span_notice("You exit the mech.")) mob_exit(user, TRUE) else - to_chat(user, "You stop exiting the mech. Weapons are enabled again.") + to_chat(user, span_notice("You stop exiting the mech. Weapons are enabled again.")) is_currently_ejecting = FALSE @@ -1058,11 +1058,11 @@ else if(!AI.linked_core) if(!silent) - to_chat(AI, "Inactive core destroyed. Unable to return.") + to_chat(AI, span_userdanger("Inactive core destroyed. Unable to return.")) AI.linked_core = null return if(!silent) - to_chat(AI, "Returning to core...") + to_chat(AI, span_notice("Returning to core...")) AI.controlled_mech = null AI.remote_control = null mob_container = AI @@ -1189,7 +1189,7 @@ /obj/vehicle/sealed/mecha/proc/ammo_resupply(obj/item/mecha_ammo/A, mob/user,fail_chat_override = FALSE) if(!A.rounds) if(!fail_chat_override) - to_chat(user, "This box of ammo is empty!") + to_chat(user, span_warning("This box of ammo is empty!")) return FALSE var/ammo_needed var/found_gun @@ -1212,7 +1212,7 @@ else gun.projectiles_cache = gun.projectiles_cache + ammo_needed playsound(get_turf(user),A.load_audio,50,TRUE) - to_chat(user, "You add [ammo_needed] [A.round_term][ammo_needed > 1?"s":""] to the [gun.name]") + to_chat(user, span_notice("You add [ammo_needed] [A.round_term][ammo_needed > 1?"s":""] to the [gun.name]")) A.rounds = A.rounds - ammo_needed if(A.custom_materials) A.set_custom_materials(A.custom_materials, A.rounds / initial(A.rounds)) @@ -1224,16 +1224,16 @@ else gun.projectiles_cache = gun.projectiles_cache + A.rounds playsound(get_turf(user),A.load_audio,50,TRUE) - to_chat(user, "You add [A.rounds] [A.round_term][A.rounds > 1?"s":""] to the [gun.name]") + to_chat(user, span_notice("You add [A.rounds] [A.round_term][A.rounds > 1?"s":""] to the [gun.name]")) A.rounds = 0 A.set_custom_materials(list(/datum/material/iron=2000)) A.update_name() return TRUE if(!fail_chat_override) if(found_gun) - to_chat(user, "You can't fit any more ammo of this type!") + to_chat(user, span_notice("You can't fit any more ammo of this type!")) else - to_chat(user, "None of the equipment on this exosuit can use this ammo!") + to_chat(user, span_notice("None of the equipment on this exosuit can use this ammo!")) return FALSE @@ -1241,7 +1241,7 @@ /obj/vehicle/sealed/mecha/proc/on_light_eater(obj/vehicle/sealed/source, datum/light_eater) SIGNAL_HANDLER if(mecha_flags & HAS_LIGHTS) - visible_message("[src]'s lights burn out!") + visible_message(span_danger("[src]'s lights burn out!")) mecha_flags &= ~HAS_LIGHTS set_light_on(FALSE) for(var/occupant in occupants) diff --git a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm index 27d007037b1..032c8756852 100644 --- a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm +++ b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm @@ -98,23 +98,23 @@ skyfall_charge_level++ switch(skyfall_charge_level) if(1) - visible_message("[src] clicks and whirrs for a moment, with a low hum emerging from the legs.") + visible_message(span_warning("[src] clicks and whirrs for a moment, with a low hum emerging from the legs.")) playsound(src, 'sound/items/rped.ogg', 50, TRUE) if(2) - visible_message("[src] begins to shake, the sounds of electricity growing louder.") + visible_message(span_warning("[src] begins to shake, the sounds of electricity growing louder.")) Shake(5, 5, SKYFALL_SINGLE_CHARGE_TIME-1) // -1 gives space between the animates, so they don't interrupt eachother if(3) - visible_message("[src] assumes a pose as it rattles violently.") + visible_message(span_warning("[src] assumes a pose as it rattles violently.")) Shake(7, 7, SKYFALL_SINGLE_CHARGE_TIME-1) // -1 gives space between the animates, so they don't interrupt eachother spark_system.start() update_icon_state() if(4) - visible_message("[src] sparks and shutters as it finalizes preparation.") + visible_message(span_warning("[src] sparks and shutters as it finalizes preparation.")) playsound(src, 'sound/mecha/skyfall_power_up.ogg', 50, TRUE) Shake(10, 10, SKYFALL_SINGLE_CHARGE_TIME-1) // -1 gives space between the animates, so they don't interrupt eachother spark_system.start() if(SKYFALL_CHARGELEVEL_LAUNCH) - visible_message("[src] leaps into the air!") + visible_message(span_danger("[src] leaps into the air!")) playsound(src, 'sound/weapons/gun/general/rocket_launch.ogg', 50, TRUE) if(skyfall_charge_level != SKYFALL_CHARGELEVEL_LAUNCH) INVOKE_ASYNC(src, .proc/skyfall_charge_loop, pilot) @@ -163,7 +163,7 @@ * * pilot: mob that activated the skyfall ability */ /obj/vehicle/sealed/mecha/combat/savannah_ivanov/proc/land(mob/living/pilot) - visible_message("[src] lands from above!") + visible_message(span_danger("[src] lands from above!")) playsound(src, 'sound/effects/explosion1.ogg', 50, 1) resistance_flags &= ~INDESTRUCTIBLE mecha_flags &= ~(QUIET_STEPS|QUIET_TURNS|CANNOT_INTERACT) @@ -193,13 +193,13 @@ if(crushed_victim in occupants) continue if(crushed_victim in landed_on) - to_chat(crushed_victim, "[src] crashes down on you from above!") + to_chat(crushed_victim, span_userdanger("[src] crashes down on you from above!")) if(crushed_victim.stat != CONSCIOUS) crushed_victim.gib(FALSE, FALSE, FALSE) else crushed_victim.adjustBruteLoss(80) else - to_chat(crushed_victim, "The tremors from [src] landing sends you flying!") + to_chat(crushed_victim, span_userdanger("The tremors from [src] landing sends you flying!")) var/fly_away_direction = get_dir(src, crushed_victim) crushed_victim.throw_at(get_edge_target_turf(crushed_victim, fly_away_direction), 4, 3) crushed_victim.adjustBruteLoss(15) @@ -307,11 +307,11 @@ return var/obj/vehicle/sealed/mecha/combat/savannah_ivanov/savannah_mecha = chassis if(savannah_mecha.phasing) - to_chat(owner, "You're already airborne!") + to_chat(owner, span_warning("You're already airborne!")) return if(!COOLDOWN_FINISHED(savannah_mecha, skyfall_cooldown)) var/timeleft = COOLDOWN_TIMELEFT(savannah_mecha, skyfall_cooldown) - to_chat(owner, "You need to wait [DisplayTimeText(timeleft, 1)] before attempting to Skyfall.") + to_chat(owner, span_warning("You need to wait [DisplayTimeText(timeleft, 1)] before attempting to Skyfall.")) return if(savannah_mecha.skyfall_charge_level) savannah_mecha.abort_skyfall(owner) @@ -337,7 +337,7 @@ var/obj/vehicle/sealed/mecha/combat/savannah_ivanov/ivanov_mecha = chassis if(!COOLDOWN_FINISHED(ivanov_mecha, strike_cooldown)) var/timeleft = COOLDOWN_TIMELEFT(ivanov_mecha, strike_cooldown) - to_chat(owner, "You need to wait [DisplayTimeText(timeleft, 1)] before firing another Ivanov Strike.") + to_chat(owner, span_warning("You need to wait [DisplayTimeText(timeleft, 1)] before firing another Ivanov Strike.")) return if(ivanov_mecha.aiming_ivanov) ivanov_mecha.end_missile_targeting(owner) diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm index f1d338624ed..1adaade6a22 100644 --- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm @@ -42,7 +42,7 @@ update_chassis_page() log_message("[src] is destroyed.", LOG_MECHA) if(LAZYLEN(chassis.occupants)) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] is destroyed!") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_danger("[src] is destroyed!")]") playsound(chassis, destroy_sound, 50) if(!detachable) //If we're a built-in nondetachable equipment, let's lock up the slot that we were in. chassis.max_equip-- @@ -54,9 +54,9 @@ if(!user.temporarilyRemoveItemFromInventory(src)) return FALSE attach(M) - user.visible_message("[user] attaches [src] to [M].", "You attach [src] to [M].") + user.visible_message(span_notice("[user] attaches [src] to [M]."), span_notice("You attach [src] to [M].")) return TRUE - to_chat(user, "You are unable to attach [src] to [M]!") + to_chat(user, span_warning("You are unable to attach [src] to [M]!")) return FALSE /obj/item/mecha_parts/mecha_equipment/proc/get_equip_info() diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm index 8872115aa8e..d563d16f367 100644 --- a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm @@ -57,8 +57,8 @@ var/mob/living/carbon/target = atomtarget if(!patient_insertion_check(target)) return - to_chat(source, "[icon2html(src, source)]You start putting [target] into [src]...") - chassis.visible_message("[chassis] starts putting [target] into \the [src].") + to_chat(source, "[icon2html(src, source)][span_notice("You start putting [target] into [src]...")]") + chassis.visible_message(span_warning("[chassis] starts putting [target] into \the [src].")) if(!do_after(source, equip_cooldown, target=target)) return if(!chassis || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir)) @@ -69,20 +69,20 @@ patient = target START_PROCESSING(SSobj, src) update_equip_info() - to_chat(source, "[icon2html(src, source)][target] successfully loaded into [src]. Life support functions engaged.") - chassis.visible_message("[chassis] loads [target] into [src].") + to_chat(source, "[icon2html(src, source)][span_notice("[target] successfully loaded into [src]. Life support functions engaged.")]") + chassis.visible_message(span_warning("[chassis] loads [target] into [src].")) log_message("[target] loaded. Life support functions engaged.", LOG_MECHA) return ..() /obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/patient_insertion_check(mob/living/carbon/target, mob/user) if(target.buckled) - to_chat(user, "[icon2html(src, user)][target] will not fit into the sleeper because [target.p_theyre()] buckled to [target.buckled]!") + to_chat(user, "[icon2html(src, user)][span_warning("[target] will not fit into the sleeper because [target.p_theyre()] buckled to [target.buckled]!")]") return FALSE if(target.has_buckled_mobs()) - to_chat(user, "[icon2html(src, user)][target] will not fit into the sleeper because of the creatures attached to it!") + to_chat(user, "[icon2html(src, user)][span_warning("[target] will not fit into the sleeper because of the creatures attached to it!")]") return FALSE if(patient) - to_chat(user, "[icon2html(src, user)]The sleeper is already occupied!") + to_chat(user, "[icon2html(src, user)][span_warning("The sleeper is already occupied!")]") return FALSE return TRUE @@ -90,7 +90,7 @@ if(!patient) return patient.forceMove(get_turf(src)) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][patient] ejected. Life support functions disabled.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("[patient] ejected. Life support functions disabled.")]") log_message("[patient] ejected. Life support functions disabled.", LOG_MECHA) STOP_PROCESSING(SSobj, src) patient = null @@ -98,7 +98,7 @@ /obj/item/mecha_parts/mecha_equipment/medical/sleeper/detach() if(patient) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Unable to detach [src] - equipment occupied!") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_warning("Unable to detach [src] - equipment occupied!")]") return STOP_PROCESSING(SSobj, src) return ..() @@ -181,9 +181,9 @@ Respiratory Damage: [patient.getOxyLoss()]%
    Toxin Content: [patient.getToxLoss()]%
    Burn Severity: [patient.getFireLoss()]%
    - [patient.getCloneLoss() ? "Subject appears to have cellular damage." : ""]
    - [patient.getOrganLoss(ORGAN_SLOT_BRAIN) ? "Significant brain damage detected." : ""]
    - [length(patient.get_traumas()) ? "Brain Traumas detected." : ""]
    + [span_danger("[patient.getCloneLoss() ? "Subject appears to have cellular damage." : ""]")]
    + [span_danger("[patient.getOrganLoss(ORGAN_SLOT_BRAIN) ? "Significant brain damage detected." : ""]")]
    + [span_danger("[length(patient.get_traumas()) ? "Brain Traumas detected." : ""]")]
    "} /obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_reagents() @@ -208,7 +208,7 @@ return var/to_inject = min(R.volume, inject_amount) if(to_inject && patient.reagents.get_reagent_amount(R.type) + to_inject <= inject_amount*2) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Injecting [patient] with [to_inject] units of [R.name].") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Injecting [patient] with [to_inject] units of [R.name].")]") log_message("Injecting [patient] with [to_inject] units of [R.name].", LOG_MECHA) log_combat(chassis.occupants, patient, "injected", "[name] ([R] - [to_inject] units)") SG.reagents.trans_id_to(patient,R.type,to_inject) @@ -230,7 +230,7 @@ return if(!chassis.has_charge(energy_drain)) log_message("Deactivated.", LOG_MECHA) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] deactivated - no power.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_warning("[src] deactivated - no power.")]") STOP_PROCESSING(SSobj, src) return var/mob/living/carbon/M = patient @@ -361,7 +361,7 @@ message += " added to production" START_PROCESSING(SSobj, src) to_chat(usr, message) - to_chat(usr, "[icon2html(src, usr)]Reagent processing started.") + to_chat(usr, "[icon2html(src, usr)][span_notice("Reagent processing started.")]") log_message("Reagent processing started.", LOG_MECHA) return if (href_list["show_reagents"]) @@ -440,39 +440,39 @@ /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/load_syringe(obj/item/reagent_containers/syringe/S, mob/user) if(LAZYLEN(syringes) >= max_syringes) - to_chat(user, "[icon2html(src, user)][src]'s syringe chamber is full!") + to_chat(user, "[icon2html(src, user)][span_warning("[src]'s syringe chamber is full!")]") return FALSE if(get_dist(src,S) >= 2) - to_chat(user, "[icon2html(src, user)]The syringe is too far away!") + to_chat(user, "[icon2html(src, user)][span_warning("The syringe is too far away!")]") return FALSE for(var/obj/structure/D in S.loc)//Basic level check for structures in the way (Like grilles and windows) if(!(D.CanPass(S,src.loc))) - to_chat(user, "[icon2html(src, user)]Unable to load syringe!") + to_chat(user, "[icon2html(src, user)][span_warning("Unable to load syringe!")]") return FALSE for(var/obj/machinery/door/D in S.loc)//Checks for doors if(!(D.CanPass(S,src.loc))) - to_chat(user, "[icon2html(src, user)]Unable to load syringe!") + to_chat(user, "[icon2html(src, user)][span_warning("Unable to load syringe!")]") return FALSE S.reagents.trans_to(src, S.reagents.total_volume, transfered_by = user) S.forceMove(src) LAZYADD(syringes,S) - to_chat(user, "[icon2html(src, user)]Syringe loaded.") + to_chat(user, "[icon2html(src, user)][span_notice("Syringe loaded.")]") update_equip_info() return TRUE /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/analyze_reagents(atom/A, mob/user) if(get_dist(src,A) >= 4) - to_chat(user, "[icon2html(src, user)]The object is too far away!") + to_chat(user, "[icon2html(src, user)][span_notice("The object is too far away!")]") return FALSE if(!A.reagents || ismob(A)) - to_chat(user, "[icon2html(src, user)]No reagent info gained from [A].") + to_chat(user, "[icon2html(src, user)][span_warning("No reagent info gained from [A].")]") return FALSE - to_chat(user, "[icon2html(src, user)]Analyzing reagents...") + to_chat(user, "[icon2html(src, user)][span_notice("Analyzing reagents...")]") for(var/datum/reagent/R in A.reagents.reagent_list) if((R.chemical_flags & REAGENT_CAN_BE_SYNTHESIZED) && add_known_reagent(R.type,R.name)) - to_chat(user, "[icon2html(src, user)]Reagent analyzed, identified as [R.name] and added to database.") + to_chat(user, "[icon2html(src, user)][span_notice("Reagent analyzed, identified as [R.name] and added to database.")]") send_byjax(chassis.occupants,"msyringegun.browser","reagents_form",get_reagents_form()) - to_chat(user, "[icon2html(src, user)]Analysis complete.") + to_chat(user, "[icon2html(src, user)][span_notice("Analysis complete.")]") return TRUE /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/add_known_reagent(r_id,r_name) @@ -500,7 +500,7 @@ if(.) return if(!LAZYLEN(processed_reagents) || reagents.total_volume >= reagents.maximum_volume || !chassis.has_charge(energy_drain)) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Reagent processing stopped.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_alert("Reagent processing stopped.")]") log_message("Reagent processing stopped.", LOG_MECHA) return PROCESS_KILL var/amount = delta_time * synth_speed / LAZYLEN(processed_reagents) diff --git a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm index 9e382dd7bc3..7832a40eb78 100644 --- a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm @@ -43,9 +43,9 @@ // You can't drill harder by clicking more. if(!DOING_INTERACTION_WITH_TARGET(source, target) && do_after_cooldown(target, source, DOAFTER_SOURCE_MECHADRILL)) - target.visible_message("[chassis] starts to drill [target].", \ - "[chassis] starts to drill [target]...", \ - "You hear drilling.") + target.visible_message(span_warning("[chassis] starts to drill [target]."), \ + span_userdanger("[chassis] starts to drill [target]..."), \ + span_hear("You hear drilling.")) log_message("Started drilling [target]", LOG_MECHA) // Drilling a turf is a one-and-done procedure. @@ -84,7 +84,7 @@ drill.log_message("Drilled through [src]", LOG_MECHA) dismantle_wall(TRUE, FALSE) else - to_chat(user, "[icon2html(src, user)][src] is too durable to drill through.") + to_chat(user, "[icon2html(src, user)][span_danger("[src] is too durable to drill through.")]") /turf/closed/mineral/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill, mob/user) for(var/turf/closed/mineral/M in range(drill.chassis,1)) @@ -123,8 +123,8 @@ butchering.butchering_enabled = FALSE /obj/item/mecha_parts/mecha_equipment/drill/proc/drill_mob(mob/living/target, mob/living/user) - target.visible_message("[chassis] is drilling [target] with [src]!", \ - "[chassis] is drilling you with [src]!") + target.visible_message(span_danger("[chassis] is drilling [target] with [src]!"), \ + span_userdanger("[chassis] is drilling you with [src]!")) log_combat(user, target, "drilled", "[name]", "Combat mode: [user.combat_mode ? "On" : "Off"])(DAMTYPE: [uppertext(damtype)])") if(target.stat == DEAD && target.getBruteLoss() >= (target.maxHealth * 2)) log_combat(user, target, "gibbed", name) diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index 74b990c9c00..f40e39c3eaf 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -88,15 +88,15 @@ if(GRAVSLING_MODE) if(!movable_target) if(!istype(target) || target.anchored || target.move_resist >= MOVE_FORCE_EXTREMELY_STRONG) - to_chat(source, "[icon2html(src, source)]Unable to lock on [target]!") + to_chat(source, "[icon2html(src, source)][span_warning("Unable to lock on [target]!")]") return if(ismob(target)) var/mob/M = target if(M.mob_negates_gravity()) - to_chat(source, "[icon2html(src, source)][target] immune to gravitational impulses, unable to lock!") + to_chat(source, "[icon2html(src, source)][span_warning("[target] immune to gravitational impulses, unable to lock!")]") return movable_target = target - to_chat(source, "[icon2html(src, source)]locked on [target].") + to_chat(source, "[icon2html(src, source)][span_notice("locked on [target].")]") send_byjax(source,"exosuit.browser","[REF(src)]", get_equip_info()) else if(target!=movable_target) if(movable_target in view(chassis)) @@ -108,7 +108,7 @@ log_game("[key_name(source)] used a Gravitational Catapult to throw [movable_target] (From [AREACOORD(orig)]) at [target] ([AREACOORD(targ)]).") return ..() movable_target = null - to_chat(source, "[icon2html(src, source)]Lock on [movable_target] disengaged.") + to_chat(source, "[icon2html(src, source)][span_notice("Lock on [movable_target] disengaged.")]") send_byjax(source,"exosuit.browser","[REF(src)]", get_equip_info()) if(GRAVPUSH_MODE) @@ -328,7 +328,7 @@ return PROCESS_KILL var/cur_charge = chassis.get_charge() if(isnull(cur_charge) || !chassis.cell) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]No power cell detected.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("No power cell detected.")]") return PROCESS_KILL if(cur_charge >= chassis.cell.maxcharge) return @@ -404,13 +404,13 @@ var/units = min(max(round(to_load / MINERAL_MATERIAL_AMOUNT),1),P.amount) fuel.amount += units P.use(units) - to_chat(user, "[icon2html(src, user)][units] unit\s of [fuel] successfully loaded.") + to_chat(user, "[icon2html(src, user)][span_notice("[units] unit\s of [fuel] successfully loaded.")]") return units else - to_chat(user, "[icon2html(src, user)]Unit is full.") + to_chat(user, "[icon2html(src, user)][span_notice("Unit is full.")]") return 0 else - to_chat(user, "[icon2html(src, user)][fuel] traces in target minimal! [P] cannot be used as fuel.") + to_chat(user, "[icon2html(src, user)][span_warning("[fuel] traces in target minimal! [P] cannot be used as fuel.")]") return /obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user, params) @@ -421,11 +421,11 @@ return PROCESS_KILL if(fuel.amount<=0) log_message("Deactivated - no fuel.", LOG_MECHA) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Fuel reserves depleted.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Fuel reserves depleted.")]") return PROCESS_KILL var/cur_charge = chassis.get_charge() if(isnull(cur_charge)) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]No power cell detected.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("No power cell detected.")]") log_message("Deactivated.", LOG_MECHA) return PROCESS_KILL var/use_fuel = fuelrate_idle @@ -467,7 +467,7 @@ /obj/item/mecha_parts/mecha_equipment/thrusters/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M) for(var/obj/item/I in M.equipment) if(istype(I, src)) - to_chat(user, "[M] already has this thruster package!") + to_chat(user, span_warning("[M] already has this thruster package!")) return FALSE return ..() @@ -501,13 +501,13 @@ if (chassis.active_thrusters == src) return chassis.active_thrusters = src - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] enabled.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("[src] enabled.")]") /obj/item/mecha_parts/mecha_equipment/thrusters/proc/disable() if(chassis.active_thrusters != src) return chassis.active_thrusters = null - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] disabled.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("[src] disabled.")]") /obj/item/mecha_parts/mecha_equipment/thrusters/get_equip_info() return "[..()] \[Enable|Disable\]" @@ -533,7 +533,7 @@ /obj/item/mecha_parts/mecha_equipment/thrusters/gas/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M) if(!M.internal_tank) - to_chat(user, "[M] does not have an internal tank and cannot support this upgrade!") + to_chat(user, span_warning("[M] does not have an internal tank and cannot support this upgrade!")) return FALSE return ..() diff --git a/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm b/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm index 451e6320922..87c5b949d26 100644 --- a/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm +++ b/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm @@ -6,9 +6,9 @@ /obj/item/mecha_parts/concealed_weapon_bay/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M) if(istype(M, /obj/vehicle/sealed/mecha/combat)) - to_chat(user, "[M] can already hold weapons!") + to_chat(user, span_warning("[M] can already hold weapons!")) return if(locate(/obj/item/mecha_parts/concealed_weapon_bay) in M.contents) - to_chat(user, "[M] already has a concealed weapon bay!") + to_chat(user, span_warning("[M] already has a concealed weapon bay!")) return return ..() diff --git a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm index cbfde0996f6..f7be92df31f 100644 --- a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm @@ -68,13 +68,13 @@ targetairlock.try_to_crowbar(src, source) return if(clamptarget.anchored) - to_chat(source, "[icon2html(src, source)][target] is firmly secured!") + to_chat(source, "[icon2html(src, source)][span_warning("[target] is firmly secured!")]") return if(LAZYLEN(cargo_holder.cargo) >= cargo_holder.cargo_capacity) - to_chat(source, "[icon2html(src, source)]Not enough room in cargo compartment!") + to_chat(source, "[icon2html(src, source)][span_warning("Not enough room in cargo compartment!")]") return playsound(chassis, clampsound, 50, FALSE, -6) - chassis.visible_message("[chassis] lifts [target] and starts to load it into cargo compartment.") + chassis.visible_message(span_notice("[chassis] lifts [target] and starts to load it into cargo compartment.")) clamptarget.set_anchored(TRUE) if(!do_after_cooldown(target, source)) clamptarget.set_anchored(initial(clamptarget.anchored)) @@ -84,7 +84,7 @@ clamptarget.set_anchored(FALSE) if(!cargo_holder.box && istype(clamptarget, /obj/structure/ore_box)) cargo_holder.box = clamptarget - to_chat(source, "[icon2html(src, source)][target] successfully loaded.") + to_chat(source, "[icon2html(src, source)][span_notice("[target] successfully loaded.")]") log_message("Loaded [clamptarget]. Cargo compartment capacity: [cargo_holder.cargo_capacity - LAZYLEN(cargo_holder.cargo)]", LOG_MECHA) else if(isliving(target)) @@ -97,16 +97,16 @@ if(!source.combat_mode) step_away(M,chassis) if(killer_clamp) - target.visible_message("[chassis] tosses [target] like a piece of paper!", \ - "[chassis] tosses you like a piece of paper!") + target.visible_message(span_danger("[chassis] tosses [target] like a piece of paper!"), \ + span_userdanger("[chassis] tosses you like a piece of paper!")) else - to_chat(source, "[icon2html(src, source)]You push [target] out of the way.") - chassis.visible_message("[chassis] pushes [target] out of the way.", \ - "[chassis] pushes you aside.") + to_chat(source, "[icon2html(src, source)][span_notice("You push [target] out of the way.")]") + chassis.visible_message(span_notice("[chassis] pushes [target] out of the way."), \ + span_notice("[chassis] pushes you aside.")) return ..() else if(LAZYACCESS(modifiers, RIGHT_CLICK) && iscarbon(M))//meme clamp here if(!killer_clamp) - to_chat(source, "You longingly wish to tear [M]'s arms off.") + to_chat(source, span_notice("You longingly wish to tear [M]'s arms off.")) return var/mob/living/carbon/C = target var/torn_off = FALSE @@ -119,11 +119,11 @@ affected.dismember(damtype) torn_off = TRUE if(!torn_off) - to_chat(source, "[M]'s arms are already torn off, you must find a challenger worthy of the kill clamp!") + to_chat(source, span_notice("[M]'s arms are already torn off, you must find a challenger worthy of the kill clamp!")) return playsound(src, get_dismember_sound(), 80, TRUE) - target.visible_message("[chassis] rips [target]'s arms off!", \ - "[chassis] rips your arms off!") + target.visible_message(span_danger("[chassis] rips [target]'s arms off!"), \ + span_userdanger("[chassis] rips your arms off!")) log_combat(source, M, "removed both arms with a real clamp,", "[name]", "(COMBAT MODE: [uppertext(source.combat_mode)] (DAMTYPE: [uppertext(damtype)])") return ..() @@ -132,9 +132,9 @@ return M.adjustOxyLoss(round(clamp_damage/2)) M.updatehealth() - target.visible_message("[chassis] squeezes [target]!", \ - "[chassis] squeezes you!",\ - "You hear something crack.") + target.visible_message(span_danger("[chassis] squeezes [target]!"), \ + span_userdanger("[chassis] squeezes you!"),\ + span_hear("You hear something crack.")) log_combat(source, M, "attacked", "[name]", "(Combat mode: [source.combat_mode ? "On" : "Off"]) (DAMTYPE: [uppertext(damtype)])") return ..() @@ -175,7 +175,7 @@ if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1) var/obj/structure/reagent_dispensers/watertank/WT = target WT.reagents.trans_to(src, 1000) - to_chat(source, "[icon2html(src, source)]Extinguisher refilled.") + to_chat(source, "[icon2html(src, source)][span_notice("Extinguisher refilled.")]") playsound(chassis, 'sound/effects/refill.ogg', 50, TRUE, -6) return @@ -257,7 +257,7 @@ switch(mode) if(MODE_DECONSTRUCT) - to_chat(source, "[icon2html(src, source)]Deconstructing [target]...") + to_chat(source, "[icon2html(src, source)][span_notice("Deconstructing [target]...")]") if(iswallturf(target)) var/turf/closed/wall/W = target if(!do_after_cooldown(W, source)) @@ -275,19 +275,19 @@ if(MODE_WALL) if(isspaceturf(target)) var/turf/open/space/S = target - to_chat(source, "[icon2html(src, source)]Building Floor...") + to_chat(source, "[icon2html(src, source)][span_notice("Building Floor...")]") if(!do_after_cooldown(S, source)) return S.PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) else if(isfloorturf(target)) var/turf/open/floor/F = target - to_chat(source, "[icon2html(src, source)]Building Wall...") + to_chat(source, "[icon2html(src, source)][span_notice("Building Wall...")]") if(!do_after_cooldown(F, source)) return F.PlaceOnTop(/turf/closed/wall) if(MODE_AIRLOCK) if(isfloorturf(target)) - to_chat(source, "[icon2html(src, source)]Building Airlock...") + to_chat(source, "[icon2html(src, source)][span_notice("Building Airlock...")]") if(!do_after_cooldown(target, source)) return var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock(target) @@ -303,13 +303,13 @@ mode = text2num(href_list["mode"]) switch(mode) if(MODE_DECONSTRUCT) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Switched RCD to Deconstruct.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Switched RCD to Deconstruct.")]") energy_drain = initial(energy_drain) if(MODE_WALL) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Switched RCD to Construct Walls and Flooring.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Switched RCD to Construct Walls and Flooring.")]") energy_drain = 2*initial(energy_drain) if(MODE_AIRLOCK) - to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Switched RCD to Construct Airlock.") + to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Switched RCD to Construct Airlock.")]") energy_drain = 2*initial(energy_drain) /obj/item/mecha_parts/mecha_equipment/rcd/get_equip_info() @@ -328,19 +328,19 @@ /obj/item/mecha_parts/mecha_equipment/ripleyupgrade/can_attach(obj/vehicle/sealed/mecha/working/ripley/M) if(M.type != /obj/vehicle/sealed/mecha/working/ripley) - to_chat(loc, "This conversion kit can only be applied to APLU MK-I models.") + to_chat(loc, span_warning("This conversion kit can only be applied to APLU MK-I models.")) return FALSE if(LAZYLEN(M.cargo)) - to_chat(loc, "[M]'s cargo hold must be empty before this conversion kit can be applied.") + to_chat(loc, span_warning("[M]'s cargo hold must be empty before this conversion kit can be applied.")) return FALSE if(!(M.mecha_flags & ADDING_MAINT_ACCESS_POSSIBLE)) //non-removable upgrade, so lets make sure the pilot or owner has their say. - to_chat(loc, "[M] must have maintenance protocols active in order to allow this conversion kit.") + to_chat(loc, span_warning("[M] must have maintenance protocols active in order to allow this conversion kit.")) return FALSE if(LAZYLEN(M.occupants)) //We're actualy making a new mech and swapping things over, it might get weird if players are involved - to_chat(loc, "[M] must be unoccupied before this conversion kit can be applied.") + to_chat(loc, span_warning("[M] must be unoccupied before this conversion kit can be applied.")) return FALSE if(!M.cell) //Turns out things break if the cell is missing - to_chat(loc, "The conversion process requires a cell installed.") + to_chat(loc, span_warning("The conversion process requires a cell installed.")) return FALSE return TRUE diff --git a/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm index c95977a7fbe..bdd960cebe7 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm @@ -27,10 +27,10 @@ /obj/item/mecha_ammo/attack_self(mob/user) ..() if(rounds) - to_chat(user, "You cannot flatten the ammo box until it's empty!") + to_chat(user, span_warning("You cannot flatten the ammo box until it's empty!")) return - to_chat(user, "You fold [src] flat.") + to_chat(user, span_notice("You fold [src] flat.")) var/trash = new /obj/item/stack/sheet/iron(user.loc) qdel(src) user.put_in_hands(trash) diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 10164c4dc1b..989292401ee 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -475,9 +475,9 @@ if(!chassis) return if(harmful) - to_chat(usr, "[icon2html(src, usr)]Lethal Fisting Enabled.") + to_chat(usr, "[icon2html(src, usr)][span_warning("Lethal Fisting Enabled.")]") else - to_chat(usr, "[icon2html(src, usr)]Lethal Fisting Disabled.") + to_chat(usr, "[icon2html(src, usr)][span_warning("Lethal Fisting Disabled.")]") /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove/action(mob/source, atom/target, params) . = ..() diff --git a/code/modules/vehicles/mecha/mech_bay.dm b/code/modules/vehicles/mecha/mech_bay.dm index bd66a6f5cc8..3d152c2e936 100644 --- a/code/modules/vehicles/mecha/mech_bay.dm +++ b/code/modules/vehicles/mecha/mech_bay.dm @@ -47,7 +47,7 @@ /obj/machinery/mech_bay_recharge_port/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Recharge power [siunit(recharge_power, "W", 1)]." + . += span_notice("The status display reads: Recharge power [siunit(recharge_power, "W", 1)].") /obj/machinery/mech_bay_recharge_port/process(delta_time) if(machine_stat & NOPOWER || !recharge_console) diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index edc21af1d13..9438e1c3a43 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -102,7 +102,7 @@ /obj/machinery/mecha_part_fabricator/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Storing up to [rmat.local_size] material units.
    Material consumption at [component_coeff*100]%.
    Build time reduced by [100-time_coeff*100]%.
    " + . += span_notice("The status display reads: Storing up to [rmat.local_size] material units.
    Material consumption at [component_coeff*100]%.
    Build time reduced by [100-time_coeff*100]%.") /** * Generates an info list for a given part. @@ -579,7 +579,7 @@ if(..()) return TRUE if(being_built) - to_chat(user, "\The [src] is currently processing! Please wait until completion.") + to_chat(user, span_warning("\The [src] is currently processing! Please wait until completion.")) return FALSE return default_deconstruction_screwdriver(user, "fab-o", "fab-idle", I) @@ -587,16 +587,16 @@ if(..()) return TRUE if(being_built) - to_chat(user, "\The [src] is currently processing! Please wait until completion.") + to_chat(user, span_warning("\The [src] is currently processing! Please wait until completion.")) return FALSE return default_deconstruction_crowbar(I) /obj/machinery/mecha_part_fabricator/proc/is_insertion_ready(mob/user) if(panel_open) - to_chat(user, "You can't load [src] while it's opened!") + to_chat(user, span_warning("You can't load [src] while it's opened!")) return FALSE if(being_built) - to_chat(user, "\The [src] is currently processing! Please wait until completion.") + to_chat(user, span_warning("\The [src] is currently processing! Please wait until completion.")) return FALSE return TRUE diff --git a/code/modules/vehicles/mecha/mech_melee_attack.dm b/code/modules/vehicles/mecha/mech_melee_attack.dm index cdd3d78abac..f7d3f9f9809 100644 --- a/code/modules/vehicles/mecha/mech_melee_attack.dm +++ b/code/modules/vehicles/mecha/mech_melee_attack.dm @@ -7,8 +7,8 @@ switch(mecha_attacker.damtype) if(BRUTE) playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) - mecha_attacker.visible_message("[mecha_attacker.name] hits [src]!", \ - "You hit [src]!", null, COMBAT_MESSAGE_RANGE) + mecha_attacker.visible_message(span_danger("[mecha_attacker.name] hits [src]!"), \ + span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE) if(prob(hardness + mecha_attacker.force) && mecha_attacker.force > 20) dismantle_wall(1) playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) @@ -38,7 +38,7 @@ return 0 else return 0 - mecha_attacker.visible_message("[mecha_attacker.name] hits [src]!", "You hit [src]!", null, COMBAT_MESSAGE_RANGE) + mecha_attacker.visible_message(span_danger("[mecha_attacker.name] hits [src]!"), span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE) return take_damage(mecha_attacker.force * 3, mech_damtype, "melee", play_soundeffect, get_dir(src, mecha_attacker)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs. /obj/structure/window/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker) @@ -49,7 +49,7 @@ /mob/living/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) if(user.combat_mode) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, span_warning("You don't want to harm other living beings!")) return mecha_attacker.do_attack_animation(src) if(mecha_attacker.damtype == "brute") @@ -67,16 +67,16 @@ else return updatehealth() - visible_message("[mecha_attacker.name] hits [src]!", \ - "[mecha_attacker.name] hits you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, mecha_attacker) - to_chat(mecha_attacker, "You hit [src]!") + visible_message(span_danger("[mecha_attacker.name] hits [src]!"), \ + span_userdanger("[mecha_attacker.name] hits you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, mecha_attacker) + to_chat(mecha_attacker, span_danger("You hit [src]!")) log_combat(user, src, "attacked", mecha_attacker, "(COMBAT MODE: [uppertext(user.combat_mode)]) (DAMTYPE: [uppertext(mecha_attacker.damtype)])") else step_away(src, mecha_attacker) log_combat(user, src, "pushed", mecha_attacker) - visible_message("[mecha_attacker] pushes [src] out of the way.", \ - "[mecha_attacker] pushes you out of the way.", "You hear aggressive shuffling!", 5, list(mecha_attacker)) - to_chat(mecha_attacker, "You push [src] out of the way.") + visible_message(span_warning("[mecha_attacker] pushes [src] out of the way."), \ + span_warning("[mecha_attacker] pushes you out of the way."), span_hear("You hear aggressive shuffling!"), 5, list(mecha_attacker)) + to_chat(mecha_attacker, span_danger("You push [src] out of the way.")) /mob/living/carbon/human/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) if(!isliving(user)) @@ -84,7 +84,7 @@ var/mob/living/attacker = user if(attacker.combat_mode) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, span_warning("You don't want to harm other living beings!")) return mecha_attacker.do_attack_animation(src) if(mecha_attacker.damtype == BRUTE) @@ -112,9 +112,9 @@ update_damage_overlays() updatehealth() - visible_message("[mecha_attacker.name] hits [src]!", \ - "[mecha_attacker.name] hits you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, list(mecha_attacker)) - to_chat(mecha_attacker, "You hit [src]!") + visible_message(span_danger("[mecha_attacker.name] hits [src]!"), \ + span_userdanger("[mecha_attacker.name] hits you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, list(mecha_attacker)) + to_chat(mecha_attacker, span_danger("You hit [src]!")) log_combat(user, src, "attacked", mecha_attacker, "(COMBAT MODE: [uppertext(user.combat_mode)] (DAMTYPE: [uppertext(mecha_attacker.damtype)])") else return ..() diff --git a/code/modules/vehicles/mecha/mecha_actions.dm b/code/modules/vehicles/mecha/mecha_actions.dm index 7497b8c87fb..bcdb2486cd7 100644 --- a/code/modules/vehicles/mecha/mecha_actions.dm +++ b/code/modules/vehicles/mecha/mecha_actions.dm @@ -130,7 +130,7 @@ if(!(user in occupants) || !user.canUseTopic(src)) return if(!(user in return_controllers_with_flag(VEHICLE_CONTROL_DRIVE))) - to_chat(user, "You're in the wrong seat to control movement.") + to_chat(user, span_warning("You're in the wrong seat to control movement.")) return toggle_strafe() diff --git a/code/modules/vehicles/mecha/mecha_construction_paths.dm b/code/modules/vehicles/mecha/mecha_construction_paths.dm index 5520cbef901..b28ff4ff008 100644 --- a/code/modules/vehicles/mecha/mecha_construction_paths.dm +++ b/code/modules/vehicles/mecha/mecha_construction_paths.dm @@ -59,7 +59,7 @@ . = user.transferItemToLoc(I, parent) if(.) var/atom/parent_atom = parent - user.visible_message("[user] connects [I] to [parent].", "You connect [I] to [parent].") + user.visible_message(span_notice("[user] connects [I] to [parent]."), span_notice("You connect [I] to [parent].")) parent_atom.add_overlay(I.icon_state+"+o") qdel(I) @@ -297,102 +297,102 @@ switch(index) if(1) - user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems.")) if(2) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems.")) else - user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems.")) if(3) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent].")) else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems.")) if(4) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent].")) else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent].")) if(5) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent].")) if(6) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(span_notice("[user] secures the mainboard."), span_notice("You secure the mainboard.")) else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent].")) if(7) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(span_notice("[user] unfastens the mainboard."), span_notice("You unfasten the mainboard.")) if(8) if(diff==FORWARD) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(span_notice("[user] secures the peripherals control module."), span_notice("You secure the peripherals control module.")) else - user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") + user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent].")) if(9) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(span_notice("[user] unfastens the peripherals control module."), span_notice("You unfasten the peripherals control module.")) if(10) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module.")) else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent].")) if(11) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module.")) if(12) if(diff==FORWARD) - user.visible_message("[user] secures [I].", "You secure [I].") + user.visible_message(span_notice("[user] secures [I]."), span_notice("You secure [I].")) else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent].")) if(13) if(diff==FORWARD) - user.visible_message("[user] installs [I].", "You install [I].") + user.visible_message(span_notice("[user] installs [I]."), span_notice("You install [I].")) else - user.visible_message("[user] unsecures the capacitor from [parent].", "You unsecure the capacitor from [parent].") + user.visible_message(span_notice("[user] unsecures the capacitor from [parent]."), span_notice("You unsecure the capacitor from [parent].")) if(14) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell.")) else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent].")) if(15) if(diff==FORWARD) - user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") + user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell.")) if(16) if(diff==FORWARD) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(span_notice("[user] secures the internal armor layer."), span_notice("You secure the internal armor layer.")) else - user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") + user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent].")) if(17) if(diff==FORWARD) - user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") + user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(span_notice("[user] unfastens the internal armor layer."), span_notice("You unfasten the internal armor layer.")) if(18) if(diff==FORWARD) - user.visible_message("[user] installs the external reinforced armor layer to [parent].", "You install the external reinforced armor layer to [parent].") + user.visible_message(span_notice("[user] installs the external reinforced armor layer to [parent]."), span_notice("You install the external reinforced armor layer to [parent].")) else - user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") + user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent].")) if(19) if(diff==FORWARD) - user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") + user.visible_message(span_notice("[user] secures the external armor layer."), span_notice("You secure the external reinforced armor layer.")) else - user.visible_message("[user] pries external armor layer from [parent].", "You pry external armor layer from [parent].") + user.visible_message(span_notice("[user] pries external armor layer from [parent]."), span_notice("You pry external armor layer from [parent].")) if(20) if(diff==FORWARD) - user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") + user.visible_message(span_notice("[user] welds the external armor layer to [parent]."), span_notice("You weld the external armor layer to [parent].")) else - user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") + user.visible_message(span_notice("[user] unfastens the external armor layer."), span_notice("You unfasten the external armor layer.")) return TRUE /datum/component/construction/unordered/mecha_chassis/gygax @@ -429,112 +429,112 @@ switch(index) if(1) - user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems.")) if(2) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems.")) else - user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems.")) if(3) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent].")) else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems.")) if(4) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent].")) else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent].")) if(5) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent].")) if(6) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(span_notice("[user] secures the mainboard."), span_notice("You secure the mainboard.")) else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent].")) if(7) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(span_notice("[user] unfastens the mainboard."), span_notice("You unfasten the mainboard.")) if(8) if(diff==FORWARD) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(span_notice("[user] secures the peripherals control module."), span_notice("You secure the peripherals control module.")) else - user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") + user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent].")) if(9) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(span_notice("[user] unfastens the peripherals control module."), span_notice("You unfasten the peripherals control module.")) if(10) if(diff==FORWARD) - user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + user.visible_message(span_notice("[user] secures the weapon control module."), span_notice("You secure the weapon control module.")) else - user.visible_message("[user] removes the weapon control module from [parent].", "You remove the weapon control module from [parent].") + user.visible_message(span_notice("[user] removes the weapon control module from [parent]."), span_notice("You remove the weapon control module from [parent].")) if(11) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + user.visible_message(span_notice("[user] unfastens the weapon control module."), span_notice("You unfasten the weapon control module.")) if(12) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module.")) else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent].")) if(13) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module.")) if(14) if(diff==FORWARD) - user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor.")) else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent].")) if(15) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor.")) if(16) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell.")) else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent].")) if(17) if(diff==FORWARD) - user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") + user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell.")) if(18) if(diff==FORWARD) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(span_notice("[user] secures the internal armor layer."), span_notice("You secure the internal armor layer.")) else - user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") + user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent].")) if(19) if(diff==FORWARD) - user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") + user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(span_notice("[user] unfastens the internal armor layer."), span_notice("You unfasten the internal armor layer.")) if(20) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") + user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent].")) if(21) if(diff==FORWARD) - user.visible_message("[user] secures Gygax Armor Plates.", "You secure Gygax Armor Plates.") + user.visible_message(span_notice("[user] secures Gygax Armor Plates."), span_notice("You secure Gygax Armor Plates.")) else - user.visible_message("[user] pries Gygax Armor Plates from [parent].", "You pry Gygax Armor Plates from [parent].") + user.visible_message(span_notice("[user] pries Gygax Armor Plates from [parent]."), span_notice("You pry Gygax Armor Plates from [parent].")) if(22) if(diff==FORWARD) - user.visible_message("[user] welds Gygax Armor Plates to [parent].", "You weld Gygax Armor Plates to [parent].") + user.visible_message(span_notice("[user] welds Gygax Armor Plates to [parent]."), span_notice("You weld Gygax Armor Plates to [parent].")) else - user.visible_message("[user] unfastens Gygax Armor Plates.", "You unfasten Gygax Armor Plates.") + user.visible_message(span_notice("[user] unfastens Gygax Armor Plates."), span_notice("You unfasten Gygax Armor Plates.")) return TRUE /datum/component/construction/unordered/mecha_chassis/clarke @@ -598,108 +598,108 @@ //TODO: better messages. switch(index) if(1) - user.visible_message("[user] adds the tread systems.", "You add the tread systems.") + user.visible_message(span_notice("[user] adds the tread systems."), span_notice("You add the tread systems.")) if(2) if(diff==FORWARD) - user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems.")) else - user.visible_message("[user] removes the tread systems.", "You remove the tread systems.") + user.visible_message(span_notice("[user] removes the tread systems."), span_notice("You remove the tread systems.")) if(3) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems.")) else - user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems.")) if(4) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent].")) else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems.")) if(5) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent].")) else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent].")) if(6) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent].")) if(7) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(span_notice("[user] secures the mainboard."), span_notice("You secure the mainboard.")) else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent].")) if(8) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(span_notice("[user] unfastens the mainboard."), span_notice("You unfasten the mainboard.")) if(9) if(diff==FORWARD) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(span_notice("[user] secures the peripherals control module."), span_notice("You secure the peripherals control module.")) else - user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") + user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent].")) if(10) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(span_notice("[user] unfastens the peripherals control module."), span_notice("You unfasten the peripherals control module.")) if(11) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module.")) else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent].")) if(12) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module.")) if(13) if(diff==FORWARD) - user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor.")) else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent].")) if(14) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor.")) if(15) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell.")) else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent].")) if(16) if(diff==FORWARD) - user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") + user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell.")) if(17) if(diff==FORWARD) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(span_notice("[user] secures the internal armor layer."), span_notice("You secure the internal armor layer.")) else - user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") + user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent].")) if(18) if(diff==FORWARD) - user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") + user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(span_notice("[user] unfastens the internal armor layer."), span_notice("You unfasten the internal armor layer.")) if(19) if(diff==FORWARD) - user.visible_message("[user] installs the external armor layer to [parent].", "You install the external reinforced armor layer to [parent].") + user.visible_message(span_notice("[user] installs the external armor layer to [parent]."), span_notice("You install the external reinforced armor layer to [parent].")) else - user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") + user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent].")) if(20) if(diff==FORWARD) - user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") + user.visible_message(span_notice("[user] secures the external armor layer."), span_notice("You secure the external reinforced armor layer.")) else - user.visible_message("[user] pries the external armor layer from [parent].", "You pry the external armor layer from [parent].") + user.visible_message(span_notice("[user] pries the external armor layer from [parent]."), span_notice("You pry the external armor layer from [parent].")) if(21) if(diff==FORWARD) - user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") + user.visible_message(span_notice("[user] welds the external armor layer to [parent]."), span_notice("You weld the external armor layer to [parent].")) else - user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") + user.visible_message(span_notice("[user] unfastens the external armor layer."), span_notice("You unfasten the external armor layer.")) return TRUE @@ -795,26 +795,26 @@ if(istype(I, /obj/item/bikehorn)) playsound(parent, 'sound/items/bikehorn.ogg', 50, TRUE) - user.visible_message("HONK!") + user.visible_message(span_danger("HONK!")) //TODO: better messages. switch(index) if(2) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) if(4) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) if(6) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) if(8) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) if(10) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) if(12) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) if(14) - user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].") + user.visible_message(span_notice("[user] puts [I] on [parent]."), span_notice("You put [I] on [parent].")) if(16) - user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].") + user.visible_message(span_notice("[user] puts [I] on [parent]."), span_notice("You put [I] on [parent].")) return TRUE /datum/component/construction/unordered/mecha_chassis/durand @@ -849,112 +849,112 @@ //TODO: better messages. switch(index) if(1) - user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems.")) if(2) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems.")) else - user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems.")) if(3) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent].")) else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems.")) if(4) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent].")) else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent].")) if(5) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent].")) if(6) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(span_notice("[user] secures the mainboard."), span_notice("You secure the mainboard.")) else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent].")) if(7) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(span_notice("[user] unfastens the mainboard."), span_notice("You unfasten the mainboard.")) if(8) if(diff==FORWARD) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(span_notice("[user] secures the peripherals control module."), span_notice("You secure the peripherals control module.")) else - user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") + user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent].")) if(9) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(span_notice("[user] unfastens the peripherals control module."), span_notice("You unfasten the peripherals control module.")) if(10) if(diff==FORWARD) - user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + user.visible_message(span_notice("[user] secures the weapon control module."), span_notice("You secure the weapon control module.")) else - user.visible_message("[user] removes the weapon control module from [parent].", "You remove the weapon control module from [parent].") + user.visible_message(span_notice("[user] removes the weapon control module from [parent]."), span_notice("You remove the weapon control module from [parent].")) if(11) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + user.visible_message(span_notice("[user] unfastens the weapon control module."), span_notice("You unfasten the weapon control module.")) if(12) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module.")) else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent].")) if(13) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module.")) if(14) if(diff==FORWARD) - user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor.")) else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent].")) if(15) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor.")) if(16) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell.")) else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent].")) if(17) if(diff==FORWARD) - user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") + user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell.")) if(18) if(diff==FORWARD) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(span_notice("[user] secures the internal armor layer."), span_notice("You secure the internal armor layer.")) else - user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") + user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent].")) if(19) if(diff==FORWARD) - user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") + user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(span_notice("[user] unfastens the internal armor layer."), span_notice("You unfasten the internal armor layer.")) if(20) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") + user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent].")) if(21) if(diff==FORWARD) - user.visible_message("[user] secures Durand Armor Plates.", "You secure Durand Armor Plates.") + user.visible_message(span_notice("[user] secures Durand Armor Plates."), span_notice("You secure Durand Armor Plates.")) else - user.visible_message("[user] pries Durand Armor Plates from [parent].", "You pry Durand Armor Plates from [parent].") + user.visible_message(span_notice("[user] pries Durand Armor Plates from [parent]."), span_notice("You pry Durand Armor Plates from [parent].")) if(22) if(diff==FORWARD) - user.visible_message("[user] welds Durand Armor Plates to [parent].", "You weld Durand Armor Plates to [parent].") + user.visible_message(span_notice("[user] welds Durand Armor Plates to [parent]."), span_notice("You weld Durand Armor Plates to [parent].")) else - user.visible_message("[user] unfastens Durand Armor Plates.", "You unfasten Durand Armor Plates.") + user.visible_message(span_notice("[user] unfastens Durand Armor Plates."), span_notice("You unfasten Durand Armor Plates.")) return TRUE //PHAZON @@ -1075,131 +1075,131 @@ //TODO: better messages. switch(index) if(1) - user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems.")) if(2) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems.")) else - user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems.")) if(3) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent].")) else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems.")) if(4) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent].")) else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent].")) if(5) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent].")) if(6) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(span_notice("[user] secures the mainboard."), span_notice("You secure the mainboard.")) else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent].")) if(7) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(span_notice("[user] unfastens the mainboard."), span_notice("You unfasten the mainboard.")) if(8) if(diff==FORWARD) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(span_notice("[user] secures the peripherals control module."), span_notice("You secure the peripherals control module.")) else - user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") + user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent].")) if(9) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(span_notice("[user] unfastens the peripherals control module."), span_notice("You unfasten the peripherals control module.")) if(10) if(diff==FORWARD) - user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + user.visible_message(span_notice("[user] secures the weapon control module."), span_notice("You secure the weapon control module.")) else - user.visible_message("[user] removes the weapon control module from [parent].", "You remove the weapon control module from [parent].") + user.visible_message(span_notice("[user] removes the weapon control module from [parent]."), span_notice("You remove the weapon control module from [parent].")) if(11) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + user.visible_message(span_notice("[user] unfastens the weapon control module."), span_notice("You unfasten the weapon control module.")) if(12) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module.")) else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent].")) if(13) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module.")) if(14) if(diff==FORWARD) - user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor.")) else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent].")) if(15) if(diff==FORWARD) - user.visible_message("[user] installs [I].", "You install [I].") + user.visible_message(span_notice("[user] installs [I]."), span_notice("You install [I].")) else - user.visible_message("[user] unsecures the capacitor from [parent].", "You unsecure the capacitor from [parent].") + user.visible_message(span_notice("[user] unsecures the capacitor from [parent]."), span_notice("You unsecure the capacitor from [parent].")) if(16) if(diff==FORWARD) - user.visible_message("[user] connects the bluespace crystal.", "You connect the bluespace crystal.") + user.visible_message(span_notice("[user] connects the bluespace crystal."), span_notice("You connect the bluespace crystal.")) else - user.visible_message("[user] removes the bluespace crystal from [parent].", "You remove the bluespace crystal from [parent].") + user.visible_message(span_notice("[user] removes the bluespace crystal from [parent]."), span_notice("You remove the bluespace crystal from [parent].")) if(17) if(diff==FORWARD) - user.visible_message("[user] engages the bluespace crystal.", "You engage the bluespace crystal.") + user.visible_message(span_notice("[user] engages the bluespace crystal."), span_notice("You engage the bluespace crystal.")) else - user.visible_message("[user] disconnects the bluespace crystal from [parent].", "You disconnect the bluespace crystal from [parent].") + user.visible_message(span_notice("[user] disconnects the bluespace crystal from [parent]."), span_notice("You disconnect the bluespace crystal from [parent].")) if(18) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disengages the bluespace crystal.", "You disengage the bluespace crystal.") + user.visible_message(span_notice("[user] disengages the bluespace crystal."), span_notice("You disengage the bluespace crystal.")) if(19) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell.")) else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent].")) if(20) if(diff==FORWARD) - user.visible_message("[user] installs the phase armor layer to [parent].", "You install the phase armor layer to [parent].") + user.visible_message(span_notice("[user] installs the phase armor layer to [parent]."), span_notice("You install the phase armor layer to [parent].")) else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell.")) if(21) if(diff==FORWARD) - user.visible_message("[user] secures the phase armor layer.", "You secure the phase armor layer.") + user.visible_message(span_notice("[user] secures the phase armor layer."), span_notice("You secure the phase armor layer.")) else - user.visible_message("[user] pries the phase armor layer from [parent].", "You pry the phase armor layer from [parent].") + user.visible_message(span_notice("[user] pries the phase armor layer from [parent]."), span_notice("You pry the phase armor layer from [parent].")) if(22) if(diff==FORWARD) - user.visible_message("[user] welds the phase armor layer to [parent].", "You weld the phase armor layer to [parent].") + user.visible_message(span_notice("[user] welds the phase armor layer to [parent]."), span_notice("You weld the phase armor layer to [parent].")) else - user.visible_message("[user] unfastens the phase armor layer.", "You unfasten the phase armor layer.") + user.visible_message(span_notice("[user] unfastens the phase armor layer."), span_notice("You unfasten the phase armor layer.")) if(23) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] cuts phase armor layer from [parent].", "You cut the phase armor layer from [parent].") + user.visible_message(span_notice("[user] cuts phase armor layer from [parent]."), span_notice("You cut the phase armor layer from [parent].")) if(24) if(diff==FORWARD) - user.visible_message("[user] secures Phazon Armor Plates.", "You secure Phazon Armor Plates.") + user.visible_message(span_notice("[user] secures Phazon Armor Plates."), span_notice("You secure Phazon Armor Plates.")) else - user.visible_message("[user] pries Phazon Armor Plates from [parent].", "You pry Phazon Armor Plates from [parent].") + user.visible_message(span_notice("[user] pries Phazon Armor Plates from [parent]."), span_notice("You pry Phazon Armor Plates from [parent].")) if(25) if(diff==FORWARD) - user.visible_message("[user] welds Phazon Armor Plates to [parent].", "You weld Phazon Armor Plates to [parent].") + user.visible_message(span_notice("[user] welds Phazon Armor Plates to [parent]."), span_notice("You weld Phazon Armor Plates to [parent].")) else - user.visible_message("[user] unfastens Phazon Armor Plates.", "You unfasten Phazon Armor Plates.") + user.visible_message(span_notice("[user] unfastens Phazon Armor Plates."), span_notice("You unfasten Phazon Armor Plates.")) if(26) if(diff==FORWARD) - user.visible_message("[user] carefully inserts the bluespace anomaly core into [parent] and secures it.", - "You slowly place the bluespace anomaly core into its socket and close its chamber.") + user.visible_message(span_notice("[user] carefully inserts the bluespace anomaly core into [parent] and secures it."), + span_notice("You slowly place the bluespace anomaly core into its socket and close its chamber.")) return TRUE //savannah_ivanov @@ -1236,112 +1236,112 @@ switch(index) if(1) - user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems.")) if(2) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems.")) else - user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems.")) if(3) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent].")) else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems.")) if(4) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent].")) else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent].")) if(5) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent].")) if(6) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(span_notice("[user] secures the mainboard."), span_notice("You secure the mainboard.")) else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent].")) if(7) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(span_notice("[user] unfastens the mainboard."), span_notice("You unfasten the mainboard.")) if(8) if(diff==FORWARD) - user.visible_message("[user] secures the ivanov peripherals control module.", "You secure the ivanov peripherals control module.") + user.visible_message(span_notice("[user] secures the ivanov peripherals control module."), span_notice("You secure the ivanov peripherals control module.")) else - user.visible_message("[user] removes the ivanov peripherals control module from [parent].", "You remove the ivanov peripherals control module from [parent].") + user.visible_message(span_notice("[user] removes the ivanov peripherals control module from [parent]."), span_notice("You remove the ivanov peripherals control module from [parent].")) if(9) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the ivanov peripherals control module.", "You unfasten the ivanov peripherals control module.") + user.visible_message(span_notice("[user] unfastens the ivanov peripherals control module."), span_notice("You unfasten the ivanov peripherals control module.")) if(10) if(diff==FORWARD) - user.visible_message("[user] secures the ivanov weapon control module.", "You secure the ivanov weapon control module.") + user.visible_message(span_notice("[user] secures the ivanov weapon control module."), span_notice("You secure the ivanov weapon control module.")) else - user.visible_message("[user] removes the ivanov weapon control module from [parent].", "You remove the ivanov weapon control module from [parent].") + user.visible_message(span_notice("[user] removes the ivanov weapon control module from [parent]."), span_notice("You remove the ivanov weapon control module from [parent].")) if(11) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the ivanov weapon control module.", "You unfasten the ivanov weapon control module.") + user.visible_message(span_notice("[user] unfastens the ivanov weapon control module."), span_notice("You unfasten the ivanov weapon control module.")) if(12) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module.")) else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent].")) if(13) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module.")) if(14) if(diff==FORWARD) - user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor.")) else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent].")) if(15) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor.")) if(16) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell.")) else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent].")) if(17) if(diff==FORWARD) - user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") + user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell.")) if(18) if(diff==FORWARD) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(span_notice("[user] secures the internal armor layer."), span_notice("You secure the internal armor layer.")) else - user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") + user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent].")) if(19) if(diff==FORWARD) - user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") + user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(span_notice("[user] unfastens the internal armor layer."), span_notice("You unfasten the internal armor layer.")) if(20) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") + user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent].")) if(21) if(diff==FORWARD) - user.visible_message("[user] secures Savannah-Ivanov Armor Plates.", "You secure Savannah-Ivanov Armor Plates.") + user.visible_message(span_notice("[user] secures Savannah-Ivanov Armor Plates."), span_notice("You secure Savannah-Ivanov Armor Plates.")) else - user.visible_message("[user] pries Savannah-Ivanov Armor Plates from [parent].", "You pry Savannah-Ivanov Armor Plates from [parent].") + user.visible_message(span_notice("[user] pries Savannah-Ivanov Armor Plates from [parent]."), span_notice("You pry Savannah-Ivanov Armor Plates from [parent].")) if(22) if(diff==FORWARD) - user.visible_message("[user] welds Savannah-Ivanov Armor Plates to [parent].", "You weld Savannah-Ivanov Armor Plates to [parent].") + user.visible_message(span_notice("[user] welds Savannah-Ivanov Armor Plates to [parent]."), span_notice("You weld Savannah-Ivanov Armor Plates to [parent].")) else - user.visible_message("[user] unfastens Savannah-Ivanov Armor Plates.", "You unfasten Savannah-Ivanov Armor Plates.") + user.visible_message(span_notice("[user] unfastens Savannah-Ivanov Armor Plates."), span_notice("You unfasten Savannah-Ivanov Armor Plates.")) return TRUE //ODYSSEUS @@ -1377,100 +1377,100 @@ //TODO: better messages. switch(index) if(1) - user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems.")) if(2) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems.")) else - user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") + user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems.")) if(3) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent].")) else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems.")) if(4) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent].")) else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent].")) if(5) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent].")) if(6) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(span_notice("[user] secures the mainboard."), span_notice("You secure the mainboard.")) else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent].")) if(7) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(span_notice("[user] unfastens the mainboard."), span_notice("You unfasten the mainboard.")) if(8) if(diff==FORWARD) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(span_notice("[user] secures the peripherals control module."), span_notice("You secure the peripherals control module.")) else - user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") + user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent].")) if(9) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(span_notice("[user] unfastens the peripherals control module."), span_notice("You unfasten the peripherals control module.")) if(10) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module.")) else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent].")) if(11) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent].")) else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module.")) if(12) if(diff==FORWARD) - user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor.")) else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent].")) if(13) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent].")) else - user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor.")) if(14) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell.")) else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent].")) if(15) if(diff==FORWARD) - user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") + user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell.")) if(16) if(diff==FORWARD) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(span_notice("[user] secures the internal armor layer."), span_notice("You secure the internal armor layer.")) else - user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") + user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent].")) if(17) if(diff==FORWARD) - user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") + user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent].")) else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(span_notice("[user] unfastens the internal armor layer."), span_notice("You unfasten the internal armor layer.")) if(18) if(diff==FORWARD) - user.visible_message("[user] installs the external armor layer to [parent].", "You install the external reinforced armor layer to [parent].") + user.visible_message(span_notice("[user] installs the external armor layer to [parent]."), span_notice("You install the external reinforced armor layer to [parent].")) else - user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") + user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent].")) if(19) if(diff==FORWARD) - user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") + user.visible_message(span_notice("[user] secures the external armor layer."), span_notice("You secure the external reinforced armor layer.")) else - user.visible_message("[user] pries the external armor layer from [parent].", "You pry the external armor layer from [parent].") + user.visible_message(span_notice("[user] pries the external armor layer from [parent]."), span_notice("You pry the external armor layer from [parent].")) if(20) if(diff==FORWARD) - user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") + user.visible_message(span_notice("[user] welds the external armor layer to [parent]."), span_notice("You weld the external armor layer to [parent].")) else - user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") + user.visible_message(span_notice("[user] unfastens the external armor layer."), span_notice("You unfasten the external armor layer.")) return TRUE diff --git a/code/modules/vehicles/mecha/mecha_control_console.dm b/code/modules/vehicles/mecha/mecha_control_console.dm index 2b0e841e930..75d7dd93e76 100644 --- a/code/modules/vehicles/mecha/mecha_control_console.dm +++ b/code/modules/vehicles/mecha/mecha_control_console.dm @@ -59,7 +59,7 @@ var/obj/vehicle/sealed/mecha/M = MT.chassis if(trim(message) && M) to_chat(M.occupants, message) - to_chat(usr, "Message sent.") + to_chat(usr, span_notice("Message sent.")) . = TRUE if("shock") var/obj/item/mecha_parts/mecha_tracking/MT = locate(params["tracker_ref"]) diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index cd6e032b1df..564c991c40d 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -18,7 +18,7 @@ else check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT)) if(. >= 5 || prob(33)) - to_chat(occupants, "[icon2html(src, occupants)]Taking damage!") + to_chat(occupants, "[icon2html(src, occupants)][span_userdanger("Taking damage!")]") log_message("Took [damage_amount] points of damage. Damage type: [damage_type]", LOG_MECHA) /obj/vehicle/sealed/mecha/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) @@ -45,7 +45,7 @@ booster_damage_modifier /= facing_modifier booster_deflection_modifier *= facing_modifier if(prob(deflect_chance * booster_deflection_modifier)) - visible_message("[src]'s armour deflects the attack!") + visible_message(span_danger("[src]'s armour deflects the attack!")) log_message("Armor saved.", LOG_MECHA) return 0 if(.) @@ -58,7 +58,7 @@ user.changeNext_move(CLICK_CD_MELEE) // Ugh. Ideally we shouldn't be setting cooldowns outside of click code. user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) playsound(loc, 'sound/weapons/tap.ogg', 40, TRUE, -1) - user.visible_message("[user] hits [name]. Nothing happens.", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] hits [name]. Nothing happens."), null, null, COMBAT_MESSAGE_RANGE) log_message("Attack by hand/paw. Attacker - [user].", LOG_MECHA, color="red") /obj/vehicle/sealed/mecha/attack_paw(mob/user, list/modifiers) @@ -186,9 +186,9 @@ if(istype(W, /obj/item/mmi)) if(mmi_move_inside(W,user)) - to_chat(user, "[src]-[W] interface initialized successfully.") + to_chat(user, span_notice("[src]-[W] interface initialized successfully.")) else - to_chat(user, "[src]-[W] interface initialization failed.") + to_chat(user, span_warning("[src]-[W] interface initialization failed.")) return if(istype(W, /obj/item/mecha_ammo)) @@ -206,9 +206,9 @@ id_card = pda.id output_maintenance_dialog(id_card, user) return - to_chat(user, "Invalid ID: Access denied.") + to_chat(user, span_warning("Invalid ID: Access denied.")) return - to_chat(user, "Maintenance protocols disabled by operator.") + to_chat(user, span_warning("Maintenance protocols disabled by operator.")) return if(istype(W, /obj/item/stock_parts/cell)) @@ -217,12 +217,12 @@ if(!user.transferItemToLoc(W, src, silent = FALSE)) return var/obj/item/stock_parts/cell/C = W - to_chat(user, "You install the power cell.") + to_chat(user, span_notice("You install the power cell.")) playsound(src, 'sound/items/screwdriver2.ogg', 50, FALSE) cell = C log_message("Power cell installed", LOG_MECHA) else - to_chat(user, "There's already a power cell installed!") + to_chat(user, span_warning("There's already a power cell installed!")) return if(istype(W, /obj/item/stock_parts/scanning_module)) @@ -230,13 +230,13 @@ if(!scanmod) if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You install the scanning module.") + to_chat(user, span_notice("You install the scanning module.")) playsound(src, 'sound/items/screwdriver2.ogg', 50, FALSE) scanmod = W log_message("[W] installed", LOG_MECHA) update_part_values() else - to_chat(user, "There's already a scanning module installed!") + to_chat(user, span_warning("There's already a scanning module installed!")) return if(istype(W, /obj/item/stock_parts/capacitor)) @@ -244,13 +244,13 @@ if(!capacitor) if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You install the capacitor.") + to_chat(user, span_notice("You install the capacitor.")) playsound(src, 'sound/items/screwdriver2.ogg', 50, FALSE) capacitor = W log_message("[W] installed", LOG_MECHA) update_part_values() else - to_chat(user, "There's already a capacitor installed!") + to_chat(user, span_warning("There's already a capacitor installed!")) return if(istype(W, /obj/item/stack/cable_coil)) @@ -258,9 +258,9 @@ var/obj/item/stack/cable_coil/CC = W if(CC.use(2)) clear_internal_damage(MECHA_INT_SHORT_CIRCUIT) - to_chat(user, "You replace the fused wires.") + to_chat(user, span_notice("You replace the fused wires.")) else - to_chat(user, "You need two lengths of cable to fix this mech!") + to_chat(user, span_warning("You need two lengths of cable to fix this mech!")) return if(istype(W, /obj/item/mecha_parts)) @@ -275,29 +275,29 @@ . = TRUE if(construction_state == MECHA_SECURE_BOLTS) construction_state = MECHA_LOOSE_BOLTS - to_chat(user, "You undo the securing bolts.") + to_chat(user, span_notice("You undo the securing bolts.")) return if(construction_state == MECHA_LOOSE_BOLTS) construction_state = MECHA_SECURE_BOLTS - to_chat(user, "You tighten the securing bolts.") + to_chat(user, span_notice("You tighten the securing bolts.")) /obj/vehicle/sealed/mecha/crowbar_act(mob/living/user, obj/item/I) ..() . = TRUE if(construction_state == MECHA_LOOSE_BOLTS) construction_state = MECHA_OPEN_HATCH - to_chat(user, "You open the hatch to the power unit.") + to_chat(user, span_notice("You open the hatch to the power unit.")) return if(construction_state == MECHA_OPEN_HATCH) construction_state = MECHA_LOOSE_BOLTS - to_chat(user, "You close the hatch to the power unit.") + to_chat(user, span_notice("You close the hatch to the power unit.")) /obj/vehicle/sealed/mecha/screwdriver_act(mob/living/user, obj/item/I) ..() . = TRUE if(internal_damage & MECHA_INT_TEMP_CONTROL) clear_internal_damage(MECHA_INT_TEMP_CONTROL) - to_chat(user, "You repair the damaged temperature controller.") + to_chat(user, span_notice("You repair the damaged temperature controller.")) return /obj/vehicle/sealed/mecha/welder_act(mob/living/user, obj/item/W) @@ -309,17 +309,17 @@ if(!W.use_tool(src, user, 0, volume=50, amount=1)) return clear_internal_damage(MECHA_INT_TANK_BREACH) - to_chat(user, "You repair the damaged gas tank.") + to_chat(user, span_notice("You repair the damaged gas tank.")) return if(obj_integrity < max_integrity) if(!W.use_tool(src, user, 0, volume=50, amount=1)) return - user.visible_message("[user] repairs some damage to [name].", "You repair some damage to [src].") + user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to [src].")) obj_integrity += min(10, max_integrity-obj_integrity) if(obj_integrity == max_integrity) - to_chat(user, "It looks to be fully repaired now.") + to_chat(user, span_notice("It looks to be fully repaired now.")) return - to_chat(user, "The [name] is at full integrity!") + to_chat(user, span_warning("The [name] is at full integrity!")) /obj/vehicle/sealed/mecha/proc/mech_toxin_damage(mob/living/target) playsound(src, 'sound/effects/spray2.ogg', 50, TRUE) diff --git a/code/modules/vehicles/mecha/mecha_parts.dm b/code/modules/vehicles/mecha/mecha_parts.dm index 9d6fb629b15..c54dba5d93a 100644 --- a/code/modules/vehicles/mecha/mecha_parts.dm +++ b/code/modules/vehicles/mecha/mecha_parts.dm @@ -11,9 +11,9 @@ /obj/item/mecha_parts/proc/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M) //For attaching parts to a finished mech if(!user.transferItemToLoc(src, M)) - to_chat(user, "\The [src] is stuck to your hand, you cannot put it in \the [M]!") + to_chat(user, span_warning("\The [src] is stuck to your hand, you cannot put it in \the [M]!")) return FALSE - user.visible_message("[user] attaches [src] to [M].", "You attach [src] to [M].") + user.visible_message(span_notice("[user] attaches [src] to [M]."), span_notice("You attach [src] to [M].")) return TRUE /obj/item/mecha_parts/part/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M) diff --git a/code/modules/vehicles/mecha/mecha_topic.dm b/code/modules/vehicles/mecha/mecha_topic.dm index 2b2c163febb..e2c38a6822e 100644 --- a/code/modules/vehicles/mecha/mecha_topic.dm +++ b/code/modules/vehicles/mecha/mecha_topic.dm @@ -65,13 +65,13 @@ tank_temperature = internal_tank ? int_tank_air.temperature : "Unknown" cabin_pressure = round(return_pressure(),0.01) . = {"[report_internal_damage()] - [integrity<30?"DAMAGE LEVEL CRITICAL
    ":null] + [integrity<30?"[span_userdanger("DAMAGE LEVEL CRITICAL")]
    ":null] Integrity: [integrity]%
    Power cell charge: [isnull(cell_charge)?"No power cell installed":"[cell.percent()]%"]
    Air source: [internal_tank?"[use_internal_tank?"Internal Airtank":"Environment"]":"Environment"]
    Airtank pressure: [internal_tank?"[tank_pressure]kPa":"N/A"]
    Airtank temperature: [internal_tank?"[tank_temperature]°K|[tank_temperature - T0C]°C":"N/A"]
    - Cabin pressure: [internal_tank?"[cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa":"N/A"]
    + Cabin pressure: [internal_tank?"[cabin_pressure>WARNING_HIGH_PRESSURE ? span_danger("[cabin_pressure]"): cabin_pressure]kPa":"N/A"]
    Cabin temperature: [internal_tank?"[return_temperature()]°K|[return_temperature() - T0C]°C":"N/A"]
    [dna_lock?"DNA-locked:
    [dna_lock] \[Reset\]
    ":""]
    "} . += "[get_actions(user)]
    " @@ -90,11 +90,11 @@ /obj/vehicle/sealed/mecha/proc/report_internal_damage() . = "" var/list/dam_reports = list( - "[MECHA_INT_FIRE]" = "INTERNAL FIRE", - "[MECHA_INT_TEMP_CONTROL]" = "LIFE SUPPORT SYSTEM MALFUNCTION", - "[MECHA_INT_TANK_BREACH]" = "GAS TANK BREACH", - "[MECHA_INT_CONTROL_LOST]" = "COORDINATION SYSTEM CALIBRATION FAILURE - Recalibrate", - "[MECHA_INT_SHORT_CIRCUIT]" = "SHORT CIRCUIT" + "[MECHA_INT_FIRE]" = span_userdanger("INTERNAL FIRE"), + "[MECHA_INT_TEMP_CONTROL]" = span_userdanger("LIFE SUPPORT SYSTEM MALFUNCTION"), + "[MECHA_INT_TANK_BREACH]" = span_userdanger("GAS TANK BREACH"), + "[MECHA_INT_CONTROL_LOST]" = "[span_userdanger("COORDINATION SYSTEM CALIBRATION FAILURE")] - Recalibrate", + "[MECHA_INT_SHORT_CIRCUIT]" = span_userdanger("SHORT CIRCUIT") ) for(var/tflag in dam_reports) var/intdamflag = text2num(tflag) @@ -102,7 +102,7 @@ . += dam_reports[tflag] . += "
    " if(return_pressure() > WARNING_HIGH_PRESSURE) - . += "DANGEROUSLY HIGH CABIN PRESSURE
    " + . += "[span_userdanger("DANGEROUSLY HIGH CABIN PRESSURE")]
    " ///HTML for list of equipment. /obj/vehicle/sealed/mecha/proc/get_equipment_list() //outputs mecha equipment list in html @@ -183,7 +183,7 @@ continue //there's some strange access without a name . += "[a_name] - Add
    " . +={"
    Lock ID panel
    - (Warning! The ID upload panel can be unlocked only through Exosuit Interface.) + [span_danger("(Warning! The ID upload panel can be unlocked only through Exosuit Interface.)")] "} user << browse(., "window=exosuit_add_access") @@ -253,10 +253,10 @@ return if(construction_state == MECHA_LOCKED) construction_state = MECHA_SECURE_BOLTS - to_chat(usr, "The securing bolts are now exposed.") + to_chat(usr, span_notice("The securing bolts are now exposed.")) else if(construction_state == MECHA_SECURE_BOLTS) construction_state = MECHA_LOCKED - to_chat(usr, "The securing bolts are now hidden.") + to_chat(usr, span_notice("The securing bolts are now hidden.")) output_maintenance_dialog(id_card,usr) return if(href_list["drop_cell"]) @@ -305,7 +305,7 @@ if(isnull(new_pressure) || usr.incapacitated() || !construction_state) return internal_tank_valve = new_pressure - to_chat(usr, "The internal pressure valve has been set to [internal_tank_valve]kPa.") + to_chat(usr, span_notice("The internal pressure valve has been set to [internal_tank_valve]kPa.")) return //Start of all internal topic stuff. @@ -322,8 +322,8 @@ if(!equip || !equip.selectable) return selected = equip - to_chat(occupants, "[icon2html(src, occupants)]You switch to [equip].") - visible_message("[src] raises [equip].") + to_chat(occupants, "[icon2html(src, occupants)][span_notice("You switch to [equip].")]") + visible_message(span_notice("[src] raises [equip].")) send_byjax(usr, "exosuit.browser", "eq_list", get_equipment_list()) return @@ -363,7 +363,7 @@ //Toggles main access. if(href_list["toggle_maint_access"]) if(construction_state) - to_chat(occupants, "[icon2html(src, occupants)]Maintenance protocols in effect") + to_chat(occupants, "[icon2html(src, occupants)][span_danger("Maintenance protocols in effect")]") return mecha_flags ^= ADDING_MAINT_ACCESS_POSSIBLE send_byjax(usr,"exosuit.browser","t_maint_access","[(mecha_flags & ADDING_MAINT_ACCESS_POSSIBLE)?"Forbid":"Permit"] maintenance protocols") @@ -373,18 +373,18 @@ if (href_list["toggle_port_connection"]) if(internal_tank.connected_port) if(internal_tank.disconnect()) - to_chat(occupants, "[icon2html(src, occupants)]Disconnected from the air system port.") + to_chat(occupants, "[icon2html(src, occupants)][span_notice("Disconnected from the air system port.")]") log_message("Disconnected from gas port.", LOG_MECHA) else - to_chat(occupants, "[icon2html(src, occupants)]Unable to disconnect from the air system port!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to disconnect from the air system port!")]") return else var/obj/machinery/atmospherics/components/unary/portables_connector/possible_port = locate() in loc if(internal_tank.connect(possible_port)) - to_chat(occupants, "[icon2html(src, occupants)]Connected to the air system port.") + to_chat(occupants, "[icon2html(src, occupants)][span_notice("Connected to the air system port.")]") log_message("Connected to gas port.", LOG_MECHA) else - to_chat(occupants, "[icon2html(src, occupants)]Unable to connect with air system port!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to connect with air system port!")]") return send_byjax(occupants,"exosuit.browser","t_port_connection","[internal_tank.connected_port?"Disconnect from":"Connect to"] gas port") return @@ -393,10 +393,10 @@ if(href_list["dna_lock"]) var/mob/living/carbon/user = usr if(!istype(user) || !user.dna) - to_chat(user, "[icon2html(src, occupants)]You can't create a DNA lock with no DNA!.") + to_chat(user, "[icon2html(src, occupants)][span_notice("You can't create a DNA lock with no DNA!.")]") return dna_lock = user.dna.unique_enzymes - to_chat(user, "[icon2html(src, occupants)]You feel a prick as the needle takes your DNA sample.") + to_chat(user, "[icon2html(src, occupants)][span_notice("You feel a prick as the needle takes your DNA sample.")]") return //Resets the DNA lock @@ -406,7 +406,7 @@ //Repairs internal damage if(href_list["repair_int_control_lost"]) - to_chat(occupants, "[icon2html(src, occupants)]Recalibrating coordination system...") + to_chat(occupants, "[icon2html(src, occupants)][span_notice("Recalibrating coordination system...")]") log_message("Recalibration of coordination system started.", LOG_MECHA) addtimer(CALLBACK(src, .proc/stationary_repair, loc), 100, TIMER_UNIQUE) @@ -414,8 +414,8 @@ /obj/vehicle/sealed/mecha/proc/stationary_repair(location) if(location == loc) clear_internal_damage(MECHA_INT_CONTROL_LOST) - to_chat(occupants, "[icon2html(src, occupants)]Recalibration successful.") + to_chat(occupants, "[icon2html(src, occupants)][span_notice("Recalibration successful.")]") log_message("Recalibration of coordination system finished with 0 errors.", LOG_MECHA) else - to_chat(occupants, "[icon2html(src, occupants)]Recalibration failed!") + to_chat(occupants, "[icon2html(src, occupants)][span_warning("Recalibration failed!")]") log_message("Recalibration of coordination system failed with 1 error.", LOG_MECHA, color="red") diff --git a/code/modules/vehicles/mecha/mecha_wreckage.dm b/code/modules/vehicles/mecha/mecha_wreckage.dm index 87afa82a3d9..b46f6549727 100644 --- a/code/modules/vehicles/mecha/mecha_wreckage.dm +++ b/code/modules/vehicles/mecha/mecha_wreckage.dm @@ -48,22 +48,22 @@ . = ..() if(!AI) return - . += "The AI recovery beacon is active." + . += span_notice("The AI recovery beacon is active.") /obj/structure/mecha_wreckage/welder_act(mob/living/user, obj/item/I) ..() . = TRUE if(salvage_num <= 0 || !length(welder_salvage)) - to_chat(user, "You don't see anything that can be cut with [I]!") + to_chat(user, span_notice("You don't see anything that can be cut with [I]!")) return if(!I.use_tool(src, user, 0, volume=50)) return if(prob(30)) - to_chat(user, "You fail to salvage anything valuable from [src]!") + to_chat(user, span_notice("You fail to salvage anything valuable from [src]!")) return var/type = pick(welder_salvage) var/N = new type(get_turf(user)) - user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") + user.visible_message(span_notice("[user] cuts [N] from [src]."), span_notice("You cut [N] from [src].")) if(!istype(N, /obj/item/stack)) welder_salvage -= type salvage_num-- @@ -72,10 +72,10 @@ ..() . = TRUE if(wires_removed) - to_chat(user, "You don't see anything that can be cut with [I]!") + to_chat(user, span_notice("You don't see anything that can be cut with [I]!")) return var/N = new /obj/item/stack/cable_coil(get_turf(user), rand(1,3)) - user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") + user.visible_message(span_notice("[user] cuts [N] from [src]."), span_notice("You cut [N] from [src].")) wires_removed = TRUE /obj/structure/mecha_wreckage/crowbar_act(mob/living/user, obj/item/I) @@ -84,10 +84,10 @@ if(crowbar_salvage.len) var/obj/S = pick(crowbar_salvage) S.forceMove(user.drop_location()) - user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].") + user.visible_message(span_notice("[user] pries [S] from [src]."), span_notice("You pry [S] from [src].")) crowbar_salvage -= S return - to_chat(user, "You don't see anything that can be cut with [I]!") + to_chat(user, span_notice("You don't see anything that can be cut with [I]!")) /obj/structure/mecha_wreckage/transfer_ai(interaction, mob/user, null, obj/item/aicard/card) if(!..()) @@ -97,16 +97,16 @@ if(interaction != AI_TRANS_TO_CARD) //AIs can only be transferred in one direction, from the wreck to the card. return if(!AI) //No AI in the wreck - to_chat(user, "No AI backups found.") + to_chat(user, span_warning("No AI backups found.")) return cut_overlays() //Remove the recovery beacon overlay AI.forceMove(card) //Move the dead AI to the card. card.AI = AI if(AI.client) //AI player is still in the dead AI and is connected - to_chat(AI, "The remains of your file system have been recovered on a mobile storage device.") + to_chat(AI, span_notice("The remains of your file system have been recovered on a mobile storage device.")) else //Give the AI a heads-up that it is probably going to get fixed. AI.notify_ghost_cloning("You have been recovered from the wreckage!", source = card) - to_chat(user, "Backup files recovered: [AI.name] ([rand(1000,9999)].exe) salvaged from [name] and stored within local memory.") + to_chat(user, "[span_boldnotice("Backup files recovered")]: [AI.name] ([rand(1000,9999)].exe) salvaged from [name] and stored within local memory.") AI = null /obj/structure/mecha_wreckage/gygax diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index ac2cb702bdc..503775b7429 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -173,7 +173,7 @@ if(href_list["drop_from_cargo"]) var/obj/cargoobj = locate(href_list["drop_from_cargo"]) in cargo if(cargoobj) - to_chat(occupants, "[icon2html(src, occupants)]You unload [cargoobj].") + to_chat(occupants, "[icon2html(src, occupants)][span_notice("You unload [cargoobj].")]") cargoobj.forceMove(drop_location()) LAZYREMOVE(cargo, cargoobj) if(cargoobj == box) @@ -201,16 +201,16 @@ return output /obj/vehicle/sealed/mecha/working/ripley/relay_container_resist_act(mob/living/user, obj/O) - to_chat(user, "You lean on the back of [O] and start pushing so it falls out of [src].") + to_chat(user, span_notice("You lean on the back of [O] and start pushing so it falls out of [src].")) if(do_after(user, 300, target = O)) if(!user || user.stat != CONSCIOUS || user.loc != src || O.loc != src ) return - to_chat(user, "You successfully pushed [O] out of [src]!") + to_chat(user, span_notice("You successfully pushed [O] out of [src]!")) O.forceMove(drop_location()) LAZYREMOVE(cargo, O) else if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. - to_chat(user, "You fail to push [O] out of [src]!") + to_chat(user, span_warning("You fail to push [O] out of [src]!")) /** * Makes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure. diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index 0e55406ae61..00225b27a4c 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -49,12 +49,12 @@ /obj/vehicle/ridden/wheelchair/motorized/relaymove(mob/living/user, direction) if(!power_cell) - to_chat(user, "There seems to be no cell installed in [src].") + to_chat(user, span_warning("There seems to be no cell installed in [src].")) canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 2 SECONDS) return FALSE if(power_cell.charge < power_usage / max(power_efficiency, 1)) - to_chat(user, "The display on [src] blinks 'Out of Power'.") + to_chat(user, span_warning("The display on [src] blinks 'Out of Power'.")) canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 2 SECONDS) return FALSE @@ -72,7 +72,7 @@ if(!power_cell || !panel_open) return ..() power_cell.update_appearance() - to_chat(user, "You remove [power_cell] from [src].") + to_chat(user, span_notice("You remove [power_cell] from [src].")) user.put_in_hands(power_cell) power_cell = null @@ -80,18 +80,18 @@ if(I.tool_behaviour == TOOL_SCREWDRIVER) I.play_tool_sound(src) panel_open = !panel_open - user.visible_message("[user] [panel_open ? "opens" : "closes"] the maintenance panel on [src].", "You [panel_open ? "open" : "close"] the maintenance panel.") + user.visible_message(span_notice("[user] [panel_open ? "opens" : "closes"] the maintenance panel on [src]."), span_notice("You [panel_open ? "open" : "close"] the maintenance panel.")) return if(!panel_open) return ..() if(istype(I, /obj/item/stock_parts/cell)) if(power_cell) - to_chat(user, "There is a power cell already installed.") + to_chat(user, span_warning("There is a power cell already installed.")) else I.forceMove(src) power_cell = I - to_chat(user, "You install the [I].") + to_chat(user, span_notice("You install the [I].")) refresh_parts() return if(!istype(I, /obj/item/stock_parts)) @@ -108,15 +108,15 @@ if(newstockpart.get_part_rating() > oldstockpart.get_part_rating()) newstockpart.forceMove(src) user.put_in_hands(oldstockpart) - user.visible_message("[user] replaces [oldstockpart] with [newstockpart] in [src].", "You replace [oldstockpart] with [newstockpart].") + user.visible_message(span_notice("[user] replaces [oldstockpart] with [newstockpart] in [src]."), span_notice("You replace [oldstockpart] with [newstockpart].")) break refresh_parts() /obj/vehicle/ridden/wheelchair/motorized/wrench_act(mob/living/user, obj/item/I) - to_chat(user, "You begin to detach the wheels...") + to_chat(user, span_notice("You begin to detach the wheels...")) if(!I.use_tool(src, user, 40, volume=50)) return TRUE - to_chat(user, "You detach the wheels and deconstruct the chair.") + to_chat(user, span_notice("You detach the wheels and deconstruct the chair.")) new /obj/item/stack/rods(drop_location(), 8) new /obj/item/stack/sheet/iron(drop_location(), 10) var/turf/T = get_turf(src) @@ -145,7 +145,7 @@ // Here is the shitty emag functionality. if(obj_flags & EMAGGED && (istype(A, /turf/closed) || isliving(A))) explosion(src, devastation_range = -1, heavy_impact_range = 1, light_impact_range = 3, flash_range = 2, adminlog = FALSE) - visible_message("[src] explodes!!") + visible_message(span_boldwarning("[src] explodes!!")) return // If the speed is higher than delay_multiplier throw the person on the wheelchair away if(A.density && speed > delay_multiplier && has_buckled_mobs()) @@ -161,13 +161,13 @@ ramtarget.throw_at(throw_target, 2, 3) ramtarget.Knockdown(80) ramtarget.adjustStaminaLoss(35) - visible_message("[src] crashes into [ramtarget], sending [disabled] and [ramtarget] flying!") + visible_message(span_danger("[src] crashes into [ramtarget], sending [disabled] and [ramtarget] flying!")) else - visible_message("[src] crashes into [A], sending [disabled] flying!") + visible_message(span_danger("[src] crashes into [A], sending [disabled] flying!")) playsound(src, 'sound/effects/bang.ogg', 50, 1) /obj/vehicle/ridden/wheelchair/motorized/emag_act(mob/user) if((obj_flags & EMAGGED) || !panel_open) return - to_chat(user, "A bomb appears in [src], what the fuck?") + to_chat(user, span_warning("A bomb appears in [src], what the fuck?")) obj_flags |= EMAGGED diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index fa6c71e4ab3..c55b3332111 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -35,20 +35,20 @@ /obj/vehicle/ridden/janicart/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/storage/bag/trash)) if(mybag) - to_chat(user, "[src] already has a trashbag hooked!") + to_chat(user, span_warning("[src] already has a trashbag hooked!")) return if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You hook the trashbag onto [src].") + to_chat(user, span_notice("You hook the trashbag onto [src].")) mybag = I update_appearance() else if(istype(I, /obj/item/janiupgrade)) if(floorbuffer) - to_chat(user, "[src] already has a floor buffer!") + to_chat(user, span_warning("[src] already has a floor buffer!")) return floorbuffer = TRUE qdel(I) - to_chat(user, "You upgrade [src] with the floor buffer.") + to_chat(user, span_notice("You upgrade [src] with the floor buffer.")) AddElement(/datum/element/cleaning) update_appearance() else if(mybag) diff --git a/code/modules/vehicles/ridden.dm b/code/modules/vehicles/ridden.dm index 814964f5929..3246b582dbc 100644 --- a/code/modules/vehicles/ridden.dm +++ b/code/modules/vehicles/ridden.dm @@ -10,9 +10,9 @@ . = ..() if(key_type) if(!inserted_key) - . += "Put a key inside it by clicking it with the key." + . += span_notice("Put a key inside it by clicking it with the key.") else - . += "Alt-click [src] to remove the key." + . += span_notice("Alt-click [src] to remove the key.") /obj/vehicle/ridden/generate_action_type(actiontype) var/datum/action/vehicle/ridden/A = ..() @@ -32,9 +32,9 @@ if(!key_type || is_key(inserted_key) || !is_key(I)) return ..() if(!user.transferItemToLoc(I, src)) - to_chat(user, "[I] seems to be stuck to your hand!") + to_chat(user, span_warning("[I] seems to be stuck to your hand!")) return - to_chat(user, "You insert \the [I] into \the [src].") + to_chat(user, span_notice("You insert \the [I] into \the [src].")) if(inserted_key) //just in case there's an invalid key inserted_key.forceMove(drop_location()) inserted_key = I @@ -43,9 +43,9 @@ if(!inserted_key || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !issilicon(user))) return ..() if(!is_occupant(user)) - to_chat(user, "You must be riding the [src] to remove [src]'s key!") + to_chat(user, span_warning("You must be riding the [src] to remove [src]'s key!")) return - to_chat(user, "You remove \the [inserted_key] from \the [src].") + to_chat(user, span_notice("You remove \the [inserted_key] from \the [src].")) inserted_key.forceMove(drop_location()) user.put_in_hands(inserted_key) inserted_key = null diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index 75cdd4456ab..5c64547ffd2 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -13,12 +13,12 @@ /obj/vehicle/ridden/scooter/wrench_act(mob/living/user, obj/item/I) ..() - to_chat(user, "You begin to remove the handlebars...") + to_chat(user, span_notice("You begin to remove the handlebars...")) if(!I.use_tool(src, user, 40, volume=50)) return TRUE var/obj/vehicle/ridden/scooter/skateboard/improvised/skater = new(drop_location()) new /obj/item/stack/rods(drop_location(), 2) - to_chat(user, "You remove the handlebars from [src].") + to_chat(user, span_notice("You remove the handlebars from [src].")) if(has_buckled_mobs()) var/mob/living/carbon/carbons = buckled_mobs[1] unbuckle_mob(carbons) @@ -98,7 +98,7 @@ if(!head_slot || !(istype(head_slot,/obj/item/clothing/head/helmet) || istype(head_slot,/obj/item/clothing/head/hardhat))) rider.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5) rider.updatehealth() - visible_message("[src] crashes into [A], sending [rider] flying!") + visible_message(span_danger("[src] crashes into [A], sending [rider] flying!")) rider.Paralyze(80) else var/backdir = turn(dir, 180) @@ -123,7 +123,7 @@ unbuckle_mob(skater) var/atom/throw_target = get_edge_target_turf(src, pick(GLOB.cardinals)) skater.throw_at(throw_target, 2, 2) - visible_message("[skater] loses [skater.p_their()] footing and slams on the ground!") + visible_message(span_danger("[skater] loses [skater.p_their()] footing and slams on the ground!")) skater.Paralyze(40) grinding = FALSE icon_state = "[initial(icon_state)]" @@ -148,7 +148,7 @@ if (skater.incapacitated() || !Adjacent(skater)) return if(has_buckled_mobs()) - to_chat(skater, "You can't lift this up when somebody's on it.") + to_chat(skater, span_warning("You can't lift this up when somebody's on it.")) return skater.put_in_hands(new board_item_type(get_turf(skater))) qdel(src) @@ -192,16 +192,16 @@ return ..() if(!I.tool_start_check(user, amount=5)) return - to_chat(user, "You begin to add wheels to [src].") + to_chat(user, span_notice("You begin to add wheels to [src].")) if(!I.use_tool(src, user, 80, volume=50, amount=5)) return - to_chat(user, "You finish making wheels for [src].") + to_chat(user, span_notice("You finish making wheels for [src].")) new /obj/vehicle/ridden/scooter/skateboard/improvised(user.loc) qdel(src) /obj/item/scooter_frame/wrench_act(mob/living/user, obj/item/I) ..() - to_chat(user, "You deconstruct [src].") + to_chat(user, span_notice("You deconstruct [src].")) new /obj/item/stack/rods(drop_location(), 10) I.play_tool_sound(src) qdel(src) @@ -215,10 +215,10 @@ return ..() if(!I.tool_start_check(user, amount=2)) return - to_chat(user, "You begin making handlebars for [src].") + to_chat(user, span_notice("You begin making handlebars for [src].")) if(!I.use_tool(src, user, 25, volume=50, amount=2)) return - to_chat(user, "You add the rods to [src], creating handlebars.") + to_chat(user, span_notice("You add the rods to [src], creating handlebars.")) var/obj/vehicle/ridden/scooter/skaterskoot = new(loc) if(has_buckled_mobs()) var/mob/living/carbon/skaterboy = buckled_mobs[1] @@ -230,10 +230,10 @@ . = ..() if(.) return - to_chat(user, "You begin to deconstruct and remove the wheels on [src]...") + to_chat(user, span_notice("You begin to deconstruct and remove the wheels on [src]...")) if(!I.use_tool(src, user, 20, volume=50)) return - to_chat(user, "You deconstruct the wheels on [src].") + to_chat(user, span_notice("You deconstruct the wheels on [src].")) new /obj/item/stack/sheet/iron(drop_location(), 5) new /obj/item/scooter_frame(drop_location()) if(has_buckled_mobs()) @@ -261,7 +261,7 @@ /obj/vehicle/ridden/scooter/skateboard/wheelys/post_unbuckle_mob(mob/living/M) if(!has_buckled_mobs()) - to_chat(M, "You pop the [wheel_name] back into place.") + to_chat(M, span_notice("You pop the [wheel_name] back into place.")) moveToNullspace() shoes.toggle_wheels(FALSE) return ..() @@ -270,7 +270,7 @@ return /obj/vehicle/ridden/scooter/skateboard/wheelys/post_buckle_mob(mob/living/M) - to_chat(M, "You pop out the [wheel_name].") + to_chat(M, span_notice("You pop out the [wheel_name].")) shoes.toggle_wheels(TRUE) return ..() diff --git a/code/modules/vehicles/sealed.dm b/code/modules/vehicles/sealed.dm index b0cc75613a3..4756ffd08cc 100644 --- a/code/modules/vehicles/sealed.dm +++ b/code/modules/vehicles/sealed.dm @@ -61,7 +61,7 @@ if(!istype(M)) return FALSE if(!silent) - M.visible_message("[M] climbs into \the [src]!") + M.visible_message(span_notice("[M] climbs into \the [src]!")) M.forceMove(src) add_occupant(M) return TRUE @@ -81,7 +81,7 @@ M.throw_at(target_turf, 5, 10) if(!silent) - M.visible_message("[M] drops out of \the [src]!") + M.visible_message(span_notice("[M] drops out of \the [src]!")) return TRUE /obj/vehicle/sealed/proc/exit_location(M) @@ -90,23 +90,23 @@ /obj/vehicle/sealed/attackby(obj/item/I, mob/user, params) if(key_type && !is_key(inserted_key) && is_key(I)) if(user.transferItemToLoc(I, src)) - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_notice("You insert [I] into [src].")) if(inserted_key) //just in case there's an invalid key inserted_key.forceMove(drop_location()) inserted_key = I else - to_chat(user, "[I] seems to be stuck to your hand!") + to_chat(user, span_warning("[I] seems to be stuck to your hand!")) return return ..() /obj/vehicle/sealed/proc/remove_key(mob/user) if(!inserted_key) - to_chat(user, "There is no key in [src]!") + to_chat(user, span_warning("There is no key in [src]!")) return if(!is_occupant(user) || !(occupants[user] & VEHICLE_CONTROL_DRIVE)) - to_chat(user, "You must be driving [src] to remove [src]'s key!") + to_chat(user, span_warning("You must be driving [src] to remove [src]'s key!")) return - to_chat(user, "You remove [inserted_key] from [src].") + to_chat(user, span_notice("You remove [inserted_key] from [src].")) inserted_key.forceMove(drop_location()) if(!HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) user.put_in_hands(inserted_key) diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm index 140197acb0e..e94b629fc64 100644 --- a/code/modules/vehicles/secway.dm +++ b/code/modules/vehicles/secway.dm @@ -33,42 +33,42 @@ if(.) return if(obj_integrity >= max_integrity) - to_chat(user, "It is fully repaired already!") + to_chat(user, span_notice("It is fully repaired already!")) return if(!I.use_tool(src, user, 0, volume = 50, amount = 1)) return - user.visible_message("[user] repairs some damage to [name].", "You repair some damage to \the [src].") + user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to \the [src].")) obj_integrity += min(10, max_integrity-obj_integrity) if(obj_integrity >= max_integrity) - to_chat(user, "It looks to be fully repaired now.") + to_chat(user, span_notice("It looks to be fully repaired now.")) STOP_PROCESSING(SSobj, src) /obj/vehicle/ridden/secway/attackby(obj/item/W, mob/living/user, params) if(!istype(W, /obj/item/food/grown/banana)) return ..() // ignore the occupants because they're presumably too distracted to notice the guy stuffing fruit into their vehicle's exhaust. do segways have exhausts? they do now! - user.visible_message("[user] begins stuffing [W] into [src]'s tailpipe.", "You begin stuffing [W] into [src]'s tailpipe...", ignored_mobs = occupants) + user.visible_message(span_warning("[user] begins stuffing [W] into [src]'s tailpipe."), span_warning("You begin stuffing [W] into [src]'s tailpipe..."), ignored_mobs = occupants) if(!do_after(user, 3 SECONDS, src)) return TRUE if(user.transferItemToLoc(W, src)) - user.visible_message("[user] stuffs [W] into [src]'s tailpipe.", "You stuff [W] into [src]'s tailpipe.", ignored_mobs = occupants) + user.visible_message(span_warning("[user] stuffs [W] into [src]'s tailpipe."), span_warning("You stuff [W] into [src]'s tailpipe."), ignored_mobs = occupants) eddie_murphy = W return TRUE /obj/vehicle/ridden/secway/attack_hand(mob/living/user, list/modifiers) if(!eddie_murphy) return ..() - user.visible_message("[user] begins cleaning [eddie_murphy] out of [src].", "You begin cleaning [eddie_murphy] out of [src]...") + user.visible_message(span_warning("[user] begins cleaning [eddie_murphy] out of [src]."), span_warning("You begin cleaning [eddie_murphy] out of [src]...")) if(!do_after(user, 60, target = src)) return ..() - user.visible_message("[user] cleans [eddie_murphy] out of [src].", "You manage to get [eddie_murphy] out of [src].") + user.visible_message(span_warning("[user] cleans [eddie_murphy] out of [src]."), span_warning("You manage to get [eddie_murphy] out of [src].")) eddie_murphy.forceMove(drop_location()) eddie_murphy = null /obj/vehicle/ridden/secway/examine(mob/user) . = ..() if(eddie_murphy) - . += "Something appears to be stuck in its exhaust..." + . += span_warning("Something appears to be stuck in its exhaust...") /obj/vehicle/ridden/secway/obj_destruction() explosion(src, devastation_range = -1, light_impact_range = 2, flame_range = 3, flash_range = 4) diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm index 76daf9ce369..b27d3d8745b 100644 --- a/code/modules/vehicles/speedbike.dm +++ b/code/modules/vehicles/speedbike.dm @@ -47,7 +47,7 @@ if(ismovable(A)) var/atom/movable/AM = A AM.throw_at(get_edge_target_turf(A, dir), 4, 3) - visible_message("[src] crashes into [A]!") + visible_message(span_danger("[src] crashes into [A]!")) playsound(src, 'sound/effects/bang.ogg', 50, TRUE) if(!ishuman(A)) return @@ -57,7 +57,7 @@ rammed.apply_damage(rand(20,35), BRUTE) if(!crash_all) rammed.throw_at(get_edge_target_turf(A, dir), 4, 3) - visible_message("[src] crashes into [rammed]!") + visible_message(span_danger("[src] crashes into [rammed]!")) playsound(src, 'sound/effects/bang.ogg', 50, TRUE) /obj/vehicle/ridden/speedwagon/Moved() diff --git a/code/modules/vehicles/vehicle_actions.dm b/code/modules/vehicles/vehicle_actions.dm index 6b317d0e5be..9944f979c87 100644 --- a/code/modules/vehicles/vehicle_actions.dm +++ b/code/modules/vehicles/vehicle_actions.dm @@ -200,8 +200,8 @@ if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_CAR_HONK)) return TIMER_COOLDOWN_START(src, COOLDOWN_CAR_HONK, 2 SECONDS) - vehicle_entered_target.visible_message("[vehicle_entered_target] loudly honks!") - to_chat(owner, "You press [vehicle_entered_target]'s horn.") + vehicle_entered_target.visible_message(span_danger("[vehicle_entered_target] loudly honks!")) + to_chat(owner, span_notice("You press [vehicle_entered_target]'s horn.")) if(istype(vehicle_target.inserted_key, /obj/item/bikehorn)) vehicle_target.inserted_key.attack_self(owner) //The bikehorn plays a sound instead return @@ -213,7 +213,7 @@ button_icon_state = "car_headlights" /datum/action/vehicle/sealed/headlights/Trigger() - to_chat(owner, "You flip the switch for the vehicle's headlights.") + to_chat(owner, span_notice("You flip the switch for the vehicle's headlights.")) vehicle_entered_target.headlights_toggle = !vehicle_entered_target.headlights_toggle vehicle_entered_target.set_light_on(vehicle_entered_target.headlights_toggle) playsound(owner, vehicle_entered_target.headlights_toggle ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) @@ -224,7 +224,7 @@ button_icon_state = "car_dump" /datum/action/vehicle/sealed/dump_kidnapped_mobs/Trigger() - vehicle_entered_target.visible_message("[vehicle_entered_target] starts dumping the people inside of it.") + vehicle_entered_target.visible_message(span_danger("[vehicle_entered_target] starts dumping the people inside of it.")) vehicle_entered_target.dump_specific_mobs(VEHICLE_CONTROL_KIDNAPPED) @@ -294,7 +294,7 @@ vehicle.unbuckle_mob(rider) rider.throw_at(landing_turf, 2, 2) rider.Paralyze(40) - vehicle.visible_message("[rider] misses the landing and falls on [rider.p_their()] face!") + vehicle.visible_message(span_danger("[rider] misses the landing and falls on [rider.p_their()] face!")) else rider.spin(4, 1) animate(rider, pixel_y = -6, time = 4) diff --git a/code/modules/vehicles/vehicle_key.dm b/code/modules/vehicles/vehicle_key.dm index 17475ff6139..a2799634833 100644 --- a/code/modules/vehicles/vehicle_key.dm +++ b/code/modules/vehicles/vehicle_key.dm @@ -15,10 +15,10 @@ /obj/item/key/security/suicide_act(mob/living/carbon/user) if(!user.emote("spin")) //In the off chance that someone attempts this suicide while under the effects of mime's bane they deserve the silliness. - user.visible_message("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide... But [user.p_they()] sputters and stalls out! ") + user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide... But [user.p_they()] sputters and stalls out! ")) playsound(src, 'sound/misc/sadtrombone.ogg', 50, TRUE, -1) return SHAME - user.visible_message("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide!")) user.say("Vroom vroom!!", forced="secway key suicide") //Not doing a shamestate here, because even if they fail to speak they're spinning. addtimer(CALLBACK(user, /mob/living/.proc/gib), 20) return MANUAL_SUICIDE @@ -30,23 +30,23 @@ /obj/item/key/janitor/suicide_act(mob/living/carbon/user) switch(user.mind?.get_skill_level(/datum/skill/cleaning)) if(SKILL_LEVEL_NONE to SKILL_LEVEL_NOVICE) //Their mind is too weak to ascend as a janny - user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and is trying to become one with the janicart, but has no idea where to start! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and is trying to become one with the janicart, but has no idea where to start! It looks like [user.p_theyre()] trying to commit suicide!")) user.gib() return MANUAL_SUICIDE if(SKILL_LEVEL_APPRENTICE to SKILL_LEVEL_JOURNEYMAN) //At least they tried - user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and has inefficiently become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and has inefficiently become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!")) user.AddElement(/datum/element/cleaning) addtimer(CALLBACK(src, .proc/manual_suicide, user), 51) return MANUAL_SUICIDE if(SKILL_LEVEL_EXPERT to SKILL_LEVEL_MASTER) //They are worthy enough, but can it go even further beyond? - user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and has skillfully become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and has skillfully become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!")) user.AddElement(/datum/element/cleaning) for(var/i in 1 to 100) addtimer(CALLBACK(user, /atom/proc/add_atom_colour, (i % 2)? "#a245bb" : "#7a7d82", ADMIN_COLOUR_PRIORITY), i) addtimer(CALLBACK(src, .proc/manual_suicide, user), 101) return MANUAL_SUICIDE if(SKILL_LEVEL_LEGENDARY to INFINITY) //Holy shit, look at that janny go! - user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and has epically become one with the janicart, and they're even in overdrive mode! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and has epically become one with the janicart, and they're even in overdrive mode! It looks like [user.p_theyre()] trying to commit suicide!")) user.AddElement(/datum/element/cleaning) playsound(src, 'sound//magic/lightning_chargeup.ogg', 50, TRUE, -1) user.reagents.add_reagent(/datum/reagent/drug/methamphetamine, 10) //Gotta go fast! @@ -58,7 +58,7 @@ /obj/item/key/proc/manual_suicide(mob/living/user) if(user) user.remove_atom_colour(ADMIN_COLOUR_PRIORITY) - user.visible_message("[user] forgot [user.p_they()] isn't actually a janicart! That's a paddlin'!") + user.visible_message(span_suicide("[user] forgot [user.p_they()] isn't actually a janicart! That's a paddlin'!")) if(user.mind?.get_skill_level(/datum/skill/cleaning) >= SKILL_LEVEL_LEGENDARY) //Janny janny janny janny janny playsound(src, 'sound/effects/adminhelp.ogg', 50, TRUE, -1) user.adjustOxyLoss(200) diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index c276f13c88d..829029459c2 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -47,9 +47,9 @@ /obj/vehicle/ridden/wheelchair/wrench_act(mob/living/user, obj/item/I) //Attackby should stop it attacking the wheelchair after moving away during decon ..() - to_chat(user, "You begin to detach the wheels...") + to_chat(user, span_notice("You begin to detach the wheels...")) if(I.use_tool(src, user, 40, volume=50)) - to_chat(user, "You detach the wheels and deconstruct the chair.") + to_chat(user, span_notice("You detach the wheels and deconstruct the chair.")) new /obj/item/stack/rods(drop_location(), 6) new /obj/item/stack/sheet/iron(drop_location(), 4) qdel(src) @@ -122,7 +122,7 @@ return FALSE if(has_buckled_mobs()) return FALSE - usr.visible_message("[usr] collapses [src].", "You collapse [src].") + usr.visible_message(span_notice("[usr] collapses [src]."), span_notice("You collapse [src].")) var/obj/vehicle/ridden/wheelchair/wheelchair_folded = new foldabletype(get_turf(src)) usr.put_in_hands(wheelchair_folded) qdel(src) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 70d016a1ec6..d56a68b62e5 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -437,7 +437,7 @@ GLOBAL_LIST_EMPTY(vending_products) add_overlay("[initial(icon_state)]-panel") updateUsrDialog() else - to_chat(user, "You must first secure [src].") + to_chat(user, span_warning("You must first secure [src].")) return TRUE /obj/machinery/vending/attackby(obj/item/I, mob/living/user, params) @@ -447,21 +447,21 @@ GLOBAL_LIST_EMPTY(vending_products) if(refill_canister && istype(I, refill_canister)) if (!panel_open) - to_chat(user, "You should probably unscrew the service panel first!") + to_chat(user, span_warning("You should probably unscrew the service panel first!")) else if (machine_stat & (BROKEN|NOPOWER)) - to_chat(user, "[src] does not respond.") + to_chat(user, span_notice("[src] does not respond.")) else //if the panel is open we attempt to refill the machine var/obj/item/vending_refill/canister = I if(canister.get_part_rating() == 0) - to_chat(user, "[canister] is empty!") + to_chat(user, span_warning("[canister] is empty!")) else // instantiate canister if needed var/transferred = restock(canister) if(transferred) - to_chat(user, "You loaded [transferred] items in [src].") + to_chat(user, span_notice("You loaded [transferred] items in [src].")) else - to_chat(user, "There's nothing to restock!") + to_chat(user, span_warning("There's nothing to restock!")) return if(compartmentLoadAccessCheck(user) && !user.combat_mode) if(canLoadItem(I)) @@ -474,7 +474,7 @@ GLOBAL_LIST_EMPTY(vending_products) var/denied_items = 0 for(var/obj/item/the_item in T.contents) if(contents.len >= MAX_VENDING_INPUT_AMOUNT) // no more than 30 item can fit inside, legacy from snack vending although not sure why it exists - to_chat(user, "[src]'s compartment is full.") + to_chat(user, span_warning("[src]'s compartment is full.")) break if(canLoadItem(the_item) && loadingAttempt(the_item,user)) SEND_SIGNAL(T, COMSIG_TRY_STORAGE_TAKE, the_item, src, TRUE) @@ -482,9 +482,9 @@ GLOBAL_LIST_EMPTY(vending_products) else denied_items++ if(denied_items) - to_chat(user, "[src] refuses some items!") + to_chat(user, span_warning("[src] refuses some items!")) if(loaded) - to_chat(user, "You insert [loaded] dishes into [src]'s compartment.") + to_chat(user, span_notice("You insert [loaded] dishes into [src]'s compartment.")) updateUsrDialog() else . = ..() @@ -502,7 +502,7 @@ GLOBAL_LIST_EMPTY(vending_products) tilt(user, crit=TRUE) /obj/machinery/vending/proc/freebie(mob/fatty, freebies) - visible_message("[src] yields [freebies > 1 ? "several free goodies" : "a free goody"]!") + visible_message(span_notice("[src] yields [freebies > 1 ? "several free goodies" : "a free goody"]!")) for(var/i in 1 to freebies) playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) @@ -520,7 +520,7 @@ GLOBAL_LIST_EMPTY(vending_products) ///Tilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something. /obj/machinery/vending/proc/tilt(atom/fatty, crit=FALSE) - visible_message("[src] tips over!") + visible_message(span_danger("[src] tips over!")) tilted = TRUE layer = ABOVE_MOB_LAYER @@ -544,8 +544,8 @@ GLOBAL_LIST_EMPTY(vending_products) var/crit_rebate = 0 // lessen the normal damage we deal for some of the crits if(crit_case < 5) // the body/head asplode case has its own description - C.visible_message("[C] is crushed by [src]!", \ - "You are crushed by [src]!") + C.visible_message(span_danger("[C] is crushed by [src]!"), \ + span_userdanger("You are crushed by [src]!")) switch(crit_case) // only carbons can have the fun crits if(1) // shatter their legs and bleed 'em @@ -558,13 +558,13 @@ GLOBAL_LIST_EMPTY(vending_products) if(r) r.receive_damage(brute=200) if(l || r) - C.visible_message("[C]'s legs shatter with a sickening crunch!", \ - "Your legs shatter with a sickening crunch!") + C.visible_message(span_danger("[C]'s legs shatter with a sickening crunch!"), \ + span_userdanger("Your legs shatter with a sickening crunch!")) if(2) // pin them beneath the machine until someone untilts it forceMove(get_turf(C)) buckle_mob(C, force=TRUE) - C.visible_message("[C] is pinned underneath [src]!", \ - "You are pinned down by [src]!") + C.visible_message(span_danger("[C] is pinned underneath [src]!"), \ + span_userdanger("You are pinned down by [src]!")) if(3) // glass candy crit_rebate = 50 for(var/i = 0, i < num_shards, i++) @@ -576,7 +576,7 @@ GLOBAL_LIST_EMPTY(vending_products) shard.updateEmbedding() if(4) // paralyze this binch // the new paraplegic gets like 4 lines of losing their legs so skip them - visible_message("[C]'s spinal cord is obliterated with a sickening crunch!", ignored_mobs = list(C)) + visible_message(span_danger("[C]'s spinal cord is obliterated with a sickening crunch!"), ignored_mobs = list(C)) C.gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic) if(5) // limb squish! for(var/i in C.bodyparts) @@ -586,13 +586,13 @@ GLOBAL_LIST_EMPTY(vending_products) squish_part.force_wound_upwards(type_wound) else squish_part.receive_damage(brute=30) - C.visible_message("[C]'s body is maimed underneath the mass of [src]!", \ - "Your body is maimed underneath the mass of [src]!") + C.visible_message(span_danger("[C]'s body is maimed underneath the mass of [src]!"), \ + span_userdanger("Your body is maimed underneath the mass of [src]!")) if(6) // skull squish! var/obj/item/bodypart/head/O = C.get_bodypart(BODY_ZONE_HEAD) if(O) - C.visible_message("[O] explodes in a shower of gore beneath [src]!", \ - "Oh f-") + C.visible_message(span_danger("[O] explodes in a shower of gore beneath [src]!"), \ + span_userdanger("Oh f-")) O.dismember() O.drop_organs() qdel(O) @@ -605,8 +605,8 @@ GLOBAL_LIST_EMPTY(vending_products) C.take_bodypart_damage((squish_damage - crit_rebate)*0.5, wound_bonus = 5) C.AddElement(/datum/element/squish, 80 SECONDS) else - L.visible_message("[L] is crushed by [src]!", \ - "You are crushed by [src]!") + L.visible_message(span_danger("[L] is crushed by [src]!"), \ + span_userdanger("You are crushed by [src]!")) L.apply_damage(squish_damage, forced=TRUE) if(crit_case) L.apply_damage(squish_damage, forced=TRUE) @@ -628,8 +628,8 @@ GLOBAL_LIST_EMPTY(vending_products) /obj/machinery/vending/proc/untilt(mob/user) if(user) - user.visible_message("[user] rights [src].", \ - "You right [src].") + user.visible_message(span_notice("[user] rights [src]."), \ + span_notice("You right [src].")) unbuckle_all_mobs(TRUE) @@ -648,7 +648,7 @@ GLOBAL_LIST_EMPTY(vending_products) vending_machine_input[format_text(I.name)]++ else vending_machine_input[format_text(I.name)] = 1 - to_chat(user, "You insert [I] into [src]'s input compartment.") + to_chat(user, span_notice("You insert [I] into [src]'s input compartment.")) loaded_items++ /obj/machinery/vending/unbuckle_mob(mob/living/buckled_mob, force=FALSE) @@ -679,7 +679,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(do_you_have_access) return TRUE else - to_chat(user, "[src]'s input compartment blinks red: Access denied.") + to_chat(user, span_warning("[src]'s input compartment blinks red: Access denied.")) return FALSE /obj/machinery/vending/exchange_parts(mob/user, obj/item/storage/part_replacer/W) @@ -700,7 +700,7 @@ GLOBAL_LIST_EMPTY(vending_products) else display_parts(user) if(moved) - to_chat(user, "[moved] items restocked.") + to_chat(user, span_notice("[moved] items restocked.")) W.play_rped_sound() return TRUE @@ -712,7 +712,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(obj_flags & EMAGGED) return obj_flags |= EMAGGED - to_chat(user, "You short out the product lock on [src].") + to_chat(user, span_notice("You short out the product lock on [src].")) /obj/machinery/vending/_try_interact(mob/user) if(seconds_electrified && !(machine_stat & NOPOWER)) @@ -720,7 +720,7 @@ GLOBAL_LIST_EMPTY(vending_products) return if(tilted && !user.buckled && !isAI(user)) - to_chat(user, "You begin righting [src].") + to_chat(user, span_notice("You begin righting [src].")) if(do_after(user, 50, target=src)) untilt(user) return @@ -817,7 +817,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(!vend_ready) return if(panel_open) - to_chat(user, "The vending machine cannot dispense products while its service panel is open!") + to_chat(user, span_warning("The vending machine cannot dispense products while its service panel is open!")) return return TRUE @@ -943,9 +943,9 @@ GLOBAL_LIST_EMPTY(vending_products) vended_item.set_greyscale(colors=greyscale_colors) R.amount-- if(usr.CanReach(src) && usr.put_in_hands(vended_item)) - to_chat(usr, "You take [R.name] out of the slot.") + to_chat(usr, span_notice("You take [R.name] out of the slot.")) else - to_chat(usr, "[capitalize(R.name)] falls onto the floor!") + to_chat(usr, span_warning("[capitalize(R.name)] falls onto the floor!")) SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]")) vend_ready = TRUE @@ -1016,7 +1016,7 @@ GLOBAL_LIST_EMPTY(vending_products) pre_throw(throw_item) throw_item.throw_at(target, 16, 3) - visible_message("[src] launches [throw_item] at [target]!") + visible_message(span_danger("[src] launches [throw_item] at [target]!")) return TRUE /** * A callback called before an item is tossed out @@ -1068,7 +1068,7 @@ GLOBAL_LIST_EMPTY(vending_products) tilt(L) /obj/machinery/vending/attack_tk_grab(mob/user) - to_chat(user, "[src] seems to resist your mental grasp!") + to_chat(user, span_warning("[src] seems to resist your mental grasp!")) ///Crush the mob that the vending machine got thrown at /obj/machinery/vending/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) @@ -1251,7 +1251,7 @@ GLOBAL_LIST_EMPTY(vending_products) /obj/item/price_tagger/attack_self(mob/user) price = max(1, round(input(user,"set price","price") as num|null, 1)) - to_chat(user, " The [src] will now give things a [price] cr tag.") + to_chat(user, span_notice(" The [src] will now give things a [price] cr tag.")) /obj/item/price_tagger/afterattack(atom/target, mob/user, proximity) . = ..() @@ -1260,7 +1260,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(isitem(target)) var/obj/item/I = target I.custom_price = price - to_chat(user, "You set the price of [I] to [price] cr.") + to_chat(user, span_notice("You set the price of [I] to [price] cr.")) /obj/machinery/vending/custom/greed //name and like decided by the spawn icon_state = "greed" diff --git a/code/modules/wiremod/integrated_circuit.dm b/code/modules/wiremod/integrated_circuit.dm index 3186da059e7..66e6ff64693 100644 --- a/code/modules/wiremod/integrated_circuit.dm +++ b/code/modules/wiremod/integrated_circuit.dm @@ -47,9 +47,9 @@ /obj/item/integrated_circuit/examine(mob/user) . = ..() if(cell) - . += "The charge meter reads [cell ? round(cell.percent(), 1) : 0]%." + . += span_notice("The charge meter reads [cell ? round(cell.percent(), 1) : 0]%.") else - . += "There is no power cell installed." + . += span_notice("There is no power cell installed.") /obj/item/integrated_circuit/attackby(obj/item/I, mob/living/user, params) . = ..() @@ -65,7 +65,7 @@ return cell = I I.add_fingerprint(user) - user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") + user.visible_message(span_notice("[user] inserts a power cell into [src]."), span_notice("You insert the power cell into [src].")) return if(istype(I, /obj/item/card/id)) @@ -77,7 +77,7 @@ if(!cell) return I.play_tool_sound(src) - user.visible_message("[user] unscrews the power cell from [src].", "You unscrew the power cell from [src].") + user.visible_message(span_notice("[user] unscrews the power cell from [src]."), span_notice("You unscrew the power cell from [src].")) cell.forceMove(drop_location()) cell = null return diff --git a/code/modules/wiremod/marker.dm b/code/modules/wiremod/marker.dm index 50a683d7edd..82d34be37a7 100644 --- a/code/modules/wiremod/marker.dm +++ b/code/modules/wiremod/marker.dm @@ -13,7 +13,7 @@ /obj/item/multitool/circuit/examine(mob/user) . = ..() - . += "It has [marked_atom? "a" : "no"] marked entity registered." + . += span_notice("It has [marked_atom? "a" : "no"] marked entity registered.") /obj/item/multitool/circuit/attack_self(mob/user, modifiers) . = ..() diff --git a/code/modules/wiremod/shell/shell_items.dm b/code/modules/wiremod/shell/shell_items.dm index 6189d2223d4..2fde05f8ef1 100644 --- a/code/modules/wiremod/shell/shell_items.dm +++ b/code/modules/wiremod/shell/shell_items.dm @@ -11,11 +11,11 @@ var/screw_delay = 3 SECONDS /obj/item/shell/screwdriver_act(mob/living/user, obj/item/tool) - user.visible_message("[user] begins finishing [src].", "You begin finishing [src].") + user.visible_message(span_notice("[user] begins finishing [src]."), span_notice("You begin finishing [src].")) tool.play_tool_sound(src) if(!do_after(user, screw_delay, src)) return - user.visible_message("[user] finishes [src].", "You finish [src].") + user.visible_message(span_notice("[user] finishes [src]."), span_notice("You finish [src].")) var/turf/drop_loc = drop_location() diff --git a/code/modules/zombie/items.dm b/code/modules/zombie/items.dm index cf9dbeece47..3283acc9a2e 100644 --- a/code/modules/zombie/items.dm +++ b/code/modules/zombie/items.dm @@ -57,7 +57,7 @@ /obj/item/zombie_hand/suicide_act(mob/user) - user.visible_message("[user] is ripping [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is ripping [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!")) if(isliving(user)) var/mob/living/L = user var/obj/item/bodypart/O = L.get_bodypart(BODY_ZONE_HEAD) diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index d7edacd94df..e6fb9be9b32 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -50,7 +50,7 @@ if (causes_damage && !iszombie(owner) && owner.stat != DEAD) owner.adjustToxLoss(0.5 * delta_time) if(DT_PROB(5, delta_time)) - to_chat(owner, "You feel sick...") + to_chat(owner, span_danger("You feel sick...")) if(timer_id) return if(owner.suiciding) @@ -88,11 +88,11 @@ return owner.grab_ghost() - owner.visible_message("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!", "You HUNGER!") + owner.visible_message(span_danger("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!"), span_alien("You HUNGER!")) playsound(owner.loc, 'sound/hallucinations/far_noise.ogg', 50, TRUE) owner.do_jitter_animation(living_transformation_time) owner.Stun(living_transformation_time) - to_chat(owner, "You are now a zombie! Do not seek to be cured, do not help any non-zombies in any way, do not harm your zombie brethren and spread the disease by killing others. You are a creature of hunger and violence.") + to_chat(owner, span_alertalien("You are now a zombie! Do not seek to be cured, do not help any non-zombies in any way, do not harm your zombie brethren and spread the disease by killing others. You are a creature of hunger and violence.")) /obj/item/organ/zombie_infection/nodamage causes_damage = FALSE diff --git a/config/admin_nicknames.json b/config/admin_nicknames.json index 9c83f646229..14fd6d6d93c 100644 --- a/config/admin_nicknames.json +++ b/config/admin_nicknames.json @@ -7,4 +7,4 @@ "Badmin", "Spanmin" ] -} \ No newline at end of file +} diff --git a/interface/interface.dm b/interface/interface.dm index 9136965cab9..f092a43fe33 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -11,7 +11,7 @@ else if (query != null) src << link(wikiurl) else - to_chat(src, "The wiki URL is not set in the server configuration.") + to_chat(src, span_danger("The wiki URL is not set in the server configuration.")) return /client/verb/forum() @@ -24,7 +24,7 @@ return src << link(forumurl) else - to_chat(src, "The forum URL is not set in the server configuration.") + to_chat(src, span_danger("The forum URL is not set in the server configuration.")) return /client/verb/rules() @@ -37,7 +37,7 @@ return src << link(rulesurl) else - to_chat(src, "The rules URL is not set in the server configuration.") + to_chat(src, span_danger("The rules URL is not set in the server configuration.")) return /client/verb/github() @@ -50,7 +50,7 @@ return src << link(githuburl) else - to_chat(src, "The Github URL is not set in the server configuration.") + to_chat(src, span_danger("The Github URL is not set in the server configuration.")) return /client/verb/reportissue() @@ -95,7 +95,7 @@ var/url_params = "Reporting client version: [byond_version].[byond_build]\n\n[local_template]" DIRECT_OUTPUT(src, link("[githuburl]/issues/new?body=[url_encode(url_params)]")) else - to_chat(src, "The Github URL is not set in the server configuration.") + to_chat(src, span_danger("The Github URL is not set in the server configuration.")) return /client/verb/changelog() diff --git a/tgstation.dme b/tgstation.dme index 588c99b92e7..a083e4268b2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -194,6 +194,7 @@ #include "code\__HELPERS\roundend.dm" #include "code\__HELPERS\sanitize_values.dm" #include "code\__HELPERS\shell.dm" +#include "code\__HELPERS\span.dm" #include "code\__HELPERS\stat_tracking.dm" #include "code\__HELPERS\string_assoc_lists.dm" #include "code\__HELPERS\string_lists.dm"