diff --git a/.travis.yml b/.travis.yml
index 64f2dcd9fa5..eae38d1fd8d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -31,6 +31,7 @@ script:
- shopt -s globstar
- (! grep 'step_[xy]' maps/**/*.dmm)
- (! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano)
+ - (! grep -E "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm)
- (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting 1277 or less)"; [ $num -le 1277 ])
- md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *baystation12.int"
- md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml"
diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm
index 2ff6c78f945..6c5bf21c321 100644
--- a/code/ATMOSPHERICS/pipes.dm
+++ b/code/ATMOSPHERICS/pipes.dm
@@ -91,7 +91,7 @@
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- user << "You begin to unfasten \the [src]..."
if (do_after(user, 40))
user.visible_message( \
"\The [user] unfastens \the [src].", \
diff --git a/code/datums/diseases/alien_embryo.dm b/code/datums/diseases/alien_embryo.dm
index 488d43efa3e..4d841e49daf 100644
--- a/code/datums/diseases/alien_embryo.dm
+++ b/code/datums/diseases/alien_embryo.dm
@@ -66,7 +66,7 @@
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(2))
- affected_mob << "Your stomach hurts."
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()
diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm
index c4784f51991..45a29cddc67 100644
--- a/code/datums/diseases/brainrot.dm
+++ b/code/datums/diseases/brainrot.dm
@@ -49,7 +49,7 @@
affected_mob.adjustToxLoss(4)
affected_mob.updatehealth()
if(prob(2))
- affected_mob << "Your head hurts." */
if(prob(15) && affected_mob.getBrainLoss()<=98) //shouldn't retard you to death now
affected_mob.adjustBrainLoss(3)
affected_mob.updatehealth()
diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm
index 86b88d5fcb0..2a43d142ece 100644
--- a/code/datums/diseases/cold9.dm
+++ b/code/datums/diseases/cold9.dm
@@ -16,7 +16,7 @@
if(2)
affected_mob.bodytemperature -= 10
if(prob(1) && prob(10))
- affected_mob << "You feel better."
cure()
return
if(prob(1))
diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index b562780aea3..d29722a9f34 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -159,7 +159,7 @@
precision = max(rand(1,100)*bagholding.len,100)
if(istype(teleatom, /mob/living))
var/mob/living/MM = teleatom
- MM << "The Bluespace interface on your [teleatom] interferes with the teleport!"
return 1
/datum/teleport/instant/science/teleportChecks()
diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index 1b03c2e11e6..95a58e2ea5f 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -342,7 +342,7 @@ var/global/datum/controller/gameticker/ticker
if(!delay_end)
world.Reboot()
else
- world << "An admin has delayed the round end"
else
world << "An admin has delayed the round end"
diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm
index b7f98667dce..c9182586c8c 100644
--- a/code/game/machinery/wall_frames.dm
+++ b/code/game/machinery/wall_frames.dm
@@ -35,14 +35,14 @@
var/turf/loc = get_turf(usr)
var/area/A = loc.loc
if (!istype(loc, /turf/simulated/floor))
- usr << "\The [src] Alarm cannot be placed on this spot."
return
if (A.requires_power == 0 || A.name == "Space")
- usr << "\The [src] Alarm cannot be placed in this area."
return
if(gotwallitem(loc, ndir))
- usr << ""
+ usr << "There's already an item on this wall!"
return
var/obj/machinery/M = new build_machine_type(loc, ndir, 1)
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 31c1d60e563..8d82ffc8d1e 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -28,7 +28,7 @@
if(istype(W,/obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if (get_amount() < 1 || CC.get_amount() < 5)
- user << "You need five lengths of coil and one sheet of glass to make wired glass."
return
CC.use(5)
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 365c62d2a9b..c4fdc1df9f8 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -149,7 +149,7 @@
user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.")
if(do_after(user, 40))
if(!src || !WT.isOn()) return
- user << "You welded the [glass] plating off!"
var/M = text2path("/obj/item/stack/material/[glass]")
new M(src.loc, 2)
glass = 0
@@ -157,18 +157,18 @@
user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.")
if(do_after(user, 40))
if(!src || !WT.isOn()) return
- user << "You welded the glass panel out!"
new /obj/item/stack/material/glass/reinforced(src.loc)
glass = 0
else if(!anchored)
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
if(do_after(user, 40))
if(!src || !WT.isOn()) return
- user << "You dissasembled the airlock assembly!"
new /obj/item/stack/material/steel(src.loc, 4)
qdel (src)
else
- user << "You need more welding fuel."
return
else if(istype(W, /obj/item/weapon/wrench) && state == 0)
@@ -180,7 +180,7 @@
if(do_after(user, 40))
if(!src) return
- user << "You [anchored? "un" : ""]secured the airlock assembly!"
anchored = !anchored
else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored)
@@ -200,7 +200,7 @@
if(do_after(user, 40))
if(!src) return
- user << "You cut the airlock wires.!"
new/obj/item/stack/cable_coil(src.loc, 1)
src.state = 0
@@ -212,7 +212,7 @@
if(!src) return
user.drop_item()
W.loc = src
- user << "You installed the airlock electronics!"
src.state = 2
src.name = "Near finished Airlock Assembly"
src.electronics = W
@@ -229,7 +229,7 @@
if(do_after(user, 40))
if(!src) return
- user << "You removed the airlock electronics!"
src.state = 1
src.name = "Wired Airlock Assembly"
electronics.loc = src.loc
@@ -262,11 +262,11 @@
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 )
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
- user << "Now finishing the airlock."
if(do_after(user, 40))
if(!src) return
- user << "You finish the airlock!"
var/path
if(istext(glass))
path = text2path("/obj/machinery/door/airlock/[glass]")
diff --git a/code/modules/ghosttrap/trap.dm b/code/modules/ghosttrap/trap.dm
index 7da10319043..ee96fac8f28 100644
--- a/code/modules/ghosttrap/trap.dm
+++ b/code/modules/ghosttrap/trap.dm
@@ -107,7 +107,7 @@ proc/populate_ghost_traps()
ghost_trap_role = "Plant"
/datum/ghosttrap/plant/welcome_candidate(var/mob/target)
- target << "You awaken slowly, stirring into sluggish motion as the air caresses you."
// This is a hack, replace with some kind of species blurb proc.
if(istype(target,/mob/living/carbon/alien/diona))
target << "You are \a [target], one of a race of drifting interstellar plantlike creatures that sometimes share their seeds with human traders."
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 37c1d86881d..22a5fd2b7b7 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -445,7 +445,7 @@
else if(exhaled_pp > safe_exhaled_max * 0.7)
if (!co2_alert || prob(1))
var/word = pick("dizzy","short of breath","faint","momentarily confused")
- src << "You feel [word]."
//scale linearly from 0 to 1 between safe_exhaled_max and safe_exhaled_max*0.7
var/ratio = 1.0 - (safe_exhaled_max - exhaled_pp)/(safe_exhaled_max*0.3)
@@ -459,7 +459,7 @@
else if(exhaled_pp > safe_exhaled_max * 0.6)
if (prob(0.3))
var/word = pick("a little dizzy","short of breath")
- src << "You feel [word]."
else
co2_alert = 0
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 9e1c371c94c..fa143bfb7e6 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -787,7 +787,7 @@ default behaviour is:
inertia_dir = 1
else if(y >= world.maxy -TRANSITIONEDGE)
inertia_dir = 2
- src << "Something you are carrying is preventing you from leaving."
return
..()
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index bc9f04bea0d..0eb187213df 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -305,7 +305,7 @@
purge = 3
adjustBruteLoss(damage)
else
- usr << "This weapon is ineffective, it does no damage."
visible_message("\The [src] has been attacked with \the [O] by [user].")
user.do_attack_animation(src)
diff --git a/code/modules/spells/aoe_turf/conjure/conjure.dm b/code/modules/spells/aoe_turf/conjure/conjure.dm
index 6dff0fdb65d..1302513bfeb 100644
--- a/code/modules/spells/aoe_turf/conjure/conjure.dm
+++ b/code/modules/spells/aoe_turf/conjure/conjure.dm
@@ -45,7 +45,7 @@ How they spawn stuff is decided by behaviour vars, which are explained below
var/atom/summoned_object
if(ispath(summoned_object_type,/turf))
if(istype(get_turf(user),/turf/simulated/shuttle) || istype(spawn_place, /turf/simulated/shuttle))
- user << ""
+ user << "You can't build things on shuttles!"
continue
spawn_place.ChangeTurf(summoned_object_type)
summoned_object = spawn_place