diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
index 8d30c946ca..5817d0948e 100644
--- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
@@ -296,7 +296,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 05922103ff..7d476e17b7 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -256,7 +256,7 @@ Thus, the two variables affect pump operation are set in New():
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm
index a3a368852f..f0c5498fb3 100644
--- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm
+++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm
@@ -91,7 +91,7 @@
playsound(src, W.usesound, 50, 1)
if(do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/portables_connector.dm b/code/ATMOSPHERICS/components/portables_connector.dm
index 5b489441db..31f61ae55b 100644
--- a/code/ATMOSPHERICS/components/portables_connector.dm
+++ b/code/ATMOSPHERICS/components/portables_connector.dm
@@ -162,7 +162,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
index 10d7403541..eaae718b2e 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
@@ -62,7 +62,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm
index 7deca38847..12c3fbfa13 100644
--- a/code/ATMOSPHERICS/components/tvalve.dm
+++ b/code/ATMOSPHERICS/components/tvalve.dm
@@ -340,7 +340,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm
index bba26185e7..a3571fed8b 100644
--- a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm
+++ b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm
@@ -81,7 +81,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
index 5eeab2c8e4..b4991c0e5d 100644
--- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm
+++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
@@ -171,7 +171,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 488855a71f..4c843f5342 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -405,7 +405,7 @@
if(!src || !WT.isOn()) return
playsound(src, WT.usesound, 50, 1)
if(!welded)
- user.visible_message("\The [user] welds the vent shut.", "You weld the vent shut.", "You hear welding.")
+ user.visible_message("\The [user] welds the vent shut.", "You weld the vent shut.", "You hear welding.")
welded = 1
update_icon()
else
@@ -453,7 +453,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index 515cd37e7f..8b481a6d8c 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -281,7 +281,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm
index c890938100..9e88195bcc 100644
--- a/code/ATMOSPHERICS/components/valve.dm
+++ b/code/ATMOSPHERICS/components/valve.dm
@@ -301,7 +301,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/ATMOSPHERICS/pipes/pipe_base.dm b/code/ATMOSPHERICS/pipes/pipe_base.dm
index f95948868d..5f384ed457 100644
--- a/code/ATMOSPHERICS/pipes/pipe_base.dm
+++ b/code/ATMOSPHERICS/pipes/pipe_base.dm
@@ -130,7 +130,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 10 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
deconstruct()
diff --git a/code/game/gamemodes/cult/construct_spells.dm b/code/game/gamemodes/cult/construct_spells.dm
index 48394146b5..62cdd5bf48 100644
--- a/code/game/gamemodes/cult/construct_spells.dm
+++ b/code/game/gamemodes/cult/construct_spells.dm
@@ -671,6 +671,6 @@
W.visible_message("\The [user] [attack_message] \the [W], obliterating it!")
W.dismantle_wall(1)
else
- user.visible_message("\The [user] lowers its fist.")
+ user.visible_message("\The [user] lowers its fist.")
return
qdel(src)
\ No newline at end of file
diff --git a/code/game/gamemodes/technomancer/core_obj.dm b/code/game/gamemodes/technomancer/core_obj.dm
index f7eae8025c..fb1e62c86e 100644
--- a/code/game/gamemodes/technomancer/core_obj.dm
+++ b/code/game/gamemodes/technomancer/core_obj.dm
@@ -121,7 +121,7 @@
if(L.stat == DEAD)
summoned_mobs -= L
spawn(1)
- L.visible_message("\The [L] begins to fade away...")
+ L.visible_message("\The [L] begins to fade away...")
animate(L, alpha = 255, alpha = 0, time = 30) // Makes them fade into nothingness.
sleep(30)
qdel(L)
diff --git a/code/game/gamemodes/technomancer/spells/abjuration.dm b/code/game/gamemodes/technomancer/spells/abjuration.dm
index dd39e1982b..c14356cba8 100644
--- a/code/game/gamemodes/technomancer/spells/abjuration.dm
+++ b/code/game/gamemodes/technomancer/spells/abjuration.dm
@@ -27,7 +27,7 @@
to_chat(L, "\The [user] tried to teleport you far away, but failed.")
return 0
else
- visible_message("\The [L] vanishes!")
+ visible_message("\The [L] vanishes!")
qdel(L)
else if(istype(L, /mob/living/simple_mob/construct))
var/mob/living/simple_mob/construct/evil = L
diff --git a/code/game/gamemodes/technomancer/spells/blink.dm b/code/game/gamemodes/technomancer/spells/blink.dm
index 0bbff7b016..f2a2b2051a 100644
--- a/code/game/gamemodes/technomancer/spells/blink.dm
+++ b/code/game/gamemodes/technomancer/spells/blink.dm
@@ -47,7 +47,7 @@
if(L.buckled)
L.buckled.unbuckle_mob()
AM.forceMove(destination)
- AM.visible_message("\The [AM] vanishes!")
+ AM.visible_message("\The [AM] vanishes!")
to_chat(AM, "You suddenly appear somewhere else!")
new /obj/effect/effect/sparks(destination)
new /obj/effect/effect/sparks(starting)
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 73c15fd667..e53cd7818c 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -382,7 +382,7 @@
beaker = I
user.drop_item()
I.loc = src
- user.visible_message("\The [user] adds \a [I] to \the [src].", "You add \a [I] to \the [src].")
+ user.visible_message("\The [user] adds \a [I] to \the [src].", "You add \a [I] to \the [src].")
else
to_chat(user, "\The [src] has a beaker already.")
return
diff --git a/code/game/machinery/airconditioner_vr.dm b/code/game/machinery/airconditioner_vr.dm
index 4e9ce2d22b..ea54edfa2e 100644
--- a/code/game/machinery/airconditioner_vr.dm
+++ b/code/game/machinery/airconditioner_vr.dm
@@ -76,7 +76,7 @@
return
if(draw_power(idle_power_usage) < idle_power_usage)
- visible_message("\The [src] shuts down.")
+ visible_message("\The [src] shuts down.")
turn_off()
return
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 2d5d0a8747..e5e4b65ab4 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -110,7 +110,7 @@
to_chat(user, "You begin to unfasten \the [src]...")
if(do_after(user, 40 * W.toolspeed))
user.visible_message( \
- "\The [user] unfastens \the [src].", \
+ "\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear ratchet.")
new /obj/item/pipe_meter(get_turf(src))
diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm
index b951a3c396..5081a1b56e 100644
--- a/code/game/machinery/bioprinter.dm
+++ b/code/game/machinery/bioprinter.dm
@@ -163,7 +163,7 @@
printing = 1
update_icon()
- visible_message("\The [src] begins churning.")
+ visible_message("\The [src] begins churning.")
sleep(print_delay)
@@ -211,7 +211,7 @@
/obj/machinery/organ_printer/proc/can_print(var/choice, var/masscount = 0)
var/biomass = get_biomass_volume()
if(biomass < masscount)
- visible_message("\The [src] displays a warning: 'Not enough biomass. [biomass] stored and [masscount] needed.'")
+ visible_message("\The [src] displays a warning: 'Not enough biomass. [biomass] stored and [masscount] needed.'")
return 0
if(!loaded_dna || !loaded_dna["donor"])
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index 5bb4d80194..8b5cce2aee 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -234,21 +234,21 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva
return
else if(W.is_wrench())
if(anchored)
- user.visible_message("\The [user] starts to unbolt \the [src] from the plating...")
+ user.visible_message("\The [user] starts to unbolt \the [src] from the plating...")
playsound(src, W.usesound, 50, 1)
if(!do_after(user,40 * W.toolspeed))
- user.visible_message("\The [user] decides not to unbolt \the [src].")
+ user.visible_message("\The [user] decides not to unbolt \the [src].")
return
- user.visible_message("\The [user] finishes unfastening \the [src]!")
+ user.visible_message("\The [user] finishes unfastening \the [src]!")
anchored = 0
return
else
- user.visible_message("\The [user] starts to bolt \the [src] to the plating...")
+ user.visible_message("\The [user] starts to bolt \the [src] to the plating...")
playsound(src, W.usesound, 50, 1)
if(!do_after(user,40 * W.toolspeed))
- user.visible_message("\The [user] decides not to bolt \the [src].")
+ user.visible_message("\The [user] decides not to bolt \the [src].")
return
- user.visible_message("\The [user] finishes fastening down \the [src]!")
+ user.visible_message("\The [user] finishes fastening down \the [src]!")
anchored = 1
return
else
diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm
index 9d991ca556..811b12f27c 100644
--- a/code/game/machinery/computer/guestpass.dm
+++ b/code/game/machinery/computer/guestpass.dm
@@ -48,7 +48,7 @@
var/confirm = tgui_alert(usr, "Do you really want to deactivate this guest pass? (you can't reactivate it)", "Confirm Deactivation", list("Yes", "No"))
if(confirm == "Yes")
//rip guest pass 3
- user.visible_message("\The [user] deactivates \the [src].")
+ user.visible_message("\The [user] deactivates \the [src].")
icon_state = "guest-invalid"
update_icon()
expiration_time = world.time
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 616205563d..9b4994892a 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -47,7 +47,7 @@
playsound(src, S.attack_sound, 75, 1)
take_damage(damage)
else
- visible_message("\The [user] bonks \the [src] harmlessly.")
+ visible_message("\The [user] bonks \the [src] harmlessly.")
user.do_attack_animation(src)
/obj/machinery/door/New()
diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm
index 06323a4f06..8cb44be78a 100644
--- a/code/game/machinery/jukebox.dm
+++ b/code/game/machinery/jukebox.dm
@@ -253,7 +253,7 @@
/obj/machinery/media/jukebox/proc/explode()
walk_to(src,0)
- src.visible_message("\the [src] blows apart!", 1)
+ src.visible_message("\The [src] blows apart!", 1)
explosion(src.loc, 0, 0, 1, rand(1,2), 1)
diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm
index ee0d44ede0..3673462534 100644
--- a/code/game/machinery/oxygen_pump.dm
+++ b/code/game/machinery/oxygen_pump.dm
@@ -55,7 +55,7 @@
/obj/machinery/oxygen_pump/attack_hand(mob/user as mob)
if((stat & MAINT) && tank)
- user.visible_message("\The [user] removes \the [tank] from \the [src].", "You remove \the [tank] from \the [src].")
+ user.visible_message("\The [user] removes \the [tank] from \the [src].", "You remove \the [tank] from \the [src].")
user.put_in_hands(tank)
src.add_fingerprint(user)
tank.add_fingerprint(user)
@@ -69,7 +69,7 @@
tank.forceMove(src)
breather.remove_from_mob(contained)
contained.forceMove(src)
- src.visible_message("\The [user] makes \the [contained] rapidly retract back into \the [src]!")
+ src.visible_message("\The [user] makes \the [contained] rapidly retract back into \the [src]!")
if(breather.internals)
breather.internals.icon_state = "internal0"
breather = null
@@ -140,7 +140,7 @@
user.drop_item()
W.forceMove(src)
tank = W
- user.visible_message("\The [user] installs \the [tank] into \the [src].", "You install \the [tank] into \the [src].")
+ user.visible_message("\The [user] installs \the [tank] into \the [src].", "You install \the [tank] into \the [src].")
src.add_fingerprint(user)
if(istype(W, /obj/item/weapon/tank) && !stat)
to_chat(user, "Please open the maintenance hatch first.")
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 4c51d35ee2..c344a5e881 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -564,7 +564,7 @@
take_damage(incoming_damage)
S.do_attack_animation(src)
return 1
- visible_message("\The [L] bonks \the [src]'s casing!")
+ visible_message("\The [L] bonks \the [src]'s casing!")
return ..()
/obj/machinery/porta_turret/emag_act(var/remaining_charges, var/mob/user)
@@ -1006,7 +1006,7 @@
return
var/obj/item/weapon/gun/energy/E = I //typecasts the item to an energy gun
if(!user.unEquip(I))
- to_chat(user, "\the [I] is stuck to your hand, you cannot put it in \the [src]")
+ to_chat(user, "\The [I] is stuck to your hand, you cannot put it in \the [src]")
return
installation = I.type //installation becomes I.type
gun_charge = E.power_supply.charge //the gun's charge is stored in gun_charge
@@ -1027,7 +1027,7 @@
if(isprox(I))
build_step = 5
if(!user.unEquip(I))
- to_chat(user, "\the [I] is stuck to your hand, you cannot put it in \the [src]")
+ to_chat(user, "\The [I] is stuck to your hand, you cannot put it in \the [src]")
return
to_chat(user, "You add the prox sensor to the turret.")
qdel(I)
diff --git a/code/game/machinery/reagents/pump.dm b/code/game/machinery/reagents/pump.dm
index 04916d4d9b..b73ce06a4a 100644
--- a/code/game/machinery/reagents/pump.dm
+++ b/code/game/machinery/reagents/pump.dm
@@ -107,7 +107,7 @@
if(Output.get_pairing())
reagents.trans_to_holder(Output.reagents, Output.reagents.maximum_volume)
if(prob(5))
- visible_message("\The [src] gurgles as it exports fluid.")
+ visible_message("\The [src] gurgles as it exports fluid.")
if(!on)
return
@@ -148,7 +148,7 @@
on = 1
update_icon()
if(loud)
- visible_message("\The [src] turns on.")
+ visible_message("\The [src] turns on.")
return 1
/obj/machinery/pump/proc/turn_off(var/loud = 0)
@@ -156,7 +156,7 @@
set_light(0, 0)
update_icon()
if(loud)
- visible_message("\The [src] shuts down.")
+ visible_message("\The [src] shuts down.")
if(!on)
return TRUE
diff --git a/code/game/machinery/supplybeacon.dm b/code/game/machinery/supplybeacon.dm
index 20be7d52ca..c4d90818fc 100644
--- a/code/game/machinery/supplybeacon.dm
+++ b/code/game/machinery/supplybeacon.dm
@@ -12,11 +12,11 @@
deploy_path = /obj/machinery/power/supply_beacon/supermatter
/obj/item/supply_beacon/attack_self(var/mob/user)
- user.visible_message("\The [user] begins setting up \the [src].")
+ user.visible_message("\The [user] begins setting up \the [src].")
if(!do_after(user, deploy_time))
return
var/obj/S = new deploy_path(get_turf(user))
- user.visible_message("\The [user] deploys \the [S].")
+ user.visible_message("\The [user] deploys \the [S].")
user.unEquip(src)
qdel(src)
diff --git a/code/game/machinery/virtual_reality/ar_console.dm b/code/game/machinery/virtual_reality/ar_console.dm
index 5067c47600..6cf182e106 100644
--- a/code/game/machinery/virtual_reality/ar_console.dm
+++ b/code/game/machinery/virtual_reality/ar_console.dm
@@ -25,7 +25,7 @@
if(stat & (BROKEN))
if(occupant)
go_out()
- visible_message("\The [src] emits a low droning sound, before the pod door clicks open.")
+ visible_message("\The [src] emits a low droning sound, before the pod door clicks open.")
return
else if(eject_dead && occupant && occupant.stat == DEAD)
visible_message("\The [src] sounds an alarm, swinging its hatch open.")
diff --git a/code/game/machinery/virtual_reality/vr_console.dm b/code/game/machinery/virtual_reality/vr_console.dm
index c529d45da1..0f10b19e7f 100644
--- a/code/game/machinery/virtual_reality/vr_console.dm
+++ b/code/game/machinery/virtual_reality/vr_console.dm
@@ -40,7 +40,7 @@
if(stat & (NOPOWER|BROKEN))
if(occupant)
go_out()
- visible_message("\The [src] emits a low droning sound, before the pod door clicks open.")
+ visible_message("\The [src] emits a low droning sound, before the pod door clicks open.")
return
else if(eject_dead && occupant && occupant.stat == DEAD) // If someone dies somehow while inside, spit them out.
visible_message("\The [src] sounds an alarm, swinging its hatch open.")
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 04c64dae88..a5fee4a508 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1964,7 +1964,7 @@
if(ishuman(occupant))
GrantActions(occupant, 1)
else
- visible_message("\The [usr] starts to climb into [src.name]")
+ visible_message("\The [usr] starts to climb into [src.name]")
if(enter_after(40,usr))
if(!src.occupant)
moved_inside(usr)
@@ -2604,11 +2604,11 @@
var/obj/item/mecha_parts/mecha_equipment/tool/passenger/P = passengers[pname]
var/mob/occupant = P.occupant
- user.visible_message("\The [user] begins opening the hatch on \the [P]...", "You begin opening the hatch on \the [P]...")
+ user.visible_message("\The [user] begins opening the hatch on \the [P]...", "You begin opening the hatch on \the [P]...")
if (!do_after(user, 40))
return
- user.visible_message("\The [user] opens the hatch on \the [P] and removes [occupant]!", "You open the hatch on \the [P] and remove [occupant]!")
+ user.visible_message("\The [user] opens the hatch on \the [P] and removes [occupant]!", "You open the hatch on \the [P] and remove [occupant]!")
P.go_out()
P.log_message("[occupant] was removed.")
return
@@ -2795,7 +2795,7 @@
if(prob(temp_deflect_chance))//Deflected
src.log_append_to_last("Armor saved.")
src.occupant_message("\The [user]'s attack is stopped by the armor.")
- visible_message("\The [user] rebounds off [src.name]'s armor!")
+ visible_message("\The [user] rebounds off [src.name]'s armor!")
user.attack_log += text("\[[time_stamp()]\] attacked [src.name]")
playsound(src, 'sound/weapons/slash.ogg', 50, 1, -1)
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index dcbf63688a..d6b21ef674 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -236,7 +236,7 @@
last_itch = world.time
to_chat(O.owner, "Your [O.name] itches...")
else if(prob(1))
- src.visible_message("\The [src] skitters.")
+ src.visible_message("\The [src] skitters.")
if(amount_grown >= 0)
amount_grown += rand(0,2)
diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm
index 4167cc9042..a98d984d17 100644
--- a/code/game/objects/items/devices/defib.dm
+++ b/code/game/objects/items/devices/defib.dm
@@ -86,7 +86,7 @@
reattach_paddles(user)
else if(istype(W, /obj/item/weapon/cell))
if(bcell)
- to_chat(user, "\the [src] already has a cell.")
+ to_chat(user, "\The [src] already has a cell.")
else
if(!user.unEquip(W))
return
@@ -392,7 +392,7 @@
user.visible_message("\The [user] begins to place [src] on [H]'s chest.", "You begin to place [src] on [H]'s chest...")
if(!do_after(user, 30, H))
return
- user.visible_message("\The [user] places [src] on [H]'s chest.", "You place [src] on [H]'s chest.")
+ user.visible_message("\The [user] places [src] on [H]'s chest.", "You place [src] on [H]'s chest.")
playsound(src, 'sound/machines/defib_charge.ogg', 50, 0)
var/error = can_defib(H)
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index facc87ae64..70e0d3d768 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -41,7 +41,7 @@
if(repairing)
to_chat(user, "\The [src] is already being repaired!")
return
- user.visible_message("\The [user] starts trying to repair \the [src]'s bulb.")
+ user.visible_message("\The [user] starts trying to repair \the [src]'s bulb.")
repairing = TRUE
if(do_after(user, (40 SECONDS + rand(0, 20 SECONDS)) * W.toolspeed) && can_repair)
if(prob(30))
@@ -50,7 +50,7 @@
update_icon()
playsound(src, W.usesound, 50, 1)
else
- user.visible_message("\The [user] fails to repair \the [src].")
+ user.visible_message("\The [user] fails to repair \the [src].")
repairing = FALSE
else
..()
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index ce2d8d7604..69dc2d26a3 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -115,7 +115,7 @@
if(!vision)
to_chat(user, "You can't find any [H.species.vision_organ ? H.species.vision_organ : "eyes"] on [H]!")
- user.visible_message("\The [user] directs [src] to [M]'s eyes.", \
+ user.visible_message("\The [user] directs [src] to [M]'s eyes.", \
"You direct [src] to [M]'s eyes.")
if(H != user) //can't look into your own eyes buster
if(M.stat == DEAD || M.blinded) //mob is dead or fully blind
diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm
index 820229fd83..e299a4d390 100644
--- a/code/game/objects/items/devices/modkit.dm
+++ b/code/game/objects/items/devices/modkit.dm
@@ -49,7 +49,7 @@
playsound(src, O.usesound, 100, 1)
- user.visible_message("\The [user] opens \the [src] and modifies \the [O].","You open \the [src] and modify \the [O].")
+ user.visible_message("\The [user] opens \the [src] and modifies \the [O].","You open \the [src] and modify \the [O].")
I.refit_for_species(target_species)
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 179170fcea..629a383433 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -108,7 +108,7 @@
return 1
else
var/available = get_amount()
- user.visible_message("\The [user] starts bandaging [M]'s [affecting.name].", \
+ user.visible_message("\The [user] starts bandaging [M]'s [affecting.name].", \
"You start bandaging [M]'s [affecting.name]." )
var/used = 0
for (var/datum/wound/W in affecting.wounds)
@@ -131,10 +131,10 @@
break
if (W.current_stage <= W.max_bleeding_stage)
- user.visible_message("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
"You bandage \a [W.desc] on [M]'s [affecting.name]." )
else
- user.visible_message("\The [user] places a bandage over \a [W.desc] on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] places a bandage over \a [W.desc] on [M]'s [affecting.name].", \
"You place a bandage over \a [W.desc] on [M]'s [affecting.name]." )
W.bandage()
playsound(src, pick(apply_sounds), 25)
@@ -177,7 +177,7 @@
return 1
else
var/available = get_amount()
- user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \
+ user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \
"You start treating [M]'s [affecting.name]." )
var/used = 0
for (var/datum/wound/W in affecting.wounds)
@@ -200,14 +200,14 @@
break
if (W.current_stage <= W.max_bleeding_stage)
- user.visible_message("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
"You bandage \a [W.desc] on [M]'s [affecting.name]." )
//H.add_side_effect("Itch")
else if (W.damage_type == BRUISE)
- user.visible_message("\The [user] places a bruise patch over \a [W.desc] on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] places a bruise patch over \a [W.desc] on [M]'s [affecting.name].", \
"You place a bruise patch over \a [W.desc] on [M]'s [affecting.name]." )
else
- user.visible_message("\The [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \
"You place a bandaid over \a [W.desc] on [M]'s [affecting.name]." )
W.bandage()
// W.disinfect() // VOREStation - Tech1 should not disinfect
@@ -250,7 +250,7 @@
to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.")
return 1
else
- user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \
"You start salving the wounds on [M]'s [affecting.name]." )
if(!do_mob(user, M, 10, exclusive = TRUE))
to_chat(user, "You must stand still to salve wounds.")
@@ -290,7 +290,7 @@
return 1
else
var/available = get_amount()
- user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \
+ user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \
"You start treating [M]'s [affecting.name]." )
var/used = 0
for (var/datum/wound/W in affecting.wounds)
@@ -312,13 +312,13 @@
break
if (W.current_stage <= W.max_bleeding_stage)
- user.visible_message("\The [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \
+ user.visible_message("\The [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \
"You clean and seal \a [W.desc] on [M]'s [affecting.name]." )
else if (W.damage_type == BRUISE)
- user.visible_message("\The [user] places a medical patch over \a [W.desc] on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] places a medical patch over \a [W.desc] on [M]'s [affecting.name].", \
"You place a medical patch over \a [W.desc] on [M]'s [affecting.name]." )
else
- user.visible_message("\The [user] smears some bioglue over \a [W.desc] on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] smears some bioglue over \a [W.desc] on [M]'s [affecting.name].", \
"You smear some bioglue over \a [W.desc] on [M]'s [affecting.name]." )
W.bandage()
W.disinfect()
@@ -358,7 +358,7 @@
to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.")
return 1
else
- user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \
+ user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \
"You start salving the wounds on [M]'s [affecting.name]." )
if(!do_mob(user, M, 10, exclusive = TRUE))
to_chat(user, "You must stand still to salve wounds.")
diff --git a/code/game/objects/items/weapons/autopsy.dm b/code/game/objects/items/weapons/autopsy.dm
index 7868d2d3ab..100fac14c2 100644
--- a/code/game/objects/items/weapons/autopsy.dm
+++ b/code/game/objects/items/weapons/autopsy.dm
@@ -177,7 +177,7 @@
if(!S.open)
to_chat(user, "You have to cut [S] open first!")
return
- M.visible_message("\The [user] scans the wounds on [M]'s [S.name] with [src]")
+ M.visible_message("\The [user] scans the wounds on [M]'s [S.name] with [src]")
src.add_data(S)
diff --git a/code/game/objects/items/weapons/canes.dm b/code/game/objects/items/weapons/canes.dm
index 48bf6454ca..6e61e4669c 100644
--- a/code/game/objects/items/weapons/canes.dm
+++ b/code/game/objects/items/weapons/canes.dm
@@ -97,7 +97,7 @@
/obj/item/weapon/cane/white/collapsible/attack_self(mob/user as mob)
on = !on
if(on)
- user.visible_message("\The [user] extends the white cane.",\
+ user.visible_message("\The [user] extends the white cane.",\
"You extend the white cane.",\
"You hear an ominous click.")
icon_state = "whitecane1out"
@@ -106,7 +106,7 @@
force = 5
attack_verb = list("smacked", "struck", "cracked", "beaten")
else
- user.visible_message("\The [user] collapses the white cane.",\
+ user.visible_message("\The [user] collapses the white cane.",\
"You collapse the white cane.",\
"You hear a click.")
icon_state = "whitecane1in"
diff --git a/code/game/objects/items/weapons/circuitboards/computer/research.dm b/code/game/objects/items/weapons/circuitboards/computer/research.dm
index 791cd51cdc..8de61a2b91 100644
--- a/code/game/objects/items/weapons/circuitboards/computer/research.dm
+++ b/code/game/objects/items/weapons/circuitboards/computer/research.dm
@@ -9,7 +9,7 @@
/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob)
if(I.is_screwdriver())
playsound(src, I.usesound, 50, 1)
- user.visible_message("\The [user] adjusts the jumper on \the [src]'s access protocol pins.", "You adjust the jumper on the access protocol pins.")
+ user.visible_message("\The [user] adjusts the jumper on \the [src]'s access protocol pins.", "You adjust the jumper on the access protocol pins.")
if(build_path == /obj/machinery/computer/rdconsole/core)
name = T_BOARD("RD Console - Robotics")
build_path = /obj/machinery/computer/rdconsole/robotics
diff --git a/code/game/objects/items/weapons/circuitboards/machinery/research.dm b/code/game/objects/items/weapons/circuitboards/machinery/research.dm
index 8049096292..4305ecf180 100644
--- a/code/game/objects/items/weapons/circuitboards/machinery/research.dm
+++ b/code/game/objects/items/weapons/circuitboards/machinery/research.dm
@@ -14,7 +14,7 @@
/obj/item/weapon/circuitboard/rdserver/attackby(obj/item/I as obj, mob/user as mob)
if(I.is_screwdriver())
playsound(src, I.usesound, 50, 1)
- user.visible_message("\The [user] adjusts the jumper on \the [src]'s access protocol pins.", "You adjust the jumper on the access protocol pins.")
+ user.visible_message("\The [user] adjusts the jumper on \the [src]'s access protocol pins.", "You adjust the jumper on the access protocol pins.")
if(build_path == /obj/machinery/r_n_d/server/core)
name = T_BOARD("RD Console - Robotics")
build_path = /obj/machinery/r_n_d/server/robotics
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 1dca4b4caf..e86a7406b0 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -301,7 +301,7 @@ var/last_chew = 0
return 1
/obj/item/weapon/handcuffs/legcuffs/bola/dropped()
- visible_message("\The [src] falls apart!")
+ visible_message("\The [src] falls apart!")
qdel(src)
/obj/item/weapon/handcuffs/legcuffs/bola/place_legcuffs(var/mob/living/carbon/target, var/mob/user)
@@ -313,7 +313,7 @@ var/last_chew = 0
return 0
if(!H.has_organ_for_slot(slot_legcuffed))
- H.visible_message("\The [src] slams into [H], but slides off!")
+ H.visible_message("\The [src] slams into [H], but slides off!")
src.dropped()
return 0
diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm
index 9cb6f78daa..f9b0c11a17 100644
--- a/code/game/objects/items/weapons/policetape.dm
+++ b/code/game/objects/items/weapons/policetape.dm
@@ -333,7 +333,7 @@ var/list/tape_roll_applications = list()
/obj/item/tape/attack_hand(mob/user as mob)
if (user.a_intent == I_HELP && src.allowed(user))
- user.show_viewers("\The [user] lifts \the [src], allowing passage.")
+ user.show_viewers("\The [user] lifts \the [src], allowing passage.")
for(var/obj/item/tape/T in gettapeline())
T.lift(100) //~10 seconds
else
@@ -377,7 +377,7 @@ var/list/tape_roll_applications = list()
if(user.a_intent == I_HELP)
to_chat(user, "You refrain from breaking \the [src].")
return
- user.visible_message("\The [user] breaks \the [src]!","You break \the [src].")
+ user.visible_message("\The [user] breaks \the [src]!","You break \the [src].")
for (var/obj/item/tape/T in gettapeline())
if(T == src)
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 1bada80a03..e6370499a0 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -465,29 +465,29 @@
return
if(!parachute) //This packs the parachute
- H.visible_message("\The [H] starts to pack \the [src]!", \
+ H.visible_message("\The [H] starts to pack \the [src]!", \
"You start to pack \the [src]!", \
"You hear the shuffling of cloth.")
if(do_after(H, 50))
- H.visible_message("\The [H] finishes packing \the [src]!", \
+ H.visible_message("\The [H] finishes packing \the [src]!", \
"You finish packing \the [src]!", \
"You hear the shuffling of cloth.")
parachute = TRUE
else
- H.visible_message("\The [src] gives up on packing \the [src]!", \
+ H.visible_message("\The [src] gives up on packing \the [src]!", \
"You give up on packing \the [src]!")
return
else //This unpacks the parachute
- H.visible_message("\The [src] starts to unpack \the [src]!", \
+ H.visible_message("\The [src] starts to unpack \the [src]!", \
"You start to unpack \the [src]!", \
"You hear the shuffling of cloth.")
if(do_after(H, 25))
- H.visible_message("\The [src] finishes unpacking \the [src]!", \
+ H.visible_message("\The [src] finishes unpacking \the [src]!", \
"You finish unpacking \the [src]!", \
"You hear the shuffling of cloth.")
parachute = FALSE
else
- H.visible_message("\The [src] decides not to unpack \the [src]!", \
+ H.visible_message("\The [src] decides not to unpack \the [src]!", \
"You decide not to unpack \the [src]!")
return
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index 6fc53235b5..0ff349f476 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -67,7 +67,7 @@
force = 15//quite robust
attack_verb = list("smacked", "struck", "slapped")
else
- user.visible_message("\The [user] collapses their telescopic baton.",\
+ user.visible_message("\The [user] collapses their telescopic baton.",\
"You collapse the baton.",\
"You hear a click.")
icon_state = "telebaton0"
diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm
index 88e6ad19ec..8e62410e68 100644
--- a/code/game/objects/items/weapons/tools/weldingtool.dm
+++ b/code/game/objects/items/weapons/tools/weldingtool.dm
@@ -508,7 +508,7 @@
if(mounted_pack.loc != src.loc && src.loc != mounted_pack)
mounted_pack.return_nozzle()
- visible_message("\The [src] retracts to its fueltank.")
+ visible_message("\The [src] retracts to its fueltank.")
if(get_fuel() <= get_max_fuel())
mounted_pack.reagents.trans_to_obj(src, 1)
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 29498bb2df..c7bab19f0f 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -30,7 +30,7 @@ LINEN BINS
/obj/item/weapon/bedsheet/attackby(obj/item/I, mob/user)
if(is_sharp(I))
- user.visible_message("\The [user] begins cutting up [src] with [I].", "You begin cutting up [src] with [I].")
+ user.visible_message("\The [user] begins cutting up [src] with [I].", "You begin cutting up [src] with [I].")
if(do_after(user, 50))
to_chat(user, "You cut [src] into pieces!")
for(var/i in 1 to rand(2,5))
diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm
index 637f069df0..b1f8786d70 100644
--- a/code/game/objects/structures/bonfire.dm
+++ b/code/game/objects/structures/bonfire.dm
@@ -170,7 +170,7 @@
burning = FALSE
update_icon()
STOP_PROCESSING(SSobj, src)
- visible_message("\The [src] stops burning.")
+ visible_message("\The [src] stops burning.")
/obj/structure/bonfire/proc/ignite()
if(!burning && get_fuel_amount())
@@ -363,7 +363,7 @@
burning = FALSE
update_icon()
STOP_PROCESSING(SSobj, src)
- visible_message("\The [src] stops burning.")
+ visible_message("\The [src] stops burning.")
/obj/structure/fireplace/proc/ignite()
if(!burning && get_fuel_amount())
diff --git a/code/game/objects/structures/flora/trees.dm b/code/game/objects/structures/flora/trees.dm
index 213708cd5e..9a885a68f7 100644
--- a/code/game/objects/structures/flora/trees.dm
+++ b/code/game/objects/structures/flora/trees.dm
@@ -47,7 +47,7 @@
if(is_stump)
if(istype(W,/obj/item/weapon/shovel))
if(do_after(user, 5 SECONDS))
- visible_message("\The [user] digs up \the [src] stump with \the [W].")
+ visible_message("\The [user] digs up \the [src] stump with \the [W].")
qdel(src)
return
diff --git a/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm b/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm
index 1c88500020..a792e1b559 100644
--- a/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm
+++ b/code/game/objects/structures/ghost_pods/ghost_pods_vr.dm
@@ -15,7 +15,7 @@
return
if(!activated)
- to_chat(user, "\the [src] has not yet been activated. Sorry.")
+ to_chat(user, "\The [src] has not yet been activated. Sorry.")
return
if(used)
diff --git a/code/game/objects/structures/medical_stand_vr.dm b/code/game/objects/structures/medical_stand_vr.dm
index 2da7daba7b..e2eca967ff 100644
--- a/code/game/objects/structures/medical_stand_vr.dm
+++ b/code/game/objects/structures/medical_stand_vr.dm
@@ -129,10 +129,10 @@
qdel(contained)
contained = new mask_type(src)
breather = null
- src.visible_message("\The [contained] slips to \the [src]!")
+ src.visible_message("\The [contained] slips to \the [src]!")
update_icon()
return
- usr.visible_message("\The [usr] begins carefully placing the mask onto [target].",
+ usr.visible_message("\The [usr] begins carefully placing the mask onto [target].",
"You begin carefully placing the mask onto [target].")
if(!do_mob(usr, target, 100) || !can_apply_to_target(target, usr))
return
@@ -151,14 +151,14 @@
visible_message("\The [attached] is taken off \the [src]")
attached = null
else if(ishuman(target))
- usr.visible_message("\The [usr] begins inserting needle into [target]'s vein.",
+ usr.visible_message("\The [usr] begins inserting needle into [target]'s vein.",
"You begin inserting needle into [target]'s vein.")
if(!do_mob(usr, target, 50))
usr.visible_message("\The [usr]'s hand slips and pricks \the [target].",
"Your hand slips and pricks \the [target].")
target.apply_damage(3, BRUTE, pick(BP_R_ARM, BP_L_ARM))
return
- usr.visible_message("\The [usr] hooks \the [target] up to \the [src].",
+ usr.visible_message("\The [usr] hooks \the [target] up to \the [src].",
"You hook \the [target] up to \the [src].")
attached = target
START_PROCESSING(SSobj,src)
@@ -184,13 +184,13 @@
to_chat(user, "There is no tank in \the [src]!")
return
else if (tank && is_loosen)
- user.visible_message("\The [user] removes \the [tank] from \the [src].", "You remove \the [tank] from \the [src].>")
+ user.visible_message("\The [user] removes \the [tank] from \the [src].", "You remove \the [tank] from \the [src].>")
user.put_in_hands(tank)
tank = null
update_icon()
return
else if (!is_loosen)
- user.visible_message("\The [user] tries to removes \the [tank] from \the [src] but it won't budge.", "You try to removes \the [tank] from \the [src] but it won't budge.>")
+ user.visible_message("\The [user] tries to removes \the [tank] from \the [src] but it won't budge.", "You try to removes \the [tank] from \the [src] but it won't budge.>")
return
if ("Toggle valve")
if (!tank)
@@ -198,7 +198,7 @@
return
else
if (valve_opened)
- src.visible_message("\The [user] closes valve on \the [src]!",
+ src.visible_message("\The [user] closes valve on \the [src]!",
"You close valve on \the [src].")
if(breather)
breather.internals?.icon_state = "internal0"
@@ -206,7 +206,7 @@
valve_opened = FALSE
update_icon()
else
- src.visible_message("\The [user] opens valve on \the [src]!",
+ src.visible_message("\The [user] opens valve on \the [src]!",
"You open valve on \the [src].")
if(breather)
breather.internal = tank
@@ -319,7 +319,7 @@
user.drop_item()
W.forceMove(src)
tank = W
- user.visible_message("\The [user] attaches \the [tank] to \the [src].", "You attach \the [tank] to \the [src].")
+ user.visible_message("\The [user] attaches \the [tank] to \the [src].", "You attach \the [tank] to \the [src].")
src.add_fingerprint(user)
update_icon()
@@ -373,7 +373,7 @@
else
qdel(contained)
contained = new mask_type (src)
- src.visible_message("\The [contained] slips to \the [src]!")
+ src.visible_message("\The [contained] slips to \the [src]!")
breather = null
update_icon()
return
diff --git a/code/game/objects/structures/props/beam_prism.dm b/code/game/objects/structures/props/beam_prism.dm
index d70d72d089..a8d22fad50 100644
--- a/code/game/objects/structures/props/beam_prism.dm
+++ b/code/game/objects/structures/props/beam_prism.dm
@@ -90,11 +90,11 @@
/obj/structure/prop/prism/proc/rotate_auto(var/new_bearing)
if(rotation_lock)
- visible_message("\The [src] shudders.")
+ visible_message("\The [src] shudders.")
playsound(src, 'sound/effects/clang.ogg', 50, 1)
return
- visible_message("\The [src] rotates to a bearing of [new_bearing].")
+ visible_message("\The [src] rotates to a bearing of [new_bearing].")
var/rotate_degrees = new_bearing - degrees_from_north
diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm
index c6c1e1aea5..876e58c4e3 100644
--- a/code/game/objects/structures/railing.dm
+++ b/code/game/objects/structures/railing.dm
@@ -205,7 +205,7 @@
if(W.is_wrench() && !anchored)
playsound(src, W.usesound, 50, 1)
if(do_after(user, 20, src))
- user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].")
+ user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].")
new /obj/item/stack/material/steel(get_turf(usr), 2)
qdel(src)
return
@@ -216,13 +216,13 @@
if(F.welding)
playsound(src, F.usesound, 50, 1)
if(do_after(user, 20, src))
- user.visible_message("\The [user] repairs some damage to \the [src].", "You repair some damage to \the [src].")
+ user.visible_message("\The [user] repairs some damage to \the [src].", "You repair some damage to \the [src].")
health = min(health+(maxhealth/5), maxhealth) // 20% repair per application
return
// Install
if(W.is_screwdriver())
- user.visible_message(anchored ? "\The [user] begins unscrewing \the [src]." : "\The [user] begins fasten \the [src]." )
+ user.visible_message(anchored ? "\The [user] begins unscrewing \the [src]." : "\The [user] begins fasten \the [src]." )
playsound(src, W.usesound, 75, 1)
if(do_after(user, 10, src))
to_chat(user, (anchored ? "You have unfastened \the [src] from the floor." : "You have fastened \the [src] to the floor."))
diff --git a/code/game/objects/structures/salvageable.dm b/code/game/objects/structures/salvageable.dm
index 18fe7ad080..faf6c788aa 100644
--- a/code/game/objects/structures/salvageable.dm
+++ b/code/game/objects/structures/salvageable.dm
@@ -18,7 +18,7 @@
playsound(src, I.usesound, 50, 1)
var/actual_time = I.toolspeed * 170
user.visible_message( \
- "\The [user] begins salvaging from \the [src].", \
+ "\The [user] begins salvaging from \the [src].", \
"You start salvaging from \the [src].")
if(do_after(user, actual_time, target = src))
user.visible_message( \
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 1f9d163e78..4309478e5d 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -324,7 +324,7 @@
to_chat(usr, "\The [thing] is empty.")
return
// Clear the vessel.
- visible_message("\The [usr] tips the contents of \the [thing] into \the [src].")
+ visible_message("\The [usr] tips the contents of \the [thing] into \the [src].")
thing.reagents.clear_reagents()
thing.update_icon()
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 2ae7c7adfc..6083a38a79 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -215,7 +215,7 @@
damage = damage / 2
take_damage(damage)
else
- visible_message("\The [user] bonks \the [src] harmlessly.")
+ visible_message("\The [user] bonks \the [src] harmlessly.")
user.do_attack_animation(src)
return 1
@@ -302,7 +302,7 @@
if (C.use(1))
playsound(src, 'sound/effects/sparks1.ogg', 75, 1)
user.visible_message( \
- "\The [user] begins to wire \the [src] for electrochromic tinting.", \
+ "\The [user] begins to wire \the [src] for electrochromic tinting.", \
"You begin to wire \the [src] for electrochromic tinting.", \
"You hear sparks.")
if(do_after(user, 20 * C.toolspeed, src) && state == 0)
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 9115c934a4..2102eee50e 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
/obj/item/clothing
name = "clothing"
siemens_coefficient = 0.9
@@ -1092,3 +1093,2194 @@
/obj/item/clothing/under/rank/New()
sensor_mode = pick(0,1,2,3)
..()
+||||||| parent of e4b8407fdb... Merge pull request #10908 from MarinaGryphon/spannening
+/obj/item/clothing
+ name = "clothing"
+ siemens_coefficient = 0.9
+ drop_sound = 'sound/items/drop/clothing.ogg'
+ pickup_sound = 'sound/items/pickup/clothing.ogg'
+ var/list/species_restricted = null //Only these species can wear this kit.
+ var/gunshot_residue //Used by forensics.
+
+ var/list/accessories
+ var/list/valid_accessory_slots
+ var/list/restricted_accessory_slots
+ var/list/starting_accessories
+
+ var/flash_protection = FLASH_PROTECTION_NONE
+ var/tint = TINT_NONE
+ var/list/enables_planes //Enables these planes in the wearing mob's plane_holder
+ var/list/plane_slots //But only if it's equipped into this specific slot
+
+ /*
+ Sprites used when the clothing item is refit. This is done by setting icon_override.
+ For best results, if this is set then sprite_sheets should be null and vice versa, but that is by no means necessary.
+ Ideally, sprite_sheets_refit should be used for "hard" clothing items that can't change shape very well to fit the wearer (e.g. helmets, hardsuits),
+ while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. aliens wearing jumpsuits).
+ */
+ var/list/sprite_sheets_refit = null
+ var/ear_protection = 0
+ var/blood_sprite_state
+
+ var/index //null by default, if set, will change which dmi it uses
+
+ var/update_icon_define = null // Only needed if you've got multiple files for the same type of clothing
+
+ var/polychromic = FALSE //VOREStation edit
+
+//Updates the icons of the mob wearing the clothing item, if any.
+/obj/item/clothing/proc/update_clothing_icon()
+ return
+
+// Aurora forensics port.
+/obj/item/clothing/clean_blood()
+ . = ..()
+ gunshot_residue = null
+
+
+/obj/item/clothing/New()
+ ..()
+ if(starting_accessories)
+ for(var/T in starting_accessories)
+ var/obj/item/clothing/accessory/tie = new T(src)
+ src.attach_accessory(null, tie)
+ set_clothing_index()
+
+ //VOREStation edit start
+ if(polychromic)
+ verbs |= /obj/item/clothing/proc/change_color
+ //VOREStation edit start
+
+/obj/item/clothing/update_icon()
+ cut_overlays() //This removes all the overlays on the sprite and then goes down a checklist adding them as required.
+ if(blood_DNA)
+ add_blood()
+ . = ..()
+
+/obj/item/clothing/equipped(var/mob/user,var/slot)
+ ..()
+ if(enables_planes)
+ user.recalculate_vis()
+
+/obj/item/clothing/dropped(var/mob/user)
+ ..()
+ if(enables_planes)
+ user.recalculate_vis()
+
+//BS12: Species-restricted clothing check.
+/obj/item/clothing/mob_can_equip(M as mob, slot, disable_warning = FALSE)
+
+ //if we can't equip the item anyway, don't bother with species_restricted (cuts down on spam)
+ if (!..())
+ return 0
+
+ if(LAZYLEN(species_restricted) && istype(M,/mob/living/carbon/human))
+ var/exclusive = null
+ var/wearable = null
+ var/mob/living/carbon/human/H = M
+
+ if("exclude" in species_restricted)
+ exclusive = 1
+
+ if(H.species)
+ if(exclusive)
+ if(!(H.species.get_bodytype(H) in species_restricted))
+ wearable = 1
+ else
+ if(H.species.get_bodytype(H) in species_restricted)
+ wearable = 1
+
+ if(!wearable && !(slot in list(slot_l_store, slot_r_store, slot_s_store)))
+ to_chat(H, "Your species cannot wear [src].")
+ return 0
+ return 1
+
+/obj/item/clothing/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
+ . = ..()
+ if((. == 0) && LAZYLEN(accessories))
+ for(var/obj/item/I in accessories)
+ var/check = I.handle_shield(user, damage, damage_source, attacker, def_zone, attack_text)
+
+ if(check != 0) // Projectiles sometimes use negatives IIRC, 0 is only returned if something is not blocked.
+ . = check
+ break
+
+// For now, these two temp procs only return TRUE or FALSE if they can provide resistance to a given temperature.
+/obj/item/clothing/proc/handle_low_temperature(var/tempcheck = T20C)
+ . = FALSE
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ if(C.handle_low_temperature(tempcheck))
+ . = TRUE
+
+ if(min_cold_protection_temperature && min_cold_protection_temperature <= tempcheck)
+ . = TRUE
+
+/obj/item/clothing/proc/handle_high_temperature(var/tempcheck = T20C)
+ . = FALSE
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ if(C.handle_high_temperature(tempcheck))
+ . = TRUE
+
+ if(max_heat_protection_temperature && max_heat_protection_temperature >= tempcheck)
+ . = TRUE
+
+// Returns the relative flag-vars for covered protection.
+/obj/item/clothing/proc/get_cold_protection_flags()
+ . = cold_protection
+
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ . |= C.get_cold_protection_flags()
+
+/obj/item/clothing/proc/get_heat_protection_flags()
+ . = heat_protection
+
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ . |= C.get_heat_protection_flags()
+
+/obj/item/clothing/proc/refit_for_species(var/target_species)
+ if(!species_restricted)
+ return //this item doesn't use the species_restricted system
+
+ //Set species_restricted list
+ switch(target_species)
+ //VOREStation Edit Start
+ if(SPECIES_HUMAN, SPECIES_SKRELL) //humanoid bodytypes
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
+ if(SPECIES_UNATHI)
+ species_restricted = list(SPECIES_UNATHI, SPECIES_XENOHYBRID)
+ if(SPECIES_VULPKANIN)
+ species_restricted = list(SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_FENNEC)
+ if(SPECIES_SERGAL)
+ species_restricted = list(SPECIES_SERGAL, SPECIES_NEVREAN)
+ //VOREStation Edit End
+ else
+ species_restricted = list(target_species)
+
+ //Set icon
+ if (sprite_sheets_refit && (target_species in sprite_sheets_refit))
+ sprite_sheets[target_species] = sprite_sheets_refit[target_species]
+
+ if (sprite_sheets_obj && (target_species in sprite_sheets_obj))
+ icon = sprite_sheets_obj[target_species]
+ else
+ icon = initial(icon)
+
+//VOREStation edit start
+/obj/item/clothing/proc/change_color()
+ set name = "Change Color"
+ set category = "Object"
+ set desc = "Change the color of the clothing."
+ set src in usr
+
+ if(usr.stat || usr.restrained() || usr.incapacitated())
+ return
+
+ var/new_color = input(usr, "Pick a new color", "Color", color) as color|null
+
+ if(new_color && (new_color != color))
+ color = new_color
+ update_icon()
+ update_clothing_icon()
+//VOREStation edit end
+
+/obj/item/clothing/head/helmet/refit_for_species(var/target_species)
+ if(!species_restricted)
+ return //this item doesn't use the species_restricted system
+
+ //Set species_restricted list
+ switch(target_species)
+ //VOREStation Edit Start
+ if(SPECIES_HUMAN)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
+ if(SPECIES_SKRELL)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
+ if(SPECIES_UNATHI)
+ species_restricted = list(SPECIES_UNATHI, SPECIES_XENOHYBRID)
+ if(SPECIES_VULPKANIN)
+ species_restricted = list(SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_FENNEC)
+ if(SPECIES_SERGAL)
+ species_restricted = list(SPECIES_SERGAL, SPECIES_NEVREAN)
+ //VOREStation Edit End
+ else
+ species_restricted = list(target_species)
+
+ //Set icon
+ if (sprite_sheets_refit && (target_species in sprite_sheets_refit))
+ sprite_sheets[target_species] = sprite_sheets_refit[target_species]
+
+ if (sprite_sheets_obj && (target_species in sprite_sheets_obj))
+ icon = sprite_sheets_obj[target_species]
+ else
+ icon = initial(icon)
+
+///////////////////////////////////////////////////////////////////////
+// Ears: headsets, earmuffs and tiny objects
+/obj/item/clothing/ears
+ name = "ears"
+ w_class = ITEMSIZE_TINY
+ throwforce = 2
+ slot_flags = SLOT_EARS
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/ears.dmi')
+
+/obj/item/clothing/ears/attack_hand(mob/user as mob)
+ if (!user) return
+
+ if (src.loc != user || !istype(user,/mob/living/carbon/human))
+ ..()
+ return
+
+ var/mob/living/carbon/human/H = user
+ if(H.l_ear != src && H.r_ear != src)
+ ..()
+ return
+
+ if(!canremove)
+ return
+
+ var/obj/item/clothing/ears/O
+ if(slot_flags & SLOT_TWOEARS )
+ O = (H.l_ear == src ? H.r_ear : H.l_ear)
+ user.u_equip(O)
+ if(!istype(src,/obj/item/clothing/ears/offear))
+ qdel(O)
+ O = src
+ else
+ O = src
+
+ user.unEquip(src)
+
+ if (O)
+ user.put_in_hands(O)
+ O.add_fingerprint(user)
+
+ if(istype(src,/obj/item/clothing/ears/offear))
+ qdel(src)
+
+/obj/item/clothing/ears/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_ears()
+
+/obj/item/clothing/ears/MouseDrop(var/obj/over_object)
+ if(ishuman(usr))
+ var/mob/living/carbon/human/H = usr
+ // If this covers both ears, we want to return the result of unequipping the primary object, and kill the off-ear one
+ if(slot_flags & SLOT_TWOEARS)
+ var/obj/item/clothing/ears/O = (H.l_ear == src ? H.r_ear : H.l_ear)
+ if(istype(src, /obj/item/clothing/ears/offear))
+ . = O.MouseDrop(over_object)
+ H.drop_from_inventory(src)
+ qdel(src)
+ else
+ . = ..()
+ H.drop_from_inventory(O)
+ qdel(O)
+ else
+ . = ..()
+
+
+/obj/item/clothing/ears/offear
+ name = "Other ear"
+ w_class = ITEMSIZE_HUGE
+ icon = 'icons/mob/screen1_Midnight.dmi'
+ icon_state = "block"
+ slot_flags = SLOT_EARS | SLOT_TWOEARS
+
+/obj/item/clothing/ears/offear/New(var/obj/O)
+ name = O.name
+ desc = O.desc
+ icon = O.icon
+ icon_state = O.icon_state
+ set_dir(O.dir)
+
+////////////////////////////////////////////////////////////////////////////////////////
+//Gloves
+/obj/item/clothing/gloves
+ name = "gloves"
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi',
+ )
+ gender = PLURAL //Carn: for grammarically correct text-parsing
+ w_class = ITEMSIZE_SMALL
+ icon = 'icons/obj/clothing/gloves.dmi'
+ siemens_coefficient = 0.9
+ blood_sprite_state = "bloodyhands"
+ var/wired = 0
+ var/obj/item/weapon/cell/cell = 0
+ var/fingerprint_chance = 0 //How likely the glove is to let fingerprints through
+ var/obj/item/clothing/gloves/ring = null //Covered ring
+ var/mob/living/carbon/human/wearer = null //Used for covered rings when dropping
+ var/glove_level = 2 //What "layer" the glove is on
+ var/overgloves = 0 //Used by gauntlets and arm_guards
+ var/punch_force = 0 //How much damage do these gloves add to a punch?
+ var/punch_damtype = BRUTE //What type of damage does this make fists be?
+ body_parts_covered = HANDS
+ slot_flags = SLOT_GLOVES
+ attack_verb = list("challenged")
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/gloves.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi'
+ )
+ drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
+
+/obj/item/clothing/proc/set_clothing_index()
+ return
+
+/obj/item/clothing/gloves/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_gloves()
+
+/obj/item/clothing/gloves/emp_act(severity)
+ if(cell)
+ cell.emp_act(severity)
+ if(ring)
+ ring.emp_act(severity)
+ ..()
+
+// Called just before an attack_hand(), in mob/UnarmedAttack()
+/obj/item/clothing/gloves/proc/Touch(var/atom/A, var/proximity)
+ return 0 // return 1 to cancel attack_hand()
+
+/*/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user)
+ if(W.is_wirecutter() || istype(W, /obj/item/weapon/scalpel))
+ if (clipped)
+ to_chat(user, "The [src] have already been clipped!")
+ update_icon()
+ return
+
+ playsound(src, W.usesound, 50, 1)
+ user.visible_message("[user] cuts the fingertips off of the [src].","You cut the fingertips off of the [src].")
+
+ clipped = 1
+ name = "modified [name]"
+ desc = "[desc]
They have had the fingertips cut off of them."
+ if("exclude" in species_restricted)
+ species_restricted -= SPECIES_UNATHI
+ species_restricted -= SPECIES_TAJ
+ return
+*/
+
+/obj/item/clothing/gloves/clean_blood()
+ . = ..()
+ transfer_blood = 0
+ update_icon()
+
+/obj/item/clothing/gloves/mob_can_equip(mob/user, slot, disable_warning = FALSE)
+ var/mob/living/carbon/human/H = user
+
+ if(slot && slot == slot_gloves)
+ var/obj/item/clothing/gloves/G = H.gloves
+ if(istype(G))
+ ring = H.gloves
+ if(ring.glove_level >= src.glove_level)
+ to_chat(user, "You are unable to wear \the [src] as \the [H.gloves] are in the way.")
+ ring = null
+ return 0
+ else
+ H.drop_from_inventory(ring) //Remove the ring (or other under-glove item in the hand slot?) so you can put on the gloves.
+ ring.forceMove(src)
+ to_chat(user, "You slip \the [src] on over \the [src.ring].")
+ if(!(flags & THICKMATERIAL))
+ punch_force += ring.punch_force
+ else
+ ring = null
+
+ if(!..())
+ if(ring) //Put the ring back on if the check fails.
+ if(H.equip_to_slot_if_possible(ring, slot_gloves))
+ src.ring = null
+ punch_force = initial(punch_force)
+ return 0
+
+ wearer = H //TODO clean this when magboots are cleaned
+ return 1
+
+/obj/item/clothing/gloves/dropped()
+ ..()
+
+ if(!wearer)
+ return
+
+ var/mob/living/carbon/human/H = wearer
+ if(ring && istype(H))
+ if(!H.equip_to_slot_if_possible(ring, slot_gloves))
+ ring.forceMove(get_turf(src))
+ src.ring = null
+ punch_force = initial(punch_force)
+ wearer = null
+
+/obj/item/clothing/gloves
+ var/datum/unarmed_attack/special_attack = null //do the gloves have a special unarmed attack?
+ var/special_attack_type = null
+
+/obj/item/clothing/gloves/New()
+ ..()
+ if(special_attack_type && ispath(special_attack_type))
+ special_attack = new special_attack_type
+
+
+
+/////////////////////////////////////////////////////////////////////
+//Rings
+
+/obj/item/clothing/gloves/ring
+ name = "ring"
+ w_class = ITEMSIZE_TINY
+ icon = 'icons/obj/clothing/rings.dmi'
+ gender = NEUTER
+ species_restricted = list("exclude", SPECIES_DIONA)
+ siemens_coefficient = 1
+ glove_level = 1
+ fingerprint_chance = 100
+ punch_force = 2
+ body_parts_covered = 0
+ drop_sound = 'sound/items/drop/ring.ogg'
+ pickup_sound = 'sound/items/pickup/ring.ogg'
+
+///////////////////////////////////////////////////////////////////////
+//Head
+/obj/item/clothing/head
+ name = "head"
+ icon = 'icons/obj/clothing/hats.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_hats.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_hats.dmi',
+ )
+ body_parts_covered = HEAD
+ slot_flags = SLOT_HEAD
+ w_class = ITEMSIZE_SMALL
+ blood_sprite_state = "helmetblood"
+
+ light_system = MOVABLE_LIGHT_DIRECTIONAL
+ light_cone_y_offset = 11
+
+ var/light_overlay = "helmet_light"
+ var/image/helmet_light
+
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/head.dmi'
+ )
+ drop_sound = 'sound/items/drop/hat.ogg'
+ pickup_sound = 'sound/items/pickup/hat.ogg'
+
+/obj/item/clothing/head/attack_self(mob/user)
+ if(light_range)
+ if(!isturf(user.loc))
+ to_chat(user, "You cannot toggle the light while in this [user.loc]")
+ return
+ update_flashlight(user)
+ to_chat(user, "You [light_on ? "enable" : "disable"] the helmet light.")
+ else
+ return ..(user)
+
+/obj/item/clothing/head/proc/update_flashlight(var/mob/user = null)
+ set_light_on(!light_on)
+
+ if(light_system == STATIC_LIGHT)
+ update_light()
+
+ update_icon(user)
+ user.update_action_buttons()
+
+/obj/item/clothing/head/attack_ai(var/mob/user)
+ if(!mob_wear_hat(user))
+ return ..()
+
+/obj/item/clothing/head/attack_generic(var/mob/user)
+ if(!mob_wear_hat(user))
+ return ..()
+
+/obj/item/clothing/head/proc/mob_wear_hat(var/mob/user)
+ if(!Adjacent(user))
+ return 0
+ var/success
+ if(istype(user, /mob/living/silicon/robot/drone))
+ var/mob/living/silicon/robot/drone/D = user
+ if(D.hat)
+ success = 2
+ else
+ D.wear_hat(src)
+ success = 1
+ else if(istype(user, /mob/living/carbon/alien/diona))
+ var/mob/living/carbon/alien/diona/D = user
+ if(D.hat)
+ success = 2
+ else
+ D.wear_hat(src)
+ success = 1
+
+ if(!success)
+ return 0
+ else if(success == 2)
+ to_chat(user, "You are already wearing a hat.")
+ else if(success == 1)
+ to_chat(user, "You crawl under \the [src].")
+ return 1
+
+/obj/item/clothing/head/update_icon(var/mob/user)
+ var/mob/living/carbon/human/H
+ if(ishuman(user))
+ H = user
+
+ if(light_on)
+ // Generate object icon.
+ if(!light_overlay_cache["[light_overlay]_icon"])
+ light_overlay_cache["[light_overlay]_icon"] = image(icon = 'icons/obj/light_overlays.dmi', icon_state = "[light_overlay]")
+ helmet_light = light_overlay_cache["[light_overlay]_icon"]
+ add_overlay(helmet_light)
+
+ // Generate and cache the on-mob icon, which is used in update_inv_head().
+ var/body_type = (H && H.species.get_bodytype(H))
+ var/cache_key = "[light_overlay][body_type && sprite_sheets[body_type] ? "_[body_type]" : ""]"
+ if(!light_overlay_cache[cache_key])
+ var/use_icon = LAZYACCESS(sprite_sheets,body_type) || 'icons/mob/light_overlays.dmi'
+ light_overlay_cache[cache_key] = image(icon = use_icon, icon_state = "[light_overlay]")
+
+ else if(helmet_light)
+ cut_overlay(helmet_light)
+ helmet_light = null
+
+ user.update_inv_head() //Will redraw the helmet with the light on the mob
+
+/obj/item/clothing/head/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_head()
+
+///////////////////////////////////////////////////////////////////////
+//Mask
+/obj/item/clothing/mask
+ name = "mask"
+ icon = 'icons/obj/clothing/masks.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_masks.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_masks.dmi',
+ )
+ body_parts_covered = HEAD
+ slot_flags = SLOT_MASK
+ body_parts_covered = FACE|EYES
+ blood_sprite_state = "maskblood"
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/masks.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/masks.dmi',
+ SPECIES_TAJ = 'icons/mob/species/tajaran/mask.dmi',
+ SPECIES_UNATHI = 'icons/mob/species/unathi/mask.dmi'
+ )
+
+ var/voicechange = 0
+ var/list/say_messages
+ var/list/say_verbs
+
+ drop_sound = "generic_drop"
+ pickup_sound = "generic_pickup"
+
+/obj/item/clothing/mask/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_wear_mask()
+
+/obj/item/clothing/mask/proc/filter_air(datum/gas_mixture/air)
+ return
+
+///////////////////////////////////////////////////////////////////////
+//Shoes
+/obj/item/clothing/shoes
+ name = "shoes"
+ icon = 'icons/obj/clothing/shoes.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_shoes.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_shoes.dmi',
+ )
+ desc = "Comfortable-looking shoes."
+ gender = PLURAL //Carn: for grammarically correct text-parsing
+ siemens_coefficient = 0.9
+ body_parts_covered = FEET
+ slot_flags = SLOT_FEET
+ blood_sprite_state = "shoeblood"
+
+ var/can_hold_knife = 0
+ var/obj/item/holding
+
+ var/shoes_under_pants = 0
+
+ var/water_speed = 0 //Speed boost/decrease in water, lower/negative values mean more speed
+ var/snow_speed = 0 //Speed boost/decrease on snow, lower/negative values mean more speed
+ var/rock_climbing = FALSE // If true, allows climbing cliffs with clickdrag.
+
+ var/step_volume_mod = 1 //How quiet or loud footsteps in this shoe are
+
+ permeability_coefficient = 0.50
+ slowdown = SHOES_SLOWDOWN
+ force = 2
+ var/overshoes = 0
+ species_restricted = list("exclude",SPECIES_TESHARI, SPECIES_VOX)
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/shoes.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi'
+ )
+ drop_sound = 'sound/items/drop/shoes.ogg'
+ pickup_sound = 'sound/items/pickup/shoes.ogg'
+
+/obj/item/clothing/shoes/proc/draw_knife()
+ set name = "Draw Boot Knife"
+ set desc = "Pull out your boot knife."
+ set category = "IC"
+ set src in usr
+
+ if(usr.stat || usr.restrained() || usr.incapacitated())
+ return
+
+ holding.forceMove(get_turf(usr))
+
+ if(usr.put_in_hands(holding))
+ usr.visible_message("\The [usr] pulls a knife out of their boot!")
+ playsound(src, 'sound/weapons/holster/sheathout.ogg', 25)
+ holding = null
+ cut_overlay("[icon_state]_knife")
+ else
+ to_chat(usr, "Your need an empty, unbroken hand to do that.")
+ holding.forceMove(src)
+
+ if(!holding)
+ verbs -= /obj/item/clothing/shoes/proc/draw_knife
+
+ update_icon()
+ return
+
+/obj/item/clothing/shoes/attack_hand(var/mob/living/M)
+ if(can_hold_knife == 1 && holding && src.loc == M)
+ draw_knife()
+ return
+ ..()
+
+/obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user)
+ if((can_hold_knife == 1) && (istype(I, /obj/item/weapon/material/shard) || \
+ istype(I, /obj/item/weapon/material/butterfly) || \
+ istype(I, /obj/item/weapon/material/kitchen/utensil) || \
+ istype(I, /obj/item/weapon/material/knife/tacknife)))
+ if(holding)
+ to_chat(user, "\The [src] is already holding \a [holding].")
+ return
+ user.unEquip(I)
+ I.forceMove(src)
+ holding = I
+ user.visible_message("\The [user] shoves \the [I] into \the [src].")
+ verbs |= /obj/item/clothing/shoes/proc/draw_knife
+ update_icon()
+ else
+ return ..()
+
+/obj/item/clothing/shoes/verb/toggle_layer()
+ set name = "Switch Shoe Layer"
+ set category = "Object"
+
+ if(shoes_under_pants == -1)
+ to_chat(usr, "\The [src] cannot be worn above your suit!")
+ return
+ shoes_under_pants = !shoes_under_pants
+ update_icon()
+
+/obj/item/clothing/shoes/update_icon()
+ . = ..()
+ if(holding)
+ add_overlay("[icon_state]_knife")
+ if(contaminated)
+ add_overlay(contamination_overlay)
+ if(gurgled) //VOREStation Edit Start
+ decontaminate()
+ gurgle_contaminate() //VOREStation Edit End
+ if(ismob(usr))
+ var/mob/M = usr
+ M.update_inv_shoes()
+
+/obj/item/clothing/shoes/clean_blood()
+ update_icon()
+ return ..()
+
+/obj/item/clothing/shoes/proc/handle_movement(var/turf/walking, var/running)
+ if(prob(1) && !recent_squish) //VOREStation edit begin
+ recent_squish = 1
+ spawn(100)
+ recent_squish = 0
+ for(var/mob/living/M in contents)
+ var/emote = pick(inside_emotes)
+ to_chat(M,emote) //VOREStation edit end
+ return
+
+/obj/item/clothing/shoes/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_shoes()
+
+
+///////////////////////////////////////////////////////////////////////
+//Suit
+/obj/item/clothing/suit
+ icon = 'icons/obj/clothing/suits.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_suits.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_suits.dmi',
+ )
+ name = "suit"
+ var/fire_resist = T0C+100
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
+ allowed = list(/obj/item/weapon/tank/emergency/oxygen)
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ slot_flags = SLOT_OCLOTHING
+ var/blood_overlay_type = "suit"
+ blood_sprite_state = "suitblood" //Defaults to the suit's blood overlay, so that some blood renders instead of no blood.
+
+ var/taurized = FALSE
+ siemens_coefficient = 0.9
+ w_class = ITEMSIZE_NORMAL
+ preserve_item = 1
+ equip_sound = 'sound/items/jumpsuit_equip.ogg'
+
+
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/suit.dmi'
+ )
+
+ valid_accessory_slots = (ACCESSORY_SLOT_OVER | ACCESSORY_SLOT_ARMBAND)
+ restricted_accessory_slots = (ACCESSORY_SLOT_ARMBAND)
+
+/obj/item/clothing/suit/set_clothing_index()
+ ..()
+
+ if(index && !icon_override)
+ icon = new /icon("icons/obj/clothing/suits_[index].dmi")
+ item_icons = list(
+ slot_l_hand_str = new /icon("icons/mob/items/lefthand_suits_[index].dmi"),
+ slot_r_hand_str = new /icon("icons/mob/items/righthand_suits_[index].dmi"),
+ )
+
+ return 1
+
+ return 0
+
+/obj/item/clothing/suit/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_wear_suit()
+
+ set_clothing_index()
+
+/obj/item/clothing/suit/equipped(var/mob/user, var/slot)
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if((taurized && !istaurtail(H.tail_style)) || (!taurized && istaurtail(H.tail_style)))
+ taurize(user)
+
+ return ..()
+
+/obj/item/clothing/suit/proc/taurize(var/mob/living/carbon/human/Taur)
+ if(istaurtail(Taur.tail_style))
+ var/datum/sprite_accessory/tail/taur/taurtail = Taur.tail_style
+ if(taurtail.suit_sprites && (get_worn_icon_state(slot_wear_suit_str) in cached_icon_states(taurtail.suit_sprites)))
+ icon_override = taurtail.suit_sprites
+ taurized = TRUE
+
+ if(!taurized)
+ icon_override = initial(icon_override)
+ taurized = FALSE
+
+// Taur suits need to be shifted so its centered on their taur half.
+/obj/item/clothing/suit/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask)
+ var/image/standing = ..()
+ if(taurized) //Special snowflake var on suits
+ standing.pixel_x = -16
+ standing.layer = BODY_LAYER + 15 // 15 is above tail layer, so will not be covered by taurbody.
+ return standing
+
+/obj/item/clothing/suit/apply_accessories(var/image/standing)
+ if(LAZYLEN(accessories) && taurized)
+ for(var/obj/item/clothing/accessory/A in accessories)
+ var/image/I = new(A.get_mob_overlay())
+ I.pixel_x = 16 //Opposite of the pixel_x on the suit (-16) from taurization to cancel it out and puts the accessory in the correct place on the body.
+ standing.add_overlay(I)
+ else
+ return ..()
+
+
+///////////////////////////////////////////////////////////////////////
+//Under clothing
+/obj/item/clothing/under
+ icon = 'icons/obj/clothing/uniforms.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_uniforms.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_uniforms.dmi',
+ )
+ name = "under"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ permeability_coefficient = 0.90
+ slot_flags = SLOT_ICLOTHING
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ equip_sound = 'sound/items/jumpsuit_equip.ogg'
+ w_class = ITEMSIZE_NORMAL
+ show_messages = 1
+ blood_sprite_state = "uniformblood"
+
+ var/has_sensor = 1 //For the crew computer 2 = unable to change mode
+ var/sensor_mode = 0
+ /*
+ 1 = Report living/dead
+ 2 = Report detailed damages
+ 3 = Report location
+ */
+ var/displays_id = 1
+ var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
+ var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/uniform.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi'
+ )
+
+ //convenience var for defining the icon state for the overlay used when the clothing is worn.
+ //Also used by rolling/unrolling.
+ var/worn_state = null
+ valid_accessory_slots = (\
+ ACCESSORY_SLOT_UTILITY\
+ |ACCESSORY_SLOT_WEAPON\
+ |ACCESSORY_SLOT_ARMBAND\
+ |ACCESSORY_SLOT_DECOR\
+ |ACCESSORY_SLOT_MEDAL\
+ |ACCESSORY_SLOT_INSIGNIA\
+ |ACCESSORY_SLOT_TIE\
+ |ACCESSORY_SLOT_RANK\
+ |ACCESSORY_SLOT_DEPT\
+ |ACCESSORY_SLOT_OVER)
+ restricted_accessory_slots = (\
+ ACCESSORY_SLOT_UTILITY\
+ |ACCESSORY_SLOT_WEAPON\
+ |ACCESSORY_SLOT_ARMBAND\
+ |ACCESSORY_SLOT_TIE\
+ |ACCESSORY_SLOT_RANK\
+ |ACCESSORY_SLOT_DEPT\
+ |ACCESSORY_SLOT_OVER)
+
+ var/icon/rolled_down_icon = 'icons/mob/uniform_rolled_down.dmi'
+ var/icon/rolled_down_sleeves_icon = 'icons/mob/uniform_sleeves_rolled.dmi'
+
+/obj/item/clothing/under/attack_hand(var/mob/user)
+ if(LAZYLEN(accessories))
+ ..()
+ if ((ishuman(usr) || issmall(usr)) && src.loc == user)
+ return
+ ..()
+
+/obj/item/clothing/under/New()
+ ..()
+ if(worn_state)
+ if(!item_state_slots)
+ item_state_slots = list()
+ item_state_slots[slot_w_uniform_str] = worn_state
+ else
+ worn_state = icon_state
+
+ //autodetect rollability
+ if(rolled_down < 0)
+ if(("[worn_state]_d_s" in cached_icon_states(icon)) || ("[worn_state]_s" in cached_icon_states(rolled_down_icon)) || ("[worn_state]_d_s" in cached_icon_states(icon_override)))
+ rolled_down = 0
+
+ if(rolled_down == -1)
+ verbs -= /obj/item/clothing/under/verb/rollsuit
+ if(rolled_sleeves == -1)
+ verbs -= /obj/item/clothing/under/verb/rollsleeves
+
+/obj/item/clothing/under/set_clothing_index()
+ ..()
+
+ if(index && !icon_override)
+ icon = new /icon("icons/obj/clothing/uniforms_[index].dmi")
+
+ item_icons = list(
+ slot_l_hand_str = new /icon("icons/mob/items/lefthand_uniforms_[index].dmi"),
+ slot_r_hand_str = new /icon("icons/mob/items/righthand_uniforms_[index].dmi"),
+ )
+
+ rolled_down_icon = new /icon("icons/mob/uniform_rolled_down_[index].dmi")
+ rolled_down_sleeves_icon = new /icon("icons/mob/uniform_sleeves_rolled_[index].dmi")
+ return 1
+
+ return 0
+
+/obj/item/clothing/under/proc/update_rolldown_status()
+ var/mob/living/carbon/human/H
+ if(istype(src.loc, /mob/living/carbon/human))
+ H = src.loc
+
+ var/icon/under_icon
+ if(icon_override)
+ under_icon = icon_override
+ else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype(H)])
+ under_icon = sprite_sheets[H.species.get_bodytype(H)]
+ else if(item_icons && item_icons[slot_w_uniform_str])
+ under_icon = item_icons[slot_w_uniform_str]
+ else if ("[worn_state]_s" in cached_icon_states(rolled_down_icon))
+ under_icon = rolled_down_icon
+
+ // The _s is because the icon update procs append it.
+ if((under_icon == rolled_down_icon && ("[worn_state]_s" in cached_icon_states(under_icon))) || ("[worn_state]_d_s" in cached_icon_states(under_icon)))
+ if(rolled_down != 1)
+ rolled_down = 0
+ else
+ rolled_down = -1
+ if(H) update_clothing_icon()
+
+/obj/item/clothing/under/proc/update_rollsleeves_status()
+ var/mob/living/carbon/human/H
+ if(istype(src.loc, /mob/living/carbon/human))
+ H = src.loc
+
+ var/icon/under_icon
+ if(icon_override)
+ under_icon = icon_override
+ else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype(H)])
+ under_icon = sprite_sheets[H.species.get_bodytype(H)]
+ else if(item_icons && item_icons[slot_w_uniform_str])
+ under_icon = item_icons[slot_w_uniform_str]
+ else if ("[worn_state]_s" in cached_icon_states(rolled_down_sleeves_icon))
+ under_icon = rolled_down_sleeves_icon
+ else if(index)
+ under_icon = new /icon("[INV_W_UNIFORM_DEF_ICON]_[index].dmi")
+
+ // The _s is because the icon update procs append it.
+ if((under_icon == rolled_down_sleeves_icon && ("[worn_state]_s" in cached_icon_states(under_icon))) || ("[worn_state]_r_s" in cached_icon_states(under_icon)))
+ if(rolled_sleeves != 1)
+ rolled_sleeves = 0
+ else
+ rolled_sleeves = -1
+ if(H) update_clothing_icon()
+
+/obj/item/clothing/under/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_w_uniform()
+
+ set_clothing_index()
+
+
+/obj/item/clothing/under/examine(mob/user)
+ . = ..()
+ switch(src.sensor_mode)
+ if(0)
+ . += "Its sensors appear to be disabled."
+ if(1)
+ . += "Its binary life sensors appear to be enabled."
+ if(2)
+ . += "Its vital tracker appears to be enabled."
+ if(3)
+ . += "Its vital tracker and tracking beacon appear to be enabled."
+
+/obj/item/clothing/under/proc/set_sensors(mob/usr as mob)
+ var/mob/M = usr
+ if (istype(M, /mob/observer)) return
+ if (usr.stat || usr.restrained()) return
+ if(has_sensor >= 2)
+ to_chat(usr, "The controls are locked.")
+ return 0
+ if(has_sensor <= 0)
+ to_chat(usr, "This suit does not have any sensors.")
+ return 0
+
+ var/list/modes = list("Off", "Binary sensors", "Vitals tracker", "Tracking beacon")
+ var/switchMode = tgui_input_list(usr, "Select a sensor mode:", "Suit Sensor Mode", modes)
+ if(get_dist(usr, src) > 1)
+ to_chat(usr, "You have moved too far away.")
+ return
+ sensor_mode = modes.Find(switchMode) - 1
+
+ if (src.loc == usr)
+ switch(sensor_mode)
+ if(0)
+ usr.visible_message("[usr] adjusts their sensors.", "You disable your suit's remote sensing equipment.")
+ if(1)
+ usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report whether you are live or dead.")
+ if(2)
+ usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report your vital lifesigns.")
+ if(3)
+ usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report your vital lifesigns as well as your coordinate position.")
+
+ else if (istype(src.loc, /mob))
+ usr.visible_message("[usr] adjusts [src.loc]'s sensors.", "You adjust [src.loc]'s sensors.")
+
+/obj/item/clothing/under/verb/toggle()
+ set name = "Toggle Suit Sensors"
+ set category = "Object"
+ set src in usr
+ set_sensors(usr)
+
+/obj/item/clothing/under/verb/rollsuit()
+ set name = "Roll Down Jumpsuit"
+ set category = "Object"
+ set src in usr
+ if(!istype(usr, /mob/living)) return
+ if(usr.stat) return
+
+ update_rolldown_status()
+ if(rolled_down == -1)
+ to_chat(usr, "You cannot roll down [src]!")
+ return
+ if((rolled_sleeves == 1) && !(rolled_down))
+ rolled_sleeves = 0
+
+ rolled_down = !rolled_down
+ if(rolled_down)
+ body_parts_covered = initial(body_parts_covered)
+ body_parts_covered &= ~(UPPER_TORSO|ARMS)
+ if("[worn_state]_s" in cached_icon_states(rolled_down_icon))
+ icon_override = rolled_down_icon
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ else
+ item_state_slots[slot_w_uniform_str] = "[worn_state]_d"
+
+ to_chat(usr, "You roll down your [src].")
+ else
+ body_parts_covered = initial(body_parts_covered)
+ if(icon_override == rolled_down_icon)
+ icon_override = initial(icon_override)
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ to_chat(usr, "You roll up your [src].")
+ update_clothing_icon()
+
+/obj/item/clothing/under/verb/rollsleeves()
+ set name = "Roll Up Sleeves"
+ set category = "Object"
+ set src in usr
+ if(!istype(usr, /mob/living)) return
+ if(usr.stat) return
+
+ update_rollsleeves_status()
+ if(rolled_sleeves == -1)
+ to_chat(usr, "You cannot roll up your [src]'s sleeves!")
+ return
+ if(rolled_down == 1)
+ to_chat(usr, "You must roll up your [src] first!")
+ return
+
+ rolled_sleeves = !rolled_sleeves
+ if(rolled_sleeves)
+ body_parts_covered &= ~(ARMS)
+ if("[worn_state]_s" in cached_icon_states(rolled_down_sleeves_icon))
+ icon_override = rolled_down_sleeves_icon
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ else
+ item_state_slots[slot_w_uniform_str] = "[worn_state]_r"
+ to_chat(usr, "You roll up your [src]'s sleeves.")
+ else
+ body_parts_covered = initial(body_parts_covered)
+ if(icon_override == rolled_down_sleeves_icon)
+ icon_override = initial(icon_override)
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ to_chat(usr, "You roll down your [src]'s sleeves.")
+ update_clothing_icon()
+
+/obj/item/clothing/under/rank/New()
+ sensor_mode = pick(0,1,2,3)
+ ..()
+=======
+/obj/item/clothing
+ name = "clothing"
+ siemens_coefficient = 0.9
+ drop_sound = 'sound/items/drop/clothing.ogg'
+ pickup_sound = 'sound/items/pickup/clothing.ogg'
+ var/list/species_restricted = null //Only these species can wear this kit.
+ var/gunshot_residue //Used by forensics.
+
+ var/list/accessories
+ var/list/valid_accessory_slots
+ var/list/restricted_accessory_slots
+ var/list/starting_accessories
+
+ var/flash_protection = FLASH_PROTECTION_NONE
+ var/tint = TINT_NONE
+ var/list/enables_planes //Enables these planes in the wearing mob's plane_holder
+ var/list/plane_slots //But only if it's equipped into this specific slot
+
+ /*
+ Sprites used when the clothing item is refit. This is done by setting icon_override.
+ For best results, if this is set then sprite_sheets should be null and vice versa, but that is by no means necessary.
+ Ideally, sprite_sheets_refit should be used for "hard" clothing items that can't change shape very well to fit the wearer (e.g. helmets, hardsuits),
+ while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. aliens wearing jumpsuits).
+ */
+ var/list/sprite_sheets_refit = null
+ var/ear_protection = 0
+ var/blood_sprite_state
+
+ var/index //null by default, if set, will change which dmi it uses
+
+ var/update_icon_define = null // Only needed if you've got multiple files for the same type of clothing
+
+ var/polychromic = FALSE //VOREStation edit
+
+//Updates the icons of the mob wearing the clothing item, if any.
+/obj/item/clothing/proc/update_clothing_icon()
+ return
+
+// Aurora forensics port.
+/obj/item/clothing/clean_blood()
+ . = ..()
+ gunshot_residue = null
+
+
+/obj/item/clothing/New()
+ ..()
+ if(starting_accessories)
+ for(var/T in starting_accessories)
+ var/obj/item/clothing/accessory/tie = new T(src)
+ src.attach_accessory(null, tie)
+ set_clothing_index()
+
+ //VOREStation edit start
+ if(polychromic)
+ verbs |= /obj/item/clothing/proc/change_color
+ //VOREStation edit start
+
+/obj/item/clothing/update_icon()
+ cut_overlays() //This removes all the overlays on the sprite and then goes down a checklist adding them as required.
+ if(blood_DNA)
+ add_blood()
+ . = ..()
+
+/obj/item/clothing/equipped(var/mob/user,var/slot)
+ ..()
+ if(enables_planes)
+ user.recalculate_vis()
+
+/obj/item/clothing/dropped(var/mob/user)
+ ..()
+ if(enables_planes)
+ user.recalculate_vis()
+
+//BS12: Species-restricted clothing check.
+/obj/item/clothing/mob_can_equip(M as mob, slot, disable_warning = FALSE)
+
+ //if we can't equip the item anyway, don't bother with species_restricted (cuts down on spam)
+ if (!..())
+ return 0
+
+ if(LAZYLEN(species_restricted) && istype(M,/mob/living/carbon/human))
+ var/exclusive = null
+ var/wearable = null
+ var/mob/living/carbon/human/H = M
+
+ if("exclude" in species_restricted)
+ exclusive = 1
+
+ if(H.species)
+ if(exclusive)
+ if(!(H.species.get_bodytype(H) in species_restricted))
+ wearable = 1
+ else
+ if(H.species.get_bodytype(H) in species_restricted)
+ wearable = 1
+
+ if(!wearable && !(slot in list(slot_l_store, slot_r_store, slot_s_store)))
+ to_chat(H, "Your species cannot wear [src].")
+ return 0
+ return 1
+
+/obj/item/clothing/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
+ . = ..()
+ if((. == 0) && LAZYLEN(accessories))
+ for(var/obj/item/I in accessories)
+ var/check = I.handle_shield(user, damage, damage_source, attacker, def_zone, attack_text)
+
+ if(check != 0) // Projectiles sometimes use negatives IIRC, 0 is only returned if something is not blocked.
+ . = check
+ break
+
+// For now, these two temp procs only return TRUE or FALSE if they can provide resistance to a given temperature.
+/obj/item/clothing/proc/handle_low_temperature(var/tempcheck = T20C)
+ . = FALSE
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ if(C.handle_low_temperature(tempcheck))
+ . = TRUE
+
+ if(min_cold_protection_temperature && min_cold_protection_temperature <= tempcheck)
+ . = TRUE
+
+/obj/item/clothing/proc/handle_high_temperature(var/tempcheck = T20C)
+ . = FALSE
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ if(C.handle_high_temperature(tempcheck))
+ . = TRUE
+
+ if(max_heat_protection_temperature && max_heat_protection_temperature >= tempcheck)
+ . = TRUE
+
+// Returns the relative flag-vars for covered protection.
+/obj/item/clothing/proc/get_cold_protection_flags()
+ . = cold_protection
+
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ . |= C.get_cold_protection_flags()
+
+/obj/item/clothing/proc/get_heat_protection_flags()
+ . = heat_protection
+
+ if(LAZYLEN(accessories))
+ for(var/obj/item/clothing/C in accessories)
+ . |= C.get_heat_protection_flags()
+
+/obj/item/clothing/proc/refit_for_species(var/target_species)
+ if(!species_restricted)
+ return //this item doesn't use the species_restricted system
+
+ //Set species_restricted list
+ switch(target_species)
+ //VOREStation Edit Start
+ if(SPECIES_HUMAN, SPECIES_SKRELL) //humanoid bodytypes
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
+ if(SPECIES_UNATHI)
+ species_restricted = list(SPECIES_UNATHI, SPECIES_XENOHYBRID)
+ if(SPECIES_VULPKANIN)
+ species_restricted = list(SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_FENNEC)
+ if(SPECIES_SERGAL)
+ species_restricted = list(SPECIES_SERGAL, SPECIES_NEVREAN)
+ //VOREStation Edit End
+ else
+ species_restricted = list(target_species)
+
+ //Set icon
+ if (sprite_sheets_refit && (target_species in sprite_sheets_refit))
+ sprite_sheets[target_species] = sprite_sheets_refit[target_species]
+
+ if (sprite_sheets_obj && (target_species in sprite_sheets_obj))
+ icon = sprite_sheets_obj[target_species]
+ else
+ icon = initial(icon)
+
+//VOREStation edit start
+/obj/item/clothing/proc/change_color()
+ set name = "Change Color"
+ set category = "Object"
+ set desc = "Change the color of the clothing."
+ set src in usr
+
+ if(usr.stat || usr.restrained() || usr.incapacitated())
+ return
+
+ var/new_color = input(usr, "Pick a new color", "Color", color) as color|null
+
+ if(new_color && (new_color != color))
+ color = new_color
+ update_icon()
+ update_clothing_icon()
+//VOREStation edit end
+
+/obj/item/clothing/head/helmet/refit_for_species(var/target_species)
+ if(!species_restricted)
+ return //this item doesn't use the species_restricted system
+
+ //Set species_restricted list
+ switch(target_species)
+ //VOREStation Edit Start
+ if(SPECIES_HUMAN)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
+ if(SPECIES_SKRELL)
+ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
+ if(SPECIES_UNATHI)
+ species_restricted = list(SPECIES_UNATHI, SPECIES_XENOHYBRID)
+ if(SPECIES_VULPKANIN)
+ species_restricted = list(SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_FENNEC)
+ if(SPECIES_SERGAL)
+ species_restricted = list(SPECIES_SERGAL, SPECIES_NEVREAN)
+ //VOREStation Edit End
+ else
+ species_restricted = list(target_species)
+
+ //Set icon
+ if (sprite_sheets_refit && (target_species in sprite_sheets_refit))
+ sprite_sheets[target_species] = sprite_sheets_refit[target_species]
+
+ if (sprite_sheets_obj && (target_species in sprite_sheets_obj))
+ icon = sprite_sheets_obj[target_species]
+ else
+ icon = initial(icon)
+
+///////////////////////////////////////////////////////////////////////
+// Ears: headsets, earmuffs and tiny objects
+/obj/item/clothing/ears
+ name = "ears"
+ w_class = ITEMSIZE_TINY
+ throwforce = 2
+ slot_flags = SLOT_EARS
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/ears.dmi')
+
+/obj/item/clothing/ears/attack_hand(mob/user as mob)
+ if (!user) return
+
+ if (src.loc != user || !istype(user,/mob/living/carbon/human))
+ ..()
+ return
+
+ var/mob/living/carbon/human/H = user
+ if(H.l_ear != src && H.r_ear != src)
+ ..()
+ return
+
+ if(!canremove)
+ return
+
+ var/obj/item/clothing/ears/O
+ if(slot_flags & SLOT_TWOEARS )
+ O = (H.l_ear == src ? H.r_ear : H.l_ear)
+ user.u_equip(O)
+ if(!istype(src,/obj/item/clothing/ears/offear))
+ qdel(O)
+ O = src
+ else
+ O = src
+
+ user.unEquip(src)
+
+ if (O)
+ user.put_in_hands(O)
+ O.add_fingerprint(user)
+
+ if(istype(src,/obj/item/clothing/ears/offear))
+ qdel(src)
+
+/obj/item/clothing/ears/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_ears()
+
+/obj/item/clothing/ears/MouseDrop(var/obj/over_object)
+ if(ishuman(usr))
+ var/mob/living/carbon/human/H = usr
+ // If this covers both ears, we want to return the result of unequipping the primary object, and kill the off-ear one
+ if(slot_flags & SLOT_TWOEARS)
+ var/obj/item/clothing/ears/O = (H.l_ear == src ? H.r_ear : H.l_ear)
+ if(istype(src, /obj/item/clothing/ears/offear))
+ . = O.MouseDrop(over_object)
+ H.drop_from_inventory(src)
+ qdel(src)
+ else
+ . = ..()
+ H.drop_from_inventory(O)
+ qdel(O)
+ else
+ . = ..()
+
+
+/obj/item/clothing/ears/offear
+ name = "Other ear"
+ w_class = ITEMSIZE_HUGE
+ icon = 'icons/mob/screen1_Midnight.dmi'
+ icon_state = "block"
+ slot_flags = SLOT_EARS | SLOT_TWOEARS
+
+/obj/item/clothing/ears/offear/New(var/obj/O)
+ name = O.name
+ desc = O.desc
+ icon = O.icon
+ icon_state = O.icon_state
+ set_dir(O.dir)
+
+////////////////////////////////////////////////////////////////////////////////////////
+//Gloves
+/obj/item/clothing/gloves
+ name = "gloves"
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi',
+ )
+ gender = PLURAL //Carn: for grammarically correct text-parsing
+ w_class = ITEMSIZE_SMALL
+ icon = 'icons/obj/clothing/gloves.dmi'
+ siemens_coefficient = 0.9
+ blood_sprite_state = "bloodyhands"
+ var/wired = 0
+ var/obj/item/weapon/cell/cell = 0
+ var/fingerprint_chance = 0 //How likely the glove is to let fingerprints through
+ var/obj/item/clothing/gloves/ring = null //Covered ring
+ var/mob/living/carbon/human/wearer = null //Used for covered rings when dropping
+ var/glove_level = 2 //What "layer" the glove is on
+ var/overgloves = 0 //Used by gauntlets and arm_guards
+ var/punch_force = 0 //How much damage do these gloves add to a punch?
+ var/punch_damtype = BRUTE //What type of damage does this make fists be?
+ body_parts_covered = HANDS
+ slot_flags = SLOT_GLOVES
+ attack_verb = list("challenged")
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/gloves.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi'
+ )
+ drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
+
+/obj/item/clothing/proc/set_clothing_index()
+ return
+
+/obj/item/clothing/gloves/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_gloves()
+
+/obj/item/clothing/gloves/emp_act(severity)
+ if(cell)
+ cell.emp_act(severity)
+ if(ring)
+ ring.emp_act(severity)
+ ..()
+
+// Called just before an attack_hand(), in mob/UnarmedAttack()
+/obj/item/clothing/gloves/proc/Touch(var/atom/A, var/proximity)
+ return 0 // return 1 to cancel attack_hand()
+
+/*/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user)
+ if(W.is_wirecutter() || istype(W, /obj/item/weapon/scalpel))
+ if (clipped)
+ to_chat(user, "The [src] have already been clipped!")
+ update_icon()
+ return
+
+ playsound(src, W.usesound, 50, 1)
+ user.visible_message("[user] cuts the fingertips off of the [src].","You cut the fingertips off of the [src].")
+
+ clipped = 1
+ name = "modified [name]"
+ desc = "[desc]
They have had the fingertips cut off of them."
+ if("exclude" in species_restricted)
+ species_restricted -= SPECIES_UNATHI
+ species_restricted -= SPECIES_TAJ
+ return
+*/
+
+/obj/item/clothing/gloves/clean_blood()
+ . = ..()
+ transfer_blood = 0
+ update_icon()
+
+/obj/item/clothing/gloves/mob_can_equip(mob/user, slot, disable_warning = FALSE)
+ var/mob/living/carbon/human/H = user
+
+ if(slot && slot == slot_gloves)
+ var/obj/item/clothing/gloves/G = H.gloves
+ if(istype(G))
+ ring = H.gloves
+ if(ring.glove_level >= src.glove_level)
+ to_chat(user, "You are unable to wear \the [src] as \the [H.gloves] are in the way.")
+ ring = null
+ return 0
+ else
+ H.drop_from_inventory(ring) //Remove the ring (or other under-glove item in the hand slot?) so you can put on the gloves.
+ ring.forceMove(src)
+ to_chat(user, "You slip \the [src] on over \the [src.ring].")
+ if(!(flags & THICKMATERIAL))
+ punch_force += ring.punch_force
+ else
+ ring = null
+
+ if(!..())
+ if(ring) //Put the ring back on if the check fails.
+ if(H.equip_to_slot_if_possible(ring, slot_gloves))
+ src.ring = null
+ punch_force = initial(punch_force)
+ return 0
+
+ wearer = H //TODO clean this when magboots are cleaned
+ return 1
+
+/obj/item/clothing/gloves/dropped()
+ ..()
+
+ if(!wearer)
+ return
+
+ var/mob/living/carbon/human/H = wearer
+ if(ring && istype(H))
+ if(!H.equip_to_slot_if_possible(ring, slot_gloves))
+ ring.forceMove(get_turf(src))
+ src.ring = null
+ punch_force = initial(punch_force)
+ wearer = null
+
+/obj/item/clothing/gloves
+ var/datum/unarmed_attack/special_attack = null //do the gloves have a special unarmed attack?
+ var/special_attack_type = null
+
+/obj/item/clothing/gloves/New()
+ ..()
+ if(special_attack_type && ispath(special_attack_type))
+ special_attack = new special_attack_type
+
+
+
+/////////////////////////////////////////////////////////////////////
+//Rings
+
+/obj/item/clothing/gloves/ring
+ name = "ring"
+ w_class = ITEMSIZE_TINY
+ icon = 'icons/obj/clothing/rings.dmi'
+ gender = NEUTER
+ species_restricted = list("exclude", SPECIES_DIONA)
+ siemens_coefficient = 1
+ glove_level = 1
+ fingerprint_chance = 100
+ punch_force = 2
+ body_parts_covered = 0
+ drop_sound = 'sound/items/drop/ring.ogg'
+ pickup_sound = 'sound/items/pickup/ring.ogg'
+
+///////////////////////////////////////////////////////////////////////
+//Head
+/obj/item/clothing/head
+ name = "head"
+ icon = 'icons/obj/clothing/hats.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_hats.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_hats.dmi',
+ )
+ body_parts_covered = HEAD
+ slot_flags = SLOT_HEAD
+ w_class = ITEMSIZE_SMALL
+ blood_sprite_state = "helmetblood"
+
+ light_system = MOVABLE_LIGHT_DIRECTIONAL
+ light_cone_y_offset = 11
+
+ var/light_overlay = "helmet_light"
+ var/image/helmet_light
+
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/head.dmi'
+ )
+ drop_sound = 'sound/items/drop/hat.ogg'
+ pickup_sound = 'sound/items/pickup/hat.ogg'
+
+/obj/item/clothing/head/attack_self(mob/user)
+ if(light_range)
+ if(!isturf(user.loc))
+ to_chat(user, "You cannot toggle the light while in this [user.loc]")
+ return
+ update_flashlight(user)
+ to_chat(user, "You [light_on ? "enable" : "disable"] the helmet light.")
+ else
+ return ..(user)
+
+/obj/item/clothing/head/proc/update_flashlight(var/mob/user = null)
+ set_light_on(!light_on)
+
+ if(light_system == STATIC_LIGHT)
+ update_light()
+
+ update_icon(user)
+ user.update_action_buttons()
+
+/obj/item/clothing/head/attack_ai(var/mob/user)
+ if(!mob_wear_hat(user))
+ return ..()
+
+/obj/item/clothing/head/attack_generic(var/mob/user)
+ if(!mob_wear_hat(user))
+ return ..()
+
+/obj/item/clothing/head/proc/mob_wear_hat(var/mob/user)
+ if(!Adjacent(user))
+ return 0
+ var/success
+ if(istype(user, /mob/living/silicon/robot/drone))
+ var/mob/living/silicon/robot/drone/D = user
+ if(D.hat)
+ success = 2
+ else
+ D.wear_hat(src)
+ success = 1
+ else if(istype(user, /mob/living/carbon/alien/diona))
+ var/mob/living/carbon/alien/diona/D = user
+ if(D.hat)
+ success = 2
+ else
+ D.wear_hat(src)
+ success = 1
+
+ if(!success)
+ return 0
+ else if(success == 2)
+ to_chat(user, "You are already wearing a hat.")
+ else if(success == 1)
+ to_chat(user, "You crawl under \the [src].")
+ return 1
+
+/obj/item/clothing/head/update_icon(var/mob/user)
+ var/mob/living/carbon/human/H
+ if(ishuman(user))
+ H = user
+
+ if(light_on)
+ // Generate object icon.
+ if(!light_overlay_cache["[light_overlay]_icon"])
+ light_overlay_cache["[light_overlay]_icon"] = image(icon = 'icons/obj/light_overlays.dmi', icon_state = "[light_overlay]")
+ helmet_light = light_overlay_cache["[light_overlay]_icon"]
+ add_overlay(helmet_light)
+
+ // Generate and cache the on-mob icon, which is used in update_inv_head().
+ var/body_type = (H && H.species.get_bodytype(H))
+ var/cache_key = "[light_overlay][body_type && sprite_sheets[body_type] ? "_[body_type]" : ""]"
+ if(!light_overlay_cache[cache_key])
+ var/use_icon = LAZYACCESS(sprite_sheets,body_type) || 'icons/mob/light_overlays.dmi'
+ light_overlay_cache[cache_key] = image(icon = use_icon, icon_state = "[light_overlay]")
+
+ else if(helmet_light)
+ cut_overlay(helmet_light)
+ helmet_light = null
+
+ user.update_inv_head() //Will redraw the helmet with the light on the mob
+
+/obj/item/clothing/head/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_head()
+
+///////////////////////////////////////////////////////////////////////
+//Mask
+/obj/item/clothing/mask
+ name = "mask"
+ icon = 'icons/obj/clothing/masks.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_masks.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_masks.dmi',
+ )
+ body_parts_covered = HEAD
+ slot_flags = SLOT_MASK
+ body_parts_covered = FACE|EYES
+ blood_sprite_state = "maskblood"
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/masks.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/masks.dmi',
+ SPECIES_TAJ = 'icons/mob/species/tajaran/mask.dmi',
+ SPECIES_UNATHI = 'icons/mob/species/unathi/mask.dmi'
+ )
+
+ var/voicechange = 0
+ var/list/say_messages
+ var/list/say_verbs
+
+ drop_sound = "generic_drop"
+ pickup_sound = "generic_pickup"
+
+/obj/item/clothing/mask/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_wear_mask()
+
+/obj/item/clothing/mask/proc/filter_air(datum/gas_mixture/air)
+ return
+
+///////////////////////////////////////////////////////////////////////
+//Shoes
+/obj/item/clothing/shoes
+ name = "shoes"
+ icon = 'icons/obj/clothing/shoes.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_shoes.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_shoes.dmi',
+ )
+ desc = "Comfortable-looking shoes."
+ gender = PLURAL //Carn: for grammarically correct text-parsing
+ siemens_coefficient = 0.9
+ body_parts_covered = FEET
+ slot_flags = SLOT_FEET
+ blood_sprite_state = "shoeblood"
+
+ var/can_hold_knife = 0
+ var/obj/item/holding
+
+ var/shoes_under_pants = 0
+
+ var/water_speed = 0 //Speed boost/decrease in water, lower/negative values mean more speed
+ var/snow_speed = 0 //Speed boost/decrease on snow, lower/negative values mean more speed
+ var/rock_climbing = FALSE // If true, allows climbing cliffs with clickdrag.
+
+ var/step_volume_mod = 1 //How quiet or loud footsteps in this shoe are
+
+ permeability_coefficient = 0.50
+ slowdown = SHOES_SLOWDOWN
+ force = 2
+ var/overshoes = 0
+ species_restricted = list("exclude",SPECIES_TESHARI, SPECIES_VOX)
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/shoes.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi'
+ )
+ drop_sound = 'sound/items/drop/shoes.ogg'
+ pickup_sound = 'sound/items/pickup/shoes.ogg'
+
+/obj/item/clothing/shoes/proc/draw_knife()
+ set name = "Draw Boot Knife"
+ set desc = "Pull out your boot knife."
+ set category = "IC"
+ set src in usr
+
+ if(usr.stat || usr.restrained() || usr.incapacitated())
+ return
+
+ holding.forceMove(get_turf(usr))
+
+ if(usr.put_in_hands(holding))
+ usr.visible_message("\The [usr] pulls a knife out of their boot!")
+ playsound(src, 'sound/weapons/holster/sheathout.ogg', 25)
+ holding = null
+ cut_overlay("[icon_state]_knife")
+ else
+ to_chat(usr, "Your need an empty, unbroken hand to do that.")
+ holding.forceMove(src)
+
+ if(!holding)
+ verbs -= /obj/item/clothing/shoes/proc/draw_knife
+
+ update_icon()
+ return
+
+/obj/item/clothing/shoes/attack_hand(var/mob/living/M)
+ if(can_hold_knife == 1 && holding && src.loc == M)
+ draw_knife()
+ return
+ ..()
+
+/obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user)
+ if((can_hold_knife == 1) && (istype(I, /obj/item/weapon/material/shard) || \
+ istype(I, /obj/item/weapon/material/butterfly) || \
+ istype(I, /obj/item/weapon/material/kitchen/utensil) || \
+ istype(I, /obj/item/weapon/material/knife/tacknife)))
+ if(holding)
+ to_chat(user, "\The [src] is already holding \a [holding].")
+ return
+ user.unEquip(I)
+ I.forceMove(src)
+ holding = I
+ user.visible_message("\The [user] shoves \the [I] into \the [src].")
+ verbs |= /obj/item/clothing/shoes/proc/draw_knife
+ update_icon()
+ else
+ return ..()
+
+/obj/item/clothing/shoes/verb/toggle_layer()
+ set name = "Switch Shoe Layer"
+ set category = "Object"
+
+ if(shoes_under_pants == -1)
+ to_chat(usr, "\The [src] cannot be worn above your suit!")
+ return
+ shoes_under_pants = !shoes_under_pants
+ update_icon()
+
+/obj/item/clothing/shoes/update_icon()
+ . = ..()
+ if(holding)
+ add_overlay("[icon_state]_knife")
+ if(contaminated)
+ add_overlay(contamination_overlay)
+ if(gurgled) //VOREStation Edit Start
+ decontaminate()
+ gurgle_contaminate() //VOREStation Edit End
+ if(ismob(usr))
+ var/mob/M = usr
+ M.update_inv_shoes()
+
+/obj/item/clothing/shoes/clean_blood()
+ update_icon()
+ return ..()
+
+/obj/item/clothing/shoes/proc/handle_movement(var/turf/walking, var/running)
+ if(prob(1) && !recent_squish) //VOREStation edit begin
+ recent_squish = 1
+ spawn(100)
+ recent_squish = 0
+ for(var/mob/living/M in contents)
+ var/emote = pick(inside_emotes)
+ to_chat(M,emote) //VOREStation edit end
+ return
+
+/obj/item/clothing/shoes/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_shoes()
+
+
+///////////////////////////////////////////////////////////////////////
+//Suit
+/obj/item/clothing/suit
+ icon = 'icons/obj/clothing/suits.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_suits.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_suits.dmi',
+ )
+ name = "suit"
+ var/fire_resist = T0C+100
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
+ allowed = list(/obj/item/weapon/tank/emergency/oxygen)
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ slot_flags = SLOT_OCLOTHING
+ var/blood_overlay_type = "suit"
+ blood_sprite_state = "suitblood" //Defaults to the suit's blood overlay, so that some blood renders instead of no blood.
+
+ var/taurized = FALSE
+ siemens_coefficient = 0.9
+ w_class = ITEMSIZE_NORMAL
+ preserve_item = 1
+ equip_sound = 'sound/items/jumpsuit_equip.ogg'
+
+
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/suit.dmi'
+ )
+
+ valid_accessory_slots = (ACCESSORY_SLOT_OVER | ACCESSORY_SLOT_ARMBAND)
+ restricted_accessory_slots = (ACCESSORY_SLOT_ARMBAND)
+
+/obj/item/clothing/suit/set_clothing_index()
+ ..()
+
+ if(index && !icon_override)
+ icon = new /icon("icons/obj/clothing/suits_[index].dmi")
+ item_icons = list(
+ slot_l_hand_str = new /icon("icons/mob/items/lefthand_suits_[index].dmi"),
+ slot_r_hand_str = new /icon("icons/mob/items/righthand_suits_[index].dmi"),
+ )
+
+ return 1
+
+ return 0
+
+/obj/item/clothing/suit/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_wear_suit()
+
+ set_clothing_index()
+
+/obj/item/clothing/suit/equipped(var/mob/user, var/slot)
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if((taurized && !istaurtail(H.tail_style)) || (!taurized && istaurtail(H.tail_style)))
+ taurize(user)
+
+ return ..()
+
+/obj/item/clothing/suit/proc/taurize(var/mob/living/carbon/human/Taur)
+ if(istaurtail(Taur.tail_style))
+ var/datum/sprite_accessory/tail/taur/taurtail = Taur.tail_style
+ if(taurtail.suit_sprites && (get_worn_icon_state(slot_wear_suit_str) in cached_icon_states(taurtail.suit_sprites)))
+ icon_override = taurtail.suit_sprites
+ taurized = TRUE
+
+ if(!taurized)
+ icon_override = initial(icon_override)
+ taurized = FALSE
+
+// Taur suits need to be shifted so its centered on their taur half.
+/obj/item/clothing/suit/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask)
+ var/image/standing = ..()
+ if(taurized) //Special snowflake var on suits
+ standing.pixel_x = -16
+ standing.layer = BODY_LAYER + 15 // 15 is above tail layer, so will not be covered by taurbody.
+ return standing
+
+/obj/item/clothing/suit/apply_accessories(var/image/standing)
+ if(LAZYLEN(accessories) && taurized)
+ for(var/obj/item/clothing/accessory/A in accessories)
+ var/image/I = new(A.get_mob_overlay())
+ I.pixel_x = 16 //Opposite of the pixel_x on the suit (-16) from taurization to cancel it out and puts the accessory in the correct place on the body.
+ standing.add_overlay(I)
+ else
+ return ..()
+
+
+///////////////////////////////////////////////////////////////////////
+//Under clothing
+/obj/item/clothing/under
+ icon = 'icons/obj/clothing/uniforms.dmi'
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_uniforms.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_uniforms.dmi',
+ )
+ name = "under"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ permeability_coefficient = 0.90
+ slot_flags = SLOT_ICLOTHING
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ equip_sound = 'sound/items/jumpsuit_equip.ogg'
+ w_class = ITEMSIZE_NORMAL
+ show_messages = 1
+ blood_sprite_state = "uniformblood"
+
+ var/has_sensor = 1 //For the crew computer 2 = unable to change mode
+ var/sensor_mode = 0
+ /*
+ 1 = Report living/dead
+ 2 = Report detailed damages
+ 3 = Report location
+ */
+ var/displays_id = 1
+ var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
+ var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
+ sprite_sheets = list(
+ SPECIES_TESHARI = 'icons/mob/species/teshari/uniform.dmi',
+ SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi'
+ )
+
+ //convenience var for defining the icon state for the overlay used when the clothing is worn.
+ //Also used by rolling/unrolling.
+ var/worn_state = null
+ valid_accessory_slots = (\
+ ACCESSORY_SLOT_UTILITY\
+ |ACCESSORY_SLOT_WEAPON\
+ |ACCESSORY_SLOT_ARMBAND\
+ |ACCESSORY_SLOT_DECOR\
+ |ACCESSORY_SLOT_MEDAL\
+ |ACCESSORY_SLOT_INSIGNIA\
+ |ACCESSORY_SLOT_TIE\
+ |ACCESSORY_SLOT_RANK\
+ |ACCESSORY_SLOT_DEPT\
+ |ACCESSORY_SLOT_OVER)
+ restricted_accessory_slots = (\
+ ACCESSORY_SLOT_UTILITY\
+ |ACCESSORY_SLOT_WEAPON\
+ |ACCESSORY_SLOT_ARMBAND\
+ |ACCESSORY_SLOT_TIE\
+ |ACCESSORY_SLOT_RANK\
+ |ACCESSORY_SLOT_DEPT\
+ |ACCESSORY_SLOT_OVER)
+
+ var/icon/rolled_down_icon = 'icons/mob/uniform_rolled_down.dmi'
+ var/icon/rolled_down_sleeves_icon = 'icons/mob/uniform_sleeves_rolled.dmi'
+
+/obj/item/clothing/under/attack_hand(var/mob/user)
+ if(LAZYLEN(accessories))
+ ..()
+ if ((ishuman(usr) || issmall(usr)) && src.loc == user)
+ return
+ ..()
+
+/obj/item/clothing/under/New()
+ ..()
+ if(worn_state)
+ if(!item_state_slots)
+ item_state_slots = list()
+ item_state_slots[slot_w_uniform_str] = worn_state
+ else
+ worn_state = icon_state
+
+ //autodetect rollability
+ if(rolled_down < 0)
+ if(("[worn_state]_d_s" in cached_icon_states(icon)) || ("[worn_state]_s" in cached_icon_states(rolled_down_icon)) || ("[worn_state]_d_s" in cached_icon_states(icon_override)))
+ rolled_down = 0
+
+ if(rolled_down == -1)
+ verbs -= /obj/item/clothing/under/verb/rollsuit
+ if(rolled_sleeves == -1)
+ verbs -= /obj/item/clothing/under/verb/rollsleeves
+
+/obj/item/clothing/under/set_clothing_index()
+ ..()
+
+ if(index && !icon_override)
+ icon = new /icon("icons/obj/clothing/uniforms_[index].dmi")
+
+ item_icons = list(
+ slot_l_hand_str = new /icon("icons/mob/items/lefthand_uniforms_[index].dmi"),
+ slot_r_hand_str = new /icon("icons/mob/items/righthand_uniforms_[index].dmi"),
+ )
+
+ rolled_down_icon = new /icon("icons/mob/uniform_rolled_down_[index].dmi")
+ rolled_down_sleeves_icon = new /icon("icons/mob/uniform_sleeves_rolled_[index].dmi")
+ return 1
+
+ return 0
+
+/obj/item/clothing/under/proc/update_rolldown_status()
+ var/mob/living/carbon/human/H
+ if(istype(src.loc, /mob/living/carbon/human))
+ H = src.loc
+
+ var/icon/under_icon
+ if(icon_override)
+ under_icon = icon_override
+ else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype(H)])
+ under_icon = sprite_sheets[H.species.get_bodytype(H)]
+ else if(item_icons && item_icons[slot_w_uniform_str])
+ under_icon = item_icons[slot_w_uniform_str]
+ else if ("[worn_state]_s" in cached_icon_states(rolled_down_icon))
+ under_icon = rolled_down_icon
+
+ // The _s is because the icon update procs append it.
+ if((under_icon == rolled_down_icon && ("[worn_state]_s" in cached_icon_states(under_icon))) || ("[worn_state]_d_s" in cached_icon_states(under_icon)))
+ if(rolled_down != 1)
+ rolled_down = 0
+ else
+ rolled_down = -1
+ if(H) update_clothing_icon()
+
+/obj/item/clothing/under/proc/update_rollsleeves_status()
+ var/mob/living/carbon/human/H
+ if(istype(src.loc, /mob/living/carbon/human))
+ H = src.loc
+
+ var/icon/under_icon
+ if(icon_override)
+ under_icon = icon_override
+ else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype(H)])
+ under_icon = sprite_sheets[H.species.get_bodytype(H)]
+ else if(item_icons && item_icons[slot_w_uniform_str])
+ under_icon = item_icons[slot_w_uniform_str]
+ else if ("[worn_state]_s" in cached_icon_states(rolled_down_sleeves_icon))
+ under_icon = rolled_down_sleeves_icon
+ else if(index)
+ under_icon = new /icon("[INV_W_UNIFORM_DEF_ICON]_[index].dmi")
+
+ // The _s is because the icon update procs append it.
+ if((under_icon == rolled_down_sleeves_icon && ("[worn_state]_s" in cached_icon_states(under_icon))) || ("[worn_state]_r_s" in cached_icon_states(under_icon)))
+ if(rolled_sleeves != 1)
+ rolled_sleeves = 0
+ else
+ rolled_sleeves = -1
+ if(H) update_clothing_icon()
+
+/obj/item/clothing/under/update_clothing_icon()
+ if (ismob(src.loc))
+ var/mob/M = src.loc
+ M.update_inv_w_uniform()
+
+ set_clothing_index()
+
+
+/obj/item/clothing/under/examine(mob/user)
+ . = ..()
+ switch(src.sensor_mode)
+ if(0)
+ . += "Its sensors appear to be disabled."
+ if(1)
+ . += "Its binary life sensors appear to be enabled."
+ if(2)
+ . += "Its vital tracker appears to be enabled."
+ if(3)
+ . += "Its vital tracker and tracking beacon appear to be enabled."
+
+/obj/item/clothing/under/proc/set_sensors(mob/usr as mob)
+ var/mob/M = usr
+ if (istype(M, /mob/observer)) return
+ if (usr.stat || usr.restrained()) return
+ if(has_sensor >= 2)
+ to_chat(usr, "The controls are locked.")
+ return 0
+ if(has_sensor <= 0)
+ to_chat(usr, "This suit does not have any sensors.")
+ return 0
+
+ var/list/modes = list("Off", "Binary sensors", "Vitals tracker", "Tracking beacon")
+ var/switchMode = tgui_input_list(usr, "Select a sensor mode:", "Suit Sensor Mode", modes)
+ if(get_dist(usr, src) > 1)
+ to_chat(usr, "You have moved too far away.")
+ return
+ sensor_mode = modes.Find(switchMode) - 1
+
+ if (src.loc == usr)
+ switch(sensor_mode)
+ if(0)
+ usr.visible_message("[usr] adjusts their sensors.", "You disable your suit's remote sensing equipment.")
+ if(1)
+ usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report whether you are live or dead.")
+ if(2)
+ usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report your vital lifesigns.")
+ if(3)
+ usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report your vital lifesigns as well as your coordinate position.")
+
+ else if (istype(src.loc, /mob))
+ usr.visible_message("[usr] adjusts [src.loc]'s sensors.", "You adjust [src.loc]'s sensors.")
+
+/obj/item/clothing/under/verb/toggle()
+ set name = "Toggle Suit Sensors"
+ set category = "Object"
+ set src in usr
+ set_sensors(usr)
+
+/obj/item/clothing/under/verb/rollsuit()
+ set name = "Roll Down Jumpsuit"
+ set category = "Object"
+ set src in usr
+ if(!istype(usr, /mob/living)) return
+ if(usr.stat) return
+
+ update_rolldown_status()
+ if(rolled_down == -1)
+ to_chat(usr, "You cannot roll down [src]!")
+ return
+ if((rolled_sleeves == 1) && !(rolled_down))
+ rolled_sleeves = 0
+
+ rolled_down = !rolled_down
+ if(rolled_down)
+ body_parts_covered = initial(body_parts_covered)
+ body_parts_covered &= ~(UPPER_TORSO|ARMS)
+ if("[worn_state]_s" in cached_icon_states(rolled_down_icon))
+ icon_override = rolled_down_icon
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ else
+ item_state_slots[slot_w_uniform_str] = "[worn_state]_d"
+
+ to_chat(usr, "You roll down your [src].")
+ else
+ body_parts_covered = initial(body_parts_covered)
+ if(icon_override == rolled_down_icon)
+ icon_override = initial(icon_override)
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ to_chat(usr, "You roll up your [src].")
+ update_clothing_icon()
+
+/obj/item/clothing/under/verb/rollsleeves()
+ set name = "Roll Up Sleeves"
+ set category = "Object"
+ set src in usr
+ if(!istype(usr, /mob/living)) return
+ if(usr.stat) return
+
+ update_rollsleeves_status()
+ if(rolled_sleeves == -1)
+ to_chat(usr, "You cannot roll up your [src]'s sleeves!")
+ return
+ if(rolled_down == 1)
+ to_chat(usr, "You must roll up your [src] first!")
+ return
+
+ rolled_sleeves = !rolled_sleeves
+ if(rolled_sleeves)
+ body_parts_covered &= ~(ARMS)
+ if("[worn_state]_s" in cached_icon_states(rolled_down_sleeves_icon))
+ icon_override = rolled_down_sleeves_icon
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ else
+ item_state_slots[slot_w_uniform_str] = "[worn_state]_r"
+ to_chat(usr, "You roll up your [src]'s sleeves.")
+ else
+ body_parts_covered = initial(body_parts_covered)
+ if(icon_override == rolled_down_sleeves_icon)
+ icon_override = initial(icon_override)
+ item_state_slots[slot_w_uniform_str] = "[worn_state]"
+ to_chat(usr, "You roll down your [src]'s sleeves.")
+ update_clothing_icon()
+
+/obj/item/clothing/under/rank/New()
+ sensor_mode = pick(0,1,2,3)
+ ..()
+>>>>>>> e4b8407fdb... Merge pull request #10908 from MarinaGryphon/spannening
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index c7a7682993..e2029c3c49 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -62,7 +62,7 @@
//TODO: Make inflating gloves a thing
/*/obj/item/clothing/gloves/sterile/proc/Inflate(/mob/living/carbon/human/user)
- user.visible_message("\The [src] expands!")
+ user.visible_message("\The [src] expands!")
qdel(src)*/
/obj/item/clothing/gloves/sterile/latex
diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm
index 97140e6f29..4ec669a565 100644
--- a/code/modules/detectivework/tools/rag.dm
+++ b/code/modules/detectivework/tools/rag.dm
@@ -152,7 +152,7 @@
return
if(A.reagents && A.reagents.trans_to_obj(src, reagents.maximum_volume))
- user.visible_message("\The [user] soaks [src] using [A].", "You soak [src] using [A].")
+ user.visible_message("\The [user] soaks [src] using [A].", "You soak [src] using [A].")
update_name()
return
diff --git a/code/modules/economy/vending.dm b/code/modules/economy/vending.dm
index e4b4998171..4086dcd921 100644
--- a/code/modules/economy/vending.dm
+++ b/code/modules/economy/vending.dm
@@ -580,7 +580,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(prob(1))
sleep(3)
if(R.get_product(get_turf(src)))
- visible_message("\The [src] clunks as it vends an additional item.")
+ visible_message("\The [src] clunks as it vends an additional item.")
playsound(src, "sound/[vending_sound]", 100, 1, 1)
GLOB.items_sold_shift_roundstat++
diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm
index 140f6a71fb..10af8e6372 100644
--- a/code/modules/food/food/snacks.dm
+++ b/code/modules/food/food/snacks.dm
@@ -241,7 +241,7 @@
user.visible_message("\The [user] crudely slices \the [src] with [W]!", "You crudely slice \the [src] with your [W]!")
slices_lost = rand(1,min(1,round(slices_num/2)))
else
- user.visible_message("\The [user] slices \the [src]!", "You slice \the [src]!")
+ user.visible_message("\The [user] slices \the [src]!", "You slice \the [src]!")
var/reagents_per_slice = reagents.total_volume/slices_num
for(var/i=1 to (slices_num-slices_lost))
@@ -1839,7 +1839,7 @@
Unwrap(user)
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Expand()
- src.visible_message("\The [src] expands!")
+ src.visible_message("\The [src] expands!")
var/mob/living/carbon/human/H = new(get_turf(src))
H.set_species(monkey_type)
H.real_name = H.species.get_random_name()
diff --git a/code/modules/food/food/snacks_vr.dm b/code/modules/food/food/snacks_vr.dm
index 6b9f15ff5a..f8509d4392 100644
--- a/code/modules/food/food/snacks_vr.dm
+++ b/code/modules/food/food/snacks_vr.dm
@@ -476,7 +476,7 @@
. = ..()
/obj/item/weapon/reagent_containers/food/snacks/cube/proc/Expand()
- src.visible_message("\The [src] expands!")
+ src.visible_message("\The [src] expands!")
new food_type(get_turf(src))
qdel(src)
diff --git a/code/modules/food/kitchen/cooking_machines/_appliance.dm b/code/modules/food/kitchen/cooking_machines/_appliance.dm
index d87fbfc902..1b090068f6 100644
--- a/code/modules/food/kitchen/cooking_machines/_appliance.dm
+++ b/code/modules/food/kitchen/cooking_machines/_appliance.dm
@@ -319,7 +319,7 @@
CI = new /datum/cooking_item/(CC)
I.forceMove(src)
cooking_objs.Add(CI)
- user.visible_message("\The [user] puts \the [I] into \the [src].")
+ user.visible_message("\The [user] puts \the [I] into \the [src].")
if (CC.check_contents() == 0)//If we're just putting an empty container in, then dont start any processing.
return TRUE
else
@@ -333,7 +333,7 @@
CI.combine_target = selected_option
// We can actually start cooking now.
- user.visible_message("\The [user] puts \the [I] into \the [src].")
+ user.visible_message("\The [user] puts \the [I] into \the [src].")
get_cooking_work(CI)
cooking = TRUE
@@ -433,7 +433,7 @@
/obj/machinery/appliance/proc/finish_cooking(var/datum/cooking_item/CI)
- src.visible_message("\The [src] pings!")
+ src.visible_message("\The [src] pings!")
if(cooked_sound)
playsound(get_turf(src), cooked_sound, 50, 1)
//Check recipes first, a valid recipe overrides other options
diff --git a/code/modules/food/kitchen/cooking_machines/oven.dm b/code/modules/food/kitchen/cooking_machines/oven.dm
index d58df7e6f6..bcebc851a0 100644
--- a/code/modules/food/kitchen/cooking_machines/oven.dm
+++ b/code/modules/food/kitchen/cooking_machines/oven.dm
@@ -148,7 +148,7 @@
/obj/machinery/appliance/cooker/oven/finish_cooking(var/datum/cooking_item/CI)
if(CI.combine_target)
CI.result_type = 3//Combination type. We're making something out of our ingredients
- visible_message("\The [src] pings!")
+ visible_message("\The [src] pings!")
combination_cook(CI)
return
else
diff --git a/code/modules/food/kitchen/microwave.dm b/code/modules/food/kitchen/microwave.dm
index a92e17c6da..9162286858 100644
--- a/code/modules/food/kitchen/microwave.dm
+++ b/code/modules/food/kitchen/microwave.dm
@@ -77,24 +77,24 @@
if(src.broken > 0)
if(src.broken == 2 && O.is_screwdriver()) // If it's broken and they're using a screwdriver
user.visible_message( \
- "\The [user] starts to fix part of the microwave.", \
+ "\The [user] starts to fix part of the microwave.", \
"You start to fix part of the microwave." \
)
playsound(src, O.usesound, 50, 1)
if (do_after(user,20 * O.toolspeed))
user.visible_message( \
- "\The [user] fixes part of the microwave.", \
+ "\The [user] fixes part of the microwave.", \
"You have fixed part of the microwave." \
)
src.broken = 1 // Fix it a bit
else if(src.broken == 1 && O.is_wrench()) // If it's broken and they're doing the wrench
user.visible_message( \
- "\The [user] starts to fix part of the microwave.", \
+ "\The [user] starts to fix part of the microwave.", \
"You start to fix part of the microwave." \
)
if (do_after(user,20 * O.toolspeed))
user.visible_message( \
- "\The [user] fixes the microwave.", \
+ "\The [user] fixes the microwave.", \
"You have fixed the microwave." \
)
src.icon_state = "mw"
@@ -108,7 +108,7 @@
else if(src.dirty==100) // The microwave is all dirty so can't be used!
if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them
user.visible_message( \
- "\The [user] starts to clean the microwave.", \
+ "\The [user] starts to clean the microwave.", \
"You start to clean the microwave." \
)
if (do_after(user,20))
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index e411cdb7db..ad8b592f27 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -111,7 +111,7 @@
cards -= P
H.parentdeck = src
H.update_icon()
- user.visible_message("\The [user] draws a card.")
+ user.visible_message("\The [user] draws a card.")
to_chat(user,"It's the [P].")
/obj/item/weapon/deck/verb/deal_card()
diff --git a/code/modules/ghosttrap/trap.dm b/code/modules/ghosttrap/trap.dm
index 5de81594a9..594d6f2e45 100644
--- a/code/modules/ghosttrap/trap.dm
+++ b/code/modules/ghosttrap/trap.dm
@@ -83,7 +83,7 @@ var/list/ghost_traps
to_chat(target, "Remember, the purpose of your existence is to serve the crew and the station. Above all else, do no harm.")
to_chat(target, "Use say #b to speak to other artificial intelligences.")
var/turf/T = get_turf(target)
- T.visible_message("\The [src] chimes quietly.")
+ T.visible_message("\The [src] chimes quietly.")
var/obj/item/device/mmi/digital/posibrain/P = target.loc
if(!istype(P)) //wat
return
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index 35d7ee2fef..70fa60be35 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -513,5 +513,5 @@
derez()
/mob/living/simple_mob/animal/space/carp/holodeck/proc/derez()
- visible_message("\The [src] fades away!")
+ visible_message("\The [src] fades away!")
qdel(src)
diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm
index 8d51f087a2..2a080c38e9 100644
--- a/code/modules/hydroponics/seed.dm
+++ b/code/modules/hydroponics/seed.dm
@@ -571,7 +571,7 @@
if(!degree || get_trait(TRAIT_IMMUTABLE) > 0) return
- source_turf.visible_message("\The [display_name] quivers!")
+ source_turf.visible_message("\The [display_name] quivers!")
//This looks like shit, but it's a lot easier to read/change this way.
var/total_mutations = rand(1,1+degree)
@@ -608,7 +608,7 @@
if(prob(degree*5))
set_trait(TRAIT_CARNIVOROUS, get_trait(TRAIT_CARNIVOROUS)+rand(-degree,degree),2, 0)
if(get_trait(TRAIT_CARNIVOROUS))
- source_turf.visible_message("\The [display_name] shudders hungrily.")
+ source_turf.visible_message("\The [display_name] shudders hungrily.")
if(6)
set_trait(TRAIT_WEED_TOLERANCE, get_trait(TRAIT_WEED_TOLERANCE)+(rand(-2,2)*degree),10, 0)
if(prob(degree*5))
@@ -629,7 +629,7 @@
set_trait(TRAIT_POTENCY, get_trait(TRAIT_POTENCY)+(rand(-20,20)*degree),200, 0)
if(prob(degree*5))
set_trait(TRAIT_SPREAD, get_trait(TRAIT_SPREAD)+rand(-1,1),2, 0)
- source_turf.visible_message("\The [display_name] spasms visibly, shifting in the tray.")
+ source_turf.visible_message("\The [display_name] spasms visibly, shifting in the tray.")
if(prob(degree*3))
set_trait(TRAIT_SPORING, !get_trait(TRAIT_SPORING))
if(9)
@@ -647,7 +647,7 @@
if(prob(degree*2))
set_trait(TRAIT_BIOLUM, !get_trait(TRAIT_BIOLUM))
if(get_trait(TRAIT_BIOLUM))
- source_turf.visible_message("\The [display_name] begins to glow!")
+ source_turf.visible_message("\The [display_name] begins to glow!")
if(prob(degree*2))
set_trait(TRAIT_BIOLUM_COLOUR,"#[get_random_colour(0,75,190)]")
source_turf.visible_message("\The [display_name]'s glow changes colour!")
diff --git a/code/modules/hydroponics/seed_gene_mut.dm b/code/modules/hydroponics/seed_gene_mut.dm
index 09147c72b9..35ced29739 100644
--- a/code/modules/hydroponics/seed_gene_mut.dm
+++ b/code/modules/hydroponics/seed_gene_mut.dm
@@ -4,7 +4,7 @@
return src
var/datum/seed/S = diverge() //Let's not modify all of the seeds.
- T.visible_message("\The [S.display_name] quivers!") //Mimicks the normal mutation.
+ T.visible_message("\The [S.display_name] quivers!") //Mimicks the normal mutation.
G.mutate(S, T)
return S
@@ -94,7 +94,7 @@
if(prob(50))
S.set_trait(TRAIT_BIOLUM, !S.get_trait(TRAIT_BIOLUM))
if(S.get_trait(TRAIT_BIOLUM))
- T.visible_message("\The [S.display_name] begins to glow!")
+ T.visible_message("\The [S.display_name] begins to glow!")
if(prob(50))
S.set_trait(TRAIT_BIOLUM_COLOUR,get_random_colour(0,75,190))
T.visible_message("\The [S.display_name]'s glow changes colour!")
@@ -118,7 +118,7 @@
S.set_trait(TRAIT_MATURATION, S.get_trait(TRAIT_MATURATION)+rand(-1,1),30,0)
if(prob(55))
S.set_trait(TRAIT_SPREAD, S.get_trait(TRAIT_SPREAD)+rand(-1,1),2,0)
- T.visible_message("\The [S.display_name] spasms visibly, shifting in the tray.")
+ T.visible_message("\The [S.display_name] spasms visibly, shifting in the tray.")
/decl/plantgene/fruit/mutate(var/datum/seed/S)
if(prob(65))
diff --git a/code/modules/hydroponics/spreading/spreading_response.dm b/code/modules/hydroponics/spreading/spreading_response.dm
index b448357187..ab22ae15df 100644
--- a/code/modules/hydroponics/spreading/spreading_response.dm
+++ b/code/modules/hydroponics/spreading/spreading_response.dm
@@ -68,12 +68,12 @@
var/mob/living/L = A
if(!(user in buckled_mobs))
L.visible_message(\
- "\The [user] frees \the [L] from \the [src].",\
- "\The [user] frees you from \the [src].",\
+ "\The [user] frees \the [L] from \the [src].",\
+ "\The [user] frees you from \the [src].",\
"You hear shredding and ripping.")
else
L.visible_message(\
- "\The [L] struggles free of \the [src].",\
+ "\The [L] struggles free of \the [src].",\
"You untangle \the [src] from around yourself.",\
"You hear shredding and ripping.")
unbuckle()
diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm
index f671b51569..69e8b69e18 100644
--- a/code/modules/integrated_electronics/core/assemblies.dm
+++ b/code/modules/integrated_electronics/core/assemblies.dm
@@ -268,7 +268,7 @@
if(S.scan(target))
scanned = TRUE
if(scanned)
- visible_message("\The [user] waves \the [src] around [target].")
+ visible_message("\The [user] waves \the [src] around [target].")
/obj/item/device/electronic_assembly/attackby(var/obj/item/I, var/mob/user)
if(can_anchor && I.is_wrench())
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index 46996249b8..f1f518d375 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -195,7 +195,7 @@
new /obj/item/weapon/book/tome(src.loc)
var/datum/gender/T = gender_datums[user.get_visible_gender()]
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 dusty old tome sitting on the desk. You don't really remember printing it.")
- user.visible_message("\The [user] stares at the blank screen for a few moments, [T.his] expression frozen in fear. When [T.he] finally awakens from it, [T.he] looks a lot older.", 2)
+ user.visible_message("\The [user] stares at the blank screen for a few moments, [T.his] expression frozen in fear. When [T.he] finally awakens from it, [T.he] looks a lot older.", 2)
src.arcanecheckout = 0
if(1)
// Inventory
diff --git a/code/modules/materials/sheets/metals/rods.dm b/code/modules/materials/sheets/metals/rods.dm
index d1c4a1ee24..42aff5d096 100644
--- a/code/modules/materials/sheets/metals/rods.dm
+++ b/code/modules/materials/sheets/metals/rods.dm
@@ -67,7 +67,7 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \
var/obj/item/stack/medical/splint/ghetto/new_splint = new(get_turf(user))
new_splint.add_fingerprint(user)
- user.visible_message("\The [user] constructs \a [new_splint] out of a [singular_name].", \
+ user.visible_message("\The [user] constructs \a [new_splint] out of a [singular_name].", \
"You use make \a [new_splint] out of a [singular_name].")
src.use(1)
return
diff --git a/code/modules/materials/sheets/organic/tanning/hide.dm b/code/modules/materials/sheets/organic/tanning/hide.dm
index a8b229c9eb..e9617ba921 100644
--- a/code/modules/materials/sheets/organic/tanning/hide.dm
+++ b/code/modules/materials/sheets/organic/tanning/hide.dm
@@ -18,7 +18,7 @@
/obj/item/stack/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(has_edge(W) || is_sharp(W))
//visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message)
- user.visible_message("\The [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("\The [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")
var/scraped = 0
while(amount > 0 && do_after(user, 2.5 SECONDS)) // 2.5s per hide
//Try locating an exisitng stack on the tile and add to there if possible
diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm
index aa46981599..66a3088767 100644
--- a/code/modules/mining/drilling/drill.dm
+++ b/code/modules/mining/drilling/drill.dm
@@ -209,10 +209,10 @@
if(use_cell_power())
active = !active
if(active)
- visible_message("\The [src] lurches downwards, grinding noisily.")
+ visible_message("\The [src] lurches downwards, grinding noisily.")
need_update_field = 1
else
- visible_message("\The [src] shudders to a grinding halt.")
+ visible_message("\The [src] shudders to a grinding halt.")
else
to_chat(user, "The drill is unpowered.")
else
@@ -273,7 +273,7 @@
/obj/machinery/mining/drill/proc/system_error(var/error)
if(error)
- src.visible_message("\The [src] flashes a '[error]' warning.")
+ src.visible_message("\The [src] flashes a '[error]' warning.")
faultreporter.autosay(error, src.name, "Supply")
need_player_check = 1
active = 0
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index 6ae5dcd5b6..f90b3c0b7e 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -407,7 +407,7 @@ var/list/mining_overlay_cache = list()
if (istype(W, /obj/item/device/measuring_tape))
var/obj/item/device/measuring_tape/P = W
- user.visible_message("\The [user] extends \a [P] towards \the [src].","You extend \the [P] towards \the [src].")
+ user.visible_message("\The [user] extends \a [P] towards \the [src].","You extend \the [P] towards \the [src].")
if(do_after(user, 15))
to_chat(user, "\The [src] has been excavated to a depth of [excavation_level]cm.")
return
@@ -417,7 +417,7 @@ var/list/mining_overlay_cache = list()
if(C.mode) //Mode means scanning
C.depth_scanner.scan_atom(user, src)
else
- user.visible_message("\The [user] extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!", "You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!")
+ user.visible_message("\The [user] extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!", "You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!")
if(do_after(user, 15))
to_chat(user, "\The [src] has been excavated to a depth of [excavation_level]cm.")
return
diff --git a/code/modules/mob/living/bot/edCLNbot.dm b/code/modules/mob/living/bot/edCLNbot.dm
index d0ebbc91ad..bbb1e9861d 100644
--- a/code/modules/mob/living/bot/edCLNbot.dm
+++ b/code/modules/mob/living/bot/edCLNbot.dm
@@ -37,7 +37,7 @@
if(!red_switch && blue_switch && !green_switch && prob(50) || src.emagged)
if(istype(loc, /turf/simulated))
var/turf/simulated/T = loc
- visible_message("\The [src] squirts a puddle of water on the floor!")
+ visible_message("\The [src] squirts a puddle of water on the floor!")
T.wet_floor()
if(!red_switch && !blue_switch && green_switch && prob(10) || src.emagged)
diff --git a/code/modules/mob/living/bot/floorbot.dm b/code/modules/mob/living/bot/floorbot.dm
index 54fbc8403c..c433f64f85 100644
--- a/code/modules/mob/living/bot/floorbot.dm
+++ b/code/modules/mob/living/bot/floorbot.dm
@@ -228,7 +228,7 @@
return
busy = 1
update_icons()
- visible_message("\The [src] begins to repair the hole.")
+ visible_message("\The [src] begins to repair the hole.")
if(do_after(src, 50))
if(A && (locate(/obj/structure/lattice, A) && building == 1 || !locate(/obj/structure/lattice, A) && building == 2)) // Make sure that it still needs repairs
var/obj/item/I
@@ -245,7 +245,7 @@
if(F.broken || F.burnt)
busy = 1
update_icons()
- visible_message("\The [src] begins to remove the broken floor.")
+ visible_message("\The [src] begins to remove the broken floor.")
if(do_after(src, 50, F))
if(F.broken || F.burnt)
F.make_plating()
@@ -255,7 +255,7 @@
else if(!F.flooring && amount)
busy = 1
update_icons()
- visible_message("\The [src] begins to improve the floor.")
+ visible_message("\The [src] begins to improve the floor.")
if(do_after(src, 50))
if(!F.flooring)
F.set_flooring(get_flooring_data(floor_build_type))
@@ -265,7 +265,7 @@
update_icons()
else if(istype(A, /obj/item/stack/tile/floor) && amount < maxAmount)
var/obj/item/stack/tile/floor/T = A
- visible_message("\The [src] begins to collect tiles.")
+ visible_message("\The [src] begins to collect tiles.")
busy = 1
update_icons()
if(do_after(src, 20))
@@ -279,7 +279,7 @@
else if(istype(A, /obj/item/stack/material) && amount + 4 <= maxAmount)
var/obj/item/stack/material/M = A
if(M.get_material_name() == DEFAULT_WALL_MATERIAL)
- visible_message("\The [src] begins to make tiles.")
+ visible_message("\The [src] begins to make tiles.")
busy = 1
update_icons()
if(do_after(50))
diff --git a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
index 3adf6b34f0..450f47103f 100644
--- a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
+++ b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
@@ -18,6 +18,6 @@
return
user.unEquip(W)
wear_hat(W)
- user.visible_message("\The [user] puts \the [W] on \the [src].")
+ user.visible_message("\The [user] puts \the [W] on \the [src].")
return
return ..()
diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm
index b6c9a5e938..8f25d65430 100644
--- a/code/modules/mob/living/carbon/brain/MMI.dm
+++ b/code/modules/mob/living/carbon/brain/MMI.dm
@@ -58,7 +58,7 @@
to_chat(user, "\The [src] appears to reject this brain. It is incompatable.")
return
- user.visible_message("\The [user] sticks \a [O] into \the [src].")
+ user.visible_message("\The [user] sticks \a [O] into \the [src].")
B.preserved = TRUE
brainmob = B.brainmob
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 3ceea87f7b..feab80627a 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -421,7 +421,7 @@ emp_act
return
if(!zone)
- visible_message("\The [O] misses [src] narrowly!")
+ visible_message("\The [O] misses [src] narrowly!")
return
O.throwing = 0 //it hit, so stop moving
diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm
index 264de146e3..d616b7dc1e 100644
--- a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm
+++ b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm
@@ -164,7 +164,7 @@ var/list/wrapped_species_by_ref = list()
return
wrapped_species_by_ref["\ref[src]"] = new_species
- visible_message("\The [src] shifts and contorts, taking the form of \a [new_species]!")
+ visible_message("\The [src] shifts and contorts, taking the form of \a [new_species]!")
regenerate_icons()
/mob/living/carbon/human/proc/shapeshifter_select_colour()
diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm
index d4be111e4d..88a0607c83 100644
--- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm
+++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm
@@ -170,7 +170,7 @@ var/datum/species/shapeshifter/promethean/prometheans
if(FEMALE)
t_him = "her"
- H.visible_message("\The [H] glomps [target] to make [t_him] feel better!", \
+ H.visible_message("\The [H] glomps [target] to make [t_him] feel better!", \
"You glomp [target] to make [t_him] feel better!")
H.apply_stored_shock_to(target)
diff --git a/code/modules/mob/living/carbon/human/species/station/teshari.dm b/code/modules/mob/living/carbon/human/species/station/teshari.dm
index 09d5e2dc10..3bc2e8cd5c 100644
--- a/code/modules/mob/living/carbon/human/species/station/teshari.dm
+++ b/code/modules/mob/living/carbon/human/species/station/teshari.dm
@@ -213,7 +213,7 @@
// Handled!
if(!silent)
to_chat(H, SPAN_NOTICE("You catch the air in your wings and greatly slow your fall."))
- landing.visible_message(SPAN_NOTICE("\The [H] glides down from above, landing safely."))
+ landing.visible_message("\The [H] glides down from above, landing safely.")
H.Stun(1)
playsound(H, "rustle", 25, 1)
return TRUE
diff --git a/code/modules/mob/living/carbon/lick_wounds.dm b/code/modules/mob/living/carbon/lick_wounds.dm
index 4e0aa7cbe3..8c2be6c240 100644
--- a/code/modules/mob/living/carbon/lick_wounds.dm
+++ b/code/modules/mob/living/carbon/lick_wounds.dm
@@ -55,7 +55,7 @@
return
else
- visible_message("\The [src] starts licking the wounds on [M]'s [affecting.name] clean.", \
+ visible_message("\The [src] starts licking the wounds on [M]'s [affecting.name] clean.", \
"You start licking the wounds on [M]'s [affecting.name] clean." )
for (var/datum/wound/W in affecting.wounds)
diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
index c3874e6f2e..af07971ed7 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
@@ -278,7 +278,7 @@
playsound(src, 'sound/weapons/Egloves.ogg', 50, 1, -1)
R.cell.charge -= 666
else
- user.visible_message("\the [user] affectionately licks all over \the [target]'s face!", "You affectionately lick all over \the [target]'s face!")
+ user.visible_message("\The [user] affectionately licks all over \the [target]'s face!", "You affectionately lick all over \the [target]'s face!")
playsound(src, 'sound/effects/attackblob.ogg', 50, 1)
water.use_charge(5)
var/mob/living/carbon/human/H = target
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index afa61a5317..32cc4f32d4 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -173,7 +173,7 @@ var/list/mob_hat_cache = list()
return
user.unEquip(W)
wear_hat(W)
- user.visible_message("\The [user] puts \the [W] on \the [src].")
+ user.visible_message("\The [user] puts \the [W] on \the [src].")
return
else if(istype(W, /obj/item/borg/upgrade/))
to_chat(user, "\The [src] is not compatible with \the [W].")
diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm
index f777fe7996..cc0b3785b6 100644
--- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm
+++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/_thinktank.dm
@@ -165,4 +165,4 @@
if(!recharge_complete && recharging_atom.percent() >= 100)
recharge_complete = TRUE
- visible_message(SPAN_NOTICE("\The [src] beeps and flashes a green light above \his recharging port."))
+ visible_message("\The [src] beeps and flashes a green light above \his recharging port.")
diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm
index f9a78b4f12..0c981cb4b2 100644
--- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm
+++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm
@@ -6,7 +6,7 @@
if(istype(recharging_atom) && !QDELETED(recharging_atom) && recharging_atom.loc == src)
recharging_atom.dropInto(loc)
user.put_in_hands(recharging_atom)
- user.visible_message(SPAN_NOTICE("\The [user] pops \the [recharging_atom] out of \the [src]'s recharging port."))
+ user.visible_message("\The [user] pops \the [recharging_atom] out of \the [src]'s recharging port.")
recharging = null
return TRUE
@@ -24,7 +24,7 @@
W.forceMove(src)
recharging = weakref(W)
recharge_complete = FALSE
- user.visible_message(SPAN_NOTICE("\The [user] slots \the [W] into \the [src]'s recharging port."))
+ user.visible_message("\The [user] slots \the [W] into \the [src]'s recharging port.")
return TRUE
if(istype(W, /obj/item/device/floor_painter))
diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm
index ec6d6f4267..6ffe75bfe3 100644
--- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm
+++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_storage.dm
@@ -82,9 +82,9 @@
if(istype(ejecting) && !QDELETED(ejecting) && ejecting.loc == src)
ejecting.dropInto(loc)
if(user == src)
- visible_message(SPAN_NOTICE("\The [src] ejects \the [ejecting] from its cargo compartment."))
+ visible_message("\The [src] ejects \the [ejecting] from its cargo compartment.")
else
- user.visible_message(SPAN_NOTICE("\The [user] pulls \the [ejecting] from \the [src]'s cargo compartment."))
+ user.visible_message("\The [user] pulls \the [ejecting] from \the [src]'s cargo compartment.")
/mob/living/silicon/robot/platform/attack_ai(mob/user)
if(isrobot(user) && user.Adjacent(src))
@@ -99,7 +99,7 @@
if(!istype(removing) || QDELETED(removing) || removing.loc != src)
LAZYREMOVE(stored_atoms, remove_ref)
else
- user.visible_message(SPAN_NOTICE("\The [user] begins unloading \the [removing] from \the [src]'s cargo compartment."))
+ user.visible_message("\The [user] begins unloading \the [removing] from \the [src]'s cargo compartment.")
if(do_after(user, 3 SECONDS, src) && !QDELETED(removing) && removing.loc == src)
drop_stored_atom(removing, user)
return TRUE
@@ -124,9 +124,9 @@
if(!can_mouse_drop(dropping, user) || !can_store_atom(dropping, user))
return FALSE
if(user == src)
- visible_message(SPAN_NOTICE("\The [src] begins loading \the [dropping] into its cargo compartment."))
+ visible_message("\The [src] begins loading \the [dropping] into its cargo compartment.")
else
- user.visible_message(SPAN_NOTICE("\The [user] begins loading \the [dropping] into \the [src]'s cargo compartment."))
+ user.visible_message("\The [user] begins loading \the [dropping] into \the [src]'s cargo compartment.")
if(do_after(user, 3 SECONDS, src) && can_mouse_drop(dropping, user) && can_store_atom(dropping, user))
store_atom(dropping, user)
return FALSE
diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm
index b17274bd2f..b0d622cb20 100644
--- a/code/modules/mob/living/simple_mob/defense.dm
+++ b/code/modules/mob/living/simple_mob/defense.dm
@@ -64,7 +64,7 @@
MED.amount -= 1
if(MED.amount <= 0)
qdel(MED)
- visible_message("\The [user] applies the [MED] on [src].")
+ visible_message("\The [user] applies the [MED] on [src].")
else
var/datum/gender/T = gender_datums[src.get_visible_gender()]
to_chat(user, "\The [src] is dead, medical items won't bring [T.him] back to life.") // the gender lookup is somewhat overkill, but it functions identically to the obsolete gender macros and future-proofs this code
diff --git a/code/modules/mob/living/simple_mob/simple_mob_vr.dm b/code/modules/mob/living/simple_mob/simple_mob_vr.dm
index 1f99fb43b7..59cfa2850a 100644
--- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm
+++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm
@@ -167,9 +167,9 @@
vore_pounce_cooldown = world.time + 20 SECONDS // don't attempt another pounce for a while
if(prob(successrate)) // pounce success!
M.Weaken(5)
- M.visible_message("\the [src] pounces on \the [M]!!")
+ M.visible_message("\The [src] pounces on \the [M]!!")
else // pounce misses!
- M.visible_message("\the [src] attempts to pounce \the [M] but misses!!")
+ M.visible_message("\The [src] attempts to pounce \the [M] but misses!!")
playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
if(will_eat(M) && (!M.canmove || vore_standing_too)) //if they're edible then eat them too
@@ -265,7 +265,7 @@
if(istype(tmob) && will_eat(tmob) && !istype(tmob, type) && prob(vore_bump_chance) && !ckey) //check if they decide to eat. Includes sanity check to prevent cannibalism.
if(tmob.canmove && prob(vore_pounce_chance)) //if they'd pounce for other noms, pounce for these too, otherwise still try and eat them if they hold still
tmob.Weaken(5)
- tmob.visible_message("\the [src] [vore_bump_emote] \the [tmob]!!")
+ tmob.visible_message("\The [src] [vore_bump_emote] \the [tmob]!!")
set_AI_busy(TRUE)
spawn()
animal_nom(tmob)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm
index 5e1aab7290..b942f69d0f 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm
@@ -38,7 +38,7 @@
var/obj/item/weapon/storage/S = O
var/obj/item/weapon/holder/H = new holder_type(get_turf(src),src) //this works weird, but it creates an empty holder, to see if that holder can fit
if(S.can_be_inserted(H) && (src.size_multiplier <= 0.75))
- visible_message("\the [src] squeezes into \the [S].")
+ visible_message("\The [src] squeezes into \the [S].")
H.forceMove(S)
return 1
else
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
index 722ac3ffcd..3c8cd73f09 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
@@ -185,7 +185,7 @@ var/list/_cat_default_emotes = list(
/mob/living/simple_mob/animal/passive/cat/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen))
if(named)
- to_chat(user, "\the [name] already has a name!")
+ to_chat(user, "\The [name] already has a name!")
else
var/tmp_name = sanitizeSafe(input(user, "Give \the [name] a name", "Name"), MAX_NAME_LEN)
if(length(tmp_name) > 50)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm
index 0ac8d54c2b..7bb9db0b06 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm
@@ -116,5 +116,5 @@
if(prob(10))
for(var/mob/living/L in hearers(holder))
if(!istype(L, holder)) // Don't follow other hooligan crabs.
- holder.visible_message("\The [holder] starts to follow \the [L].")
+ holder.visible_message("\The [holder] starts to follow \the [L].")
set_follow(L, rand(20 SECONDS, 40 SECONDS))
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm
index 23792b907b..a11c85ade8 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm
@@ -181,7 +181,7 @@
if(holder.get_active_hand() && istype(holder.get_active_hand(), /obj/item/clothing/head) && !S.hat)
var/obj/item/I = holder.get_active_hand()
S.take_hat(S)
- holder.visible_message("\The [holder] wears \the [I]")
+ holder.visible_message("\The [holder] wears \the [I]")
/mob/living/simple_mob/animal/sif/sakimm/intelligent
desc = "What appears to be an oversized rodent with hands. This one has a curious look in its eyes."
@@ -327,7 +327,7 @@
if(istype(holder) && istype(holder.get_active_hand(), /obj/item/clothing/head) && !S.hat)
var/obj/item/I = holder.get_active_hand()
S.take_hat(S)
- holder.visible_message("\The [holder] wears \the [I]")
+ holder.visible_message("\The [holder] wears \the [I]")
carrying_item = TRUE
if(istype(holder) && S.hat) // Do we have a hat? Hats are loot.
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm
index 7ca24f3174..dbf9b48159 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm
@@ -41,7 +41,7 @@
var/mob/living/L = A
if(prob(scare_chance))
L.Stun(1)
- L.visible_message("\the [src] scares \the [L]!")
+ L.visible_message("\The [src] scares \the [L]!")
// Spookiest of bats
/mob/living/simple_mob/animal/space/bats/cult
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm
index 2e014482f2..ece32ca7a4 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/drones/mining_drone.dm
@@ -116,7 +116,7 @@
my_storage.rangedload(T, src)
if(my_storage.contents.len >= my_storage.max_storage_space)
- visible_message("\The [src] emits a shrill beep, indicating its storage is full.")
+ visible_message("\The [src] emits a shrill beep, indicating its storage is full.")
var/obj/structure/ore_box/OB = locate() in view(2, src)
diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm
index 0a0f36d516..33d2494884 100644
--- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm
@@ -126,7 +126,7 @@
var/repair_upper_bound = A.melee_damage_upper * -1
adjustBruteLoss(rand(repair_lower_bound, repair_upper_bound))
adjustFireLoss(rand(repair_lower_bound, repair_upper_bound))
- user.visible_message("\The [user] mends some of \the [src]'s wounds.")
+ user.visible_message("\The [user] mends some of \the [src]'s wounds.")
else
to_chat(user, "\The [src] is undamaged.")
return
diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm
index 1c4ac8876c..d65c9527b2 100644
--- a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm
@@ -48,7 +48,7 @@
var/mob/living/L = A
if(prob(12))
L.Weaken(3)
- L.visible_message("\the [src] knocks down \the [L]!")
+ L.visible_message("\The [src] knocks down \the [L]!")
// Strong Variant
/mob/living/simple_mob/faithless/strong
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm
index 22481cf405..287b6652bd 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm
@@ -162,7 +162,7 @@
hunger += 5
else
food.Weaken(5)
- food.visible_message("\the [src] pounces on \the [food]!!")
+ food.visible_message("\The [src] pounces on \the [food]!!")
target_mob = food
EatTarget()
hunger = 0
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm
index de7d23bce1..75e1c81a6c 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm
@@ -77,7 +77,7 @@ var/global/list/moth_amount = 0 // Chompstation Addition, Rykka waz here. *pawst
if(attached)
set_AI_busy(TRUE)
if(prob(2))
- src.visible_message("\The [src] begins to sink power from the net.")
+ src.visible_message("\The [src] begins to sink power from the net.")
if(prob(5))
var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread()
sparks.set_up(5, 0, get_turf(src))
diff --git a/code/modules/modular_computers/file_system/programs/generic/game.dm b/code/modules/modular_computers/file_system/programs/generic/game.dm
index cde240be73..31eaac08d2 100644
--- a/code/modules/modular_computers/file_system/programs/generic/game.dm
+++ b/code/modules/modular_computers/file_system/programs/generic/game.dm
@@ -166,7 +166,7 @@
to_chat(usr, "Hardware error: Printer is out of paper.")
return
else
- computer.visible_message("\The [computer] prints out paper.")
+ computer.visible_message("\The [computer] prints out paper.")
if(ticket_count >= 1)
new /obj/item/stack/arcadeticket((get_turf(computer)), 1)
to_chat(usr, "[src] dispenses a ticket!")
diff --git a/code/modules/multiz/ladders.dm b/code/modules/multiz/ladders.dm
index 8c726a8ed3..6b03f8f610 100644
--- a/code/modules/multiz/ladders.dm
+++ b/code/modules/multiz/ladders.dm
@@ -94,7 +94,7 @@
/obj/structure/ladder/proc/climbLadder(var/mob/M, var/obj/target_ladder)
var/direction = (target_ladder == target_up ? "up" : "down")
- M.visible_message("\The [M] begins climbing [direction] \the [src]!",
+ M.visible_message("\The [M] begins climbing [direction] \the [src]!",
"You begin climbing [direction] \the [src]!",
"You hear the grunting and clanging of a metal ladder being used.")
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index db5f1fc2e4..01b5a7f1ef 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -462,9 +462,9 @@
if(damage_desc)
if(user == src.owner)
var/datum/gender/T = gender_datums[user.get_visible_gender()]
- user.visible_message("\The [user] patches [damage_desc] on [T.his] [src.name] with [tool].")
+ user.visible_message("\The [user] patches [damage_desc] on [T.his] [src.name] with [tool].")
else
- user.visible_message("\The [user] patches [damage_desc] on [owner]'s [src.name] with [tool].")
+ user.visible_message("\The [user] patches [damage_desc] on [owner]'s [src.name] with [tool].")
return 1
diff --git a/code/modules/organs/subtypes/slime.dm b/code/modules/organs/subtypes/slime.dm
index eef360a515..fa60367e93 100644
--- a/code/modules/organs/subtypes/slime.dm
+++ b/code/modules/organs/subtypes/slime.dm
@@ -71,7 +71,7 @@
/obj/item/organ/internal/heart/grey/colormatch/slime/process()
..()
if(!(QDELETED(src)) && src.loc != owner)
- visible_message("\The [src] splatters!")
+ visible_message("\The [src] splatters!")
var/turf/T = get_turf(src)
var/obj/effect/decal/cleanable/blood/B = new (T)
@@ -120,7 +120,7 @@
..()
if(!(QDELETED(src)) && src.loc != owner)
- visible_message("\The [src] splatters!")
+ visible_message("\The [src] splatters!")
var/turf/T = get_turf(src)
var/obj/effect/decal/cleanable/blood/B = new (T)
diff --git a/code/modules/overmap/disperser/disperser.dm b/code/modules/overmap/disperser/disperser.dm
index b51c0fb709..c7a5efd130 100644
--- a/code/modules/overmap/disperser/disperser.dm
+++ b/code/modules/overmap/disperser/disperser.dm
@@ -24,7 +24,7 @@
/obj/machinery/disperser/attackby(obj/item/I, mob/user)
if(I && I.is_wrench())
if(panel_open)
- user.visible_message("\The [user] rotates \the [src] with \the [I].",
+ user.visible_message("\The [user] rotates \the [src] with \the [I].",
"You rotate \the [src] with \the [I].")
set_dir(turn(dir, 90))
playsound(src, 'sound/items/jaws_pry.ogg', 50, 1)
diff --git a/code/modules/paperwork/paper_sticky.dm b/code/modules/paperwork/paper_sticky.dm
index 4332be7762..04f4249cfb 100644
--- a/code/modules/paperwork/paper_sticky.dm
+++ b/code/modules/paperwork/paper_sticky.dm
@@ -37,7 +37,7 @@
var/text = sanitizeSafe(input(usr, "What would you like to write?") as text, writing_space)
if(!text || thing.loc != user || (!Adjacent(user) && loc != user) || user.incapacitated())
return
- user.visible_message(SPAN_NOTICE("\The [user] jots a note down on \the [src]."))
+ user.visible_message("\The [user] jots a note down on \the [src].")
written_by = user.ckey
if(written_text)
written_text = "[written_text] [text]"
diff --git a/code/modules/persistence/graffiti.dm b/code/modules/persistence/graffiti.dm
index 2259186c71..999a82ea90 100644
--- a/code/modules/persistence/graffiti.dm
+++ b/code/modules/persistence/graffiti.dm
@@ -47,7 +47,7 @@
var/obj/item/weapon/weldingtool/welder = thing
if(welder.isOn() && welder.remove_fuel(0,user) && do_after(user, 5, src) && !QDELETED(src))
playsound(src.loc, welder.usesound, 50, 1)
- user.visible_message("\The [user] clears away some graffiti.")
+ user.visible_message("\The [user] clears away some graffiti.")
qdel(src)
else if(thing.sharp)
diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm
index af1f24449e..aba9087b75 100644
--- a/code/modules/power/fusion/core/_core.dm
+++ b/code/modules/power/fusion/core/_core.dm
@@ -67,7 +67,7 @@ GLOBAL_LIST_EMPTY(fusion_cores)
if(Output.get_pairing())
reagents.trans_to_holder(Output.reagents, Output.reagents.maximum_volume)
if(prob(5))
- visible_message("\The [src] gurgles as it exports fluid.")
+ visible_message("\The [src] gurgles as it exports fluid.")
if(owned_field)
@@ -131,7 +131,7 @@ GLOBAL_LIST_EMPTY(fusion_cores)
/obj/machinery/power/fusion_core/attack_hand(var/mob/user)
if(!Adjacent(user)) // As funny as it was for the AI to hug-kill the tokamak field from a distance...
return
- visible_message("\The [user] hugs \the [src] to make it feel better!")
+ visible_message("\The [user] hugs \the [src] to make it feel better!")
if(owned_field)
Shutdown()
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
index f7e6018448..cde88d74b8 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
@@ -27,14 +27,14 @@
to_chat(user, "You need at least three hundred units of material to form a fuel rod.")
return 1
var/datum/reagent/R = thing.reagents.reagent_list[1]
- visible_message("\The [src] compresses the contents of \the [thing] into a new fuel assembly.")
+ visible_message("\The [src] compresses the contents of \the [thing] into a new fuel assembly.")
var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), R.id, R.color)
thing.reagents.remove_reagent(R.id, R.volume)
user.put_in_hands(F)
else if(istype(thing, /obj/machinery/power/supermatter))
var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), "supermatter")
- visible_message("\The [src] compresses \the [thing] into a new fuel assembly.")
+ visible_message("\The [src] compresses \the [thing] into a new fuel assembly.")
qdel(thing)
user.put_in_hands(F)
return 1
@@ -52,6 +52,7 @@
if(istype(thing, /obj/item/stack/material))
var/obj/item/stack/material/M = thing
var/datum/material/mat = M.get_material()
+<<<<<<< HEAD
if(!blitzprogress)
if(!mat.is_fusion_fuel)
to_chat(user, "It would be pointless to make a fuel rod out of [mat.use_name].")
@@ -83,6 +84,29 @@
else
to_chat(user, "A blitz rod is currently in progress! Either add 25 phoron sheets to complete it, or eject the supermatter sheet!")
return
+||||||| parent of e4b8407fdb... Merge pull request #10908 from MarinaGryphon/spannening
+ if(!mat.is_fusion_fuel)
+ to_chat(user, "It would be pointless to make a fuel rod out of [mat.use_name].")
+ return
+ if(M.get_amount() < FUSION_ROD_SHEET_AMT)
+ to_chat(user, "You need at least 25 [mat.sheet_plural_name] to make a fuel rod.")
+ return
+ var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), mat.name)
+ visible_message("\The [src] compresses the [mat.use_name] into a new fuel assembly.")
+ M.use(FUSION_ROD_SHEET_AMT)
+ user.put_in_hands(F)
+=======
+ if(!mat.is_fusion_fuel)
+ to_chat(user, "It would be pointless to make a fuel rod out of [mat.use_name].")
+ return
+ if(M.get_amount() < FUSION_ROD_SHEET_AMT)
+ to_chat(user, "You need at least 25 [mat.sheet_plural_name] to make a fuel rod.")
+ return
+ var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), mat.name)
+ visible_message("\The [src] compresses the [mat.use_name] into a new fuel assembly.")
+ M.use(FUSION_ROD_SHEET_AMT)
+ user.put_in_hands(F)
+>>>>>>> e4b8407fdb... Merge pull request #10908 from MarinaGryphon/spannening
else if(do_special_fuel_compression(thing, user))
return
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
index 19179107c9..5e0122ce04 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
@@ -61,9 +61,9 @@ GLOBAL_LIST_EMPTY(fuel_injectors)
//CHOMPEdit End
if(cur_assembly)
cur_assembly.forceMove(get_turf(src))
- visible_message("\The [user] swaps \the [src]'s [cur_assembly] for \a [W].")
+ visible_message("\The [user] swaps \the [src]'s [cur_assembly] for \a [W].")
else
- visible_message("\The [user] inserts \a [W] into \the [src].")
+ visible_message("\The [user] inserts \a [W] into \the [src].")
user.drop_from_inventory(W)
W.forceMove(src)
@@ -104,7 +104,7 @@ GLOBAL_LIST_EMPTY(fuel_injectors)
if(cur_assembly)
cur_assembly.forceMove(get_turf(src))
user.put_in_hands(cur_assembly)
- visible_message("\The [user] removes \the [cur_assembly] from \the [src].")
+ visible_message("\The [user] removes \the [cur_assembly] from \the [src].")
cur_assembly = null
return
else
diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm
index 213b37d01a..5c9031a831 100644
--- a/code/modules/power/singularity/generator.dm
+++ b/code/modules/power/singularity/generator.dm
@@ -32,7 +32,7 @@
if(W.is_screwdriver())
panel_open = !panel_open
playsound(src, W.usesound, 50, 1)
- visible_message("\The [user] adjusts \the [src]'s mechanisms.")
+ visible_message("\The [user] adjusts \the [src]'s mechanisms.")
if(panel_open && do_after(user, 30))
to_chat(user, "\The [src] looks like it could be modified.")
if(panel_open && do_after(user, 80 * W.toolspeed)) // We don't have skills, so a delayed hint for engineers will have to do for now. (Panel open check for sanity)
@@ -41,10 +41,10 @@
else
to_chat(user, "\The [src]'s mechanisms look secure.")
if(istype(W, /obj/item/weapon/smes_coil/super_io) && panel_open)
- visible_message("\The [user] begins to modify \the [src] with \the [W].")
+ visible_message("\The [user] begins to modify \the [src] with \the [W].")
if(do_after(user, 300))
user.drop_from_inventory(W)
- visible_message("\The [user] installs \the [W] onto \the [src].")
+ visible_message("\The [user] installs \the [W] onto \the [src].")
qdel(W)
var/turf/T = get_turf(src)
var/new_machine = /obj/machinery/particle_smasher
diff --git a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
index adff836cee..44e5c5d4fc 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
@@ -174,7 +174,7 @@
recipes = typesof(/datum/particle_smasher_recipe)
if(!target) // You are just blasting an empty machine.
- visible_message("\The [src] shudders.")
+ visible_message("\The [src] shudders.")
update_icon()
return
diff --git a/code/modules/projectiles/guns/magnetic/bore.dm b/code/modules/projectiles/guns/magnetic/bore.dm
index eea444fbf6..3d52f5737e 100644
--- a/code/modules/projectiles/guns/magnetic/bore.dm
+++ b/code/modules/projectiles/guns/magnetic/bore.dm
@@ -63,7 +63,7 @@
if(removing)
user.put_in_hands(removing)
- user.visible_message("\The [user] removes \the [removing] from \the [src].")
+ user.visible_message("\The [user] removes \the [removing] from \the [src].")
playsound(src, 'sound/machines/click.ogg', 10, 1)
update_icon()
return
@@ -91,7 +91,7 @@
to_chat(user, "\The [src] has no manipulator installed.")
return
user.put_in_hands(manipulator)
- user.visible_message("\The [user] levers \the [manipulator] from \the [src].")
+ user.visible_message("\The [user] levers \the [manipulator] from \the [src].")
playsound(src, thing.usesound, 50, 1)
mat_cost = initial(mat_cost)
manipulator = null
@@ -107,7 +107,7 @@
user.drop_from_inventory(manipulator, src)
playsound(src, 'sound/machines/click.ogg', 10,1)
mat_cost = initial(mat_cost) / (2*manipulator.rating)
- user.visible_message("\The [user] slots \the [manipulator] into \the [src].")
+ user.visible_message("\The [user] slots \the [manipulator] into \the [src].")
update_icon()
update_rating_mod()
return
@@ -143,7 +143,7 @@
mat_storage += (SHEET_MATERIAL_AMOUNT/2*0.8) //two plasma ores needed per sheet, some inefficiency for not using refined product
success = TRUE
if(success)
- user.visible_message("\The [user] loads \the [src] with \the [M].")
+ user.visible_message("\The [user] loads \the [src] with \the [M].")
playsound(src, 'sound/weapons/flipblade.ogg', 50, 1)
update_icon()
return
diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm
index 4428d6b0dc..05564efacd 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic.dm
@@ -151,7 +151,7 @@
cell = thing
user.drop_from_inventory(cell, src)
playsound(src, 'sound/machines/click.ogg', 10, 1)
- user.visible_message("\The [user] slots \the [cell] into \the [src].")
+ user.visible_message("\The [user] slots \the [cell] into \the [src].")
update_icon()
return
@@ -160,7 +160,7 @@
to_chat(user, "\The [src] has no capacitor installed.")
return
user.put_in_hands(capacitor)
- user.visible_message("\The [user] unscrews \the [capacitor] from \the [src].")
+ user.visible_message("\The [user] unscrews \the [capacitor] from \the [src].")
playsound(src, thing.usesound, 50, 1)
capacitor = null
update_icon()
@@ -174,7 +174,7 @@
user.drop_from_inventory(capacitor, src)
playsound(src, 'sound/machines/click.ogg', 10, 1)
power_per_tick = (power_cost*0.15) * capacitor.rating
- user.visible_message("\The [user] slots \the [capacitor] into \the [src].")
+ user.visible_message("\The [user] slots \the [capacitor] into \the [src].")
update_icon()
return
@@ -195,7 +195,7 @@
loaded = new load_type(src, 1)
ammo.use(1)
- user.visible_message("\The [user] loads \the [src] with \the [loaded].")
+ user.visible_message("\The [user] loads \the [src] with \the [loaded].")
playsound(src, 'sound/weapons/flipblade.ogg', 50, 1)
update_icon()
return
@@ -215,7 +215,7 @@
if(removing)
removing.forceMove(get_turf(src))
user.put_in_hands(removing)
- user.visible_message("\The [user] removes \the [removing] from \the [src].")
+ user.visible_message("\The [user] removes \the [removing] from \the [src].")
playsound(src, 'sound/machines/click.ogg', 10, 1)
update_icon()
return
diff --git a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm
index 8476e28bee..5014b52718 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm
@@ -17,19 +17,19 @@
to_chat(user, "You need at least 5 [reinforcing.singular_name]\s for this task.")
return
reinforcing.use(5)
- user.visible_message("\The [user] shapes some steel sheets around \the [src] to form a body.")
+ user.visible_message("\The [user] shapes some steel sheets around \the [src] to form a body.")
increment_construction_stage()
return
if(istype(thing, /obj/item/weapon/tape_roll) && construction_stage == 2)
- user.visible_message("\The [user] secures \the [src] together with \the [thing].")
+ user.visible_message("\The [user] secures \the [src] together with \the [thing].")
increment_construction_stage()
return
if(istype(thing, /obj/item/pipe) && construction_stage == 3)
user.drop_from_inventory(thing)
qdel(thing)
- user.visible_message("\The [user] jams \the [thing] into \the [src].")
+ user.visible_message("\The [user] jams \the [thing] into \the [src].")
increment_construction_stage()
return
@@ -44,7 +44,7 @@
to_chat(user, "You need more fuel!")
return
- user.visible_message("\The [user] welds the barrel of \the [src] into place.")
+ user.visible_message("\The [user] welds the barrel of \the [src] into place.")
playsound(src, 'sound/items/Welder2.ogg', 100, 1)
increment_construction_stage()
return
@@ -55,19 +55,19 @@
to_chat(user, "You need at least 5 lengths of cable for this task.")
return
cable.use(5)
- user.visible_message("\The [user] wires \the [src].")
+ user.visible_message("\The [user] wires \the [src].")
increment_construction_stage()
return
if(istype(thing, /obj/item/weapon/smes_coil) && construction_stage >= 6 && construction_stage <= 8)
- user.visible_message("\The [user] installs \a [thing] into \the [src].")
+ user.visible_message("\The [user] installs \a [thing] into \the [src].")
user.drop_from_inventory(thing)
qdel(thing)
increment_construction_stage()
return
if(thing.is_screwdriver() && construction_stage >= 9)
- user.visible_message("\The [user] secures \the [src] and finishes it off.")
+ user.visible_message("\The [user] secures \the [src] and finishes it off.")
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
var/obj/item/weapon/gun/magnetic/coilgun = new(loc)
var/put_in_hands
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index 1f292e31e2..172c7d7383 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -674,7 +674,7 @@
if(result == PROJECTILE_FORCE_MISS)
if(!silenced)
- target_mob.visible_message("\The [src] misses \the [target_mob] narrowly!")
+ target_mob.visible_message("\The [src] misses \the [target_mob] narrowly!")
playsound(target_mob, "bullet_miss", 75, 1)
return FALSE
diff --git a/code/modules/projectiles/targeting/targeting_overlay.dm b/code/modules/projectiles/targeting/targeting_overlay.dm
index cea545ce25..67525bdc5b 100644
--- a/code/modules/projectiles/targeting/targeting_overlay.dm
+++ b/code/modules/projectiles/targeting/targeting_overlay.dm
@@ -217,7 +217,7 @@
if(istype(aiming_with, /obj/item/weapon/gun))
playsound(owner, 'sound/weapons/TargetOff.ogg', 50,1)
if(!no_message)
- owner.visible_message("\The [owner] lowers \the [aiming_with].")
+ owner.visible_message("\The [owner] lowers \the [aiming_with].")
aiming_with = null
aiming_at.aimed -= src
diff --git a/code/modules/reagents/machinery/distillery.dm b/code/modules/reagents/machinery/distillery.dm
index c9679ccec9..6e0ad4d7c0 100644
--- a/code/modules/reagents/machinery/distillery.dm
+++ b/code/modules/reagents/machinery/distillery.dm
@@ -146,7 +146,7 @@
to_chat(user, "You press \the [src]'s chamber agitator button.")
if(on)
- visible_message("\The [src] rattles to life.")
+ visible_message("\The [src] rattles to life.")
reagents.handle_reactions()
else
spawn(1 SECOND)
@@ -316,7 +316,7 @@
if(target_temp == round(current_temp, 1.0))
current_temp = target_temp // Hard set it so we don't need to worry about exact decimals any more, after we've been keeping track of it all this time
playsound(src, 'sound/machines/ping.ogg', 50, 0)
- src.visible_message("\The [src] pings as it reaches the target temperature.")
+ src.visible_message("\The [src] pings as it reaches the target temperature.")
else if(connected_port && avg_pressure > 1000)
current_temp = round((current_temp + avg_temp) / 2)
diff --git a/code/modules/reagents/reagents/medicine.dm b/code/modules/reagents/reagents/medicine.dm
index fc21e22589..b6990ac5a2 100644
--- a/code/modules/reagents/reagents/medicine.dm
+++ b/code/modules/reagents/reagents/medicine.dm
@@ -354,7 +354,7 @@
var/obj/item/stack/medical/M = C.upgrade_stack(to_produce)
if(M && M.amount)
- holder.my_atom.visible_message("\The [packname] bubbles.")
+ holder.my_atom.visible_message("\The [packname] bubbles.")
remove_self(to_produce * 5)
/datum/reagent/cryoxadone
@@ -1289,7 +1289,7 @@
var/obj/item/stack/medical/M = C.upgrade_stack(to_produce)
if(M && M.amount)
- holder.my_atom.visible_message("\The [packname] bubbles.")
+ holder.my_atom.visible_message("\The [packname] bubbles.")
remove_self(to_produce)
/datum/reagent/sterilizine
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 610fb85e54..ae9a97c5d1 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -110,7 +110,7 @@
if(istype(I, /obj/item/weapon/material/ashtray))
var/obj/item/weapon/material/ashtray/A = I
if(A.contents.len > 0)
- user.visible_message("\The [user] empties \the [A.name] into [src].")
+ user.visible_message("\The [user] empties \the [A] into [src].")
for(var/obj/item/O in A.contents)
O.forceMove(src)
A.update_icon()
diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm
index ad3fff29dd..d0e39c920d 100644
--- a/code/modules/resleeving/machines.dm
+++ b/code/modules/resleeving/machines.dm
@@ -389,7 +389,7 @@
var/obj/item/stack/material/S = W
if(!(S.material.name in stored_material))
- to_chat(user, "\the [src] doesn't accept [S.material]!")
+ to_chat(user, "\The [src] doesn't accept [S.material]!")
return
var/amnt = S.perunit
diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm
index 3643e00880..53790689a9 100644
--- a/code/modules/shieldgen/emergency_shield.dm
+++ b/code/modules/shieldgen/emergency_shield.dm
@@ -24,7 +24,7 @@
/obj/machinery/shield/proc/check_failure()
if (src.health <= 0)
- visible_message("\The [src] dissipates!")
+ visible_message("\The [src] dissipates!")
qdel(src)
return
diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm
index 47cba8bf46..8f6a2e5278 100644
--- a/code/modules/tables/tables.dm
+++ b/code/modules/tables/tables.dm
@@ -110,7 +110,7 @@ var/list/table_icon_cache = list()
return 1
if(carpeted && W.is_crowbar())
- user.visible_message("\The [user] removes the carpet from \the [src].",
+ user.visible_message("\The [user] removes the carpet from \the [src].",
"You remove the carpet from \the [src].")
new carpeted_type(loc)
carpeted = 0
@@ -120,7 +120,7 @@ var/list/table_icon_cache = list()
if(!carpeted && material && istype(W, /obj/item/stack/tile/carpet))
var/obj/item/stack/tile/carpet/C = W
if(C.use(1))
- user.visible_message("\The [user] adds \the [C] to \the [src].",
+ user.visible_message("\The [user] adds \the [C] to \the [src].",
"You add \the [C] to \the [src].")
carpeted = 1
carpeted_type = W.type
@@ -151,7 +151,7 @@ var/list/table_icon_cache = list()
playsound(src, F.usesound, 50, 1)
if(!do_after(user, 20 * F.toolspeed) || !F.remove_fuel(1, user))
return
- user.visible_message("\The [user] repairs some damage to \the [src].",
+ user.visible_message("\The [user] repairs some damage to \the [src].",
"You repair some damage to \the [src].")
health = max(health+(maxhealth/5), maxhealth) // 20% repair per application
return 1
@@ -191,7 +191,7 @@ var/list/table_icon_cache = list()
src.break_to_parts()
user.do_attack_animation(src)
return 1
- visible_message("\The [user] scratches at \the [src]!")
+ visible_message("\The [user] scratches at \the [src]!")
return ..()
/obj/structure/table/MouseDrop_T(obj/item/stack/material/what)
@@ -260,14 +260,14 @@ var/list/table_icon_cache = list()
if(manipulating) return M
manipulating = 1
- user.visible_message("\The [user] begins removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.",
+ user.visible_message("\The [user] begins removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.",
"You begin removing the [type_holding] holding \the [src]'s [M.display_name] [what] in place.")
if(sound)
playsound(src, sound, 50, 1)
if(!do_after(user, delay))
manipulating = 0
return M
- user.visible_message("\The [user] removes the [M.display_name] [what] from \the [src].",
+ user.visible_message("\The [user] removes the [M.display_name] [what] from \the [src].",
"You remove the [M.display_name] [what] from \the [src].")
new M.stack_type(src.loc)
manipulating = 0
@@ -282,13 +282,13 @@ var/list/table_icon_cache = list()
/obj/structure/table/proc/dismantle(obj/item/W, mob/user)
if(manipulating) return
manipulating = 1
- user.visible_message("\The [user] begins dismantling \the [src].",
+ user.visible_message("\The [user] begins dismantling \the [src].",
"You begin dismantling \the [src].")
playsound(src, W.usesound, 50, 1)
if(!do_after(user, 20 * W.toolspeed))
manipulating = 0
return
- user.visible_message("\The [user] dismantles \the [src].",
+ user.visible_message("\The [user] dismantles \the [src].",
"You dismantle \the [src].")
new /obj/item/stack/material/steel(src.loc)
qdel(src)
diff --git a/code/modules/tgui/modules/ntos-only/cardmod.dm b/code/modules/tgui/modules/ntos-only/cardmod.dm
index f96772626e..fc77417996 100644
--- a/code/modules/tgui/modules/ntos-only/cardmod.dm
+++ b/code/modules/tgui/modules/ntos-only/cardmod.dm
@@ -152,7 +152,7 @@
to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.")
return
else
- computer.visible_message("\The [computer] prints out paper.")
+ computer.visible_message("\The [computer] prints out paper.")
else
var/contents = {"